Sunday, June 29, 2008

FreeBSD 的 拉雞雞 (LAGG) 網路介面

拉雞雞 (lagg) 功能的出現, 是為了要對網路卡的 bundle (Cisco EtherChannel 或是 IEEE 802.3ad) 以及 failover 提供更好的支援.

以前曾花過很大的心思尋找 DELL 機器在 Windows 系統內 NIC Teaming 在 FreeBSD 系統裡面相對應的功能. 在拉雞雞功能出現之前, 有很多方法也有很多旁門左道可以解, 不過都挺麻煩的. 拉雞雞的出現, 讓管機器的人可以很容易的找到一種不用在網路出事的時候像是雞雞被拉到一樣立刻哀號的方法.

詳細的用法在 FreeBSD 的文件裡面有寫到, 下面是我用來備忘的... 是單純的 failover (NIC teaming) 的作法.

在 /etc/rc.conf 裡面, 網路的設定改成這樣 (我的系統是 em0 跟 em1 兩張網路卡)
cloned_interfaces="lagg0"
ifconfig_em0="up"
ifconfig_em1="up"
ifconfig_lagg0="laggproto failover laggport em0 laggport em1 10.48.120.162 netmask 255.255.255.0"

這邊的 10.48.120.162 就是我機器的 IP, 而 em0 跟 em1 就是兩張要 team 起來的介面卡.

Monday, June 9, 2008

聯合航空的香蕉又沒了

剛剛搭 UA 飛 TPE-SFO 再轉國內線, 發現 TPE-SFO 機上兩餐中間的點心小餐盒裡香蕉又不見了. 以往的經驗小餐盒裡面會有「速泡麵, 甜餅乾, 香蕉」各一, 不過最近發現 TPE-SFO 來回的其中一程香蕉會消失. 這次果然也消失了! 希望回程的小餐盒裡有香蕉可以吃啊, 不要再消失了... 飛的好餓啊~~~ XD

話說自從 UA 把 TPE-NRT 砍掉以後, TPE-SFO 就一直很熱們, 本來到 NRT 去轉飛的現在都要到 SFO 轉飛, 今天還遇到全部搭 E+ 的旅行團耶! 銀行出遊果然就是比較闊氣!

離開機場在 Freeway 上開一開看到車禍, 車頭撞的稀巴爛, 一個女的全身是血坐在車邊一直哭... 頭還一直冒血出來! 稀巴爛的車頭旁邊有蓋一塊東西, 下面不知道是人... 嗯... 好詭異...

PS: 大約 12 小時以內都算剛剛
PS2: 如果沒看錯沒聽錯的話應該是招牌是黃色底的那個銀行的員工組團出遊
PS3: 從車尾看是歪掉的 H... 所以買車的時候自己記得啊
PS4: ... PS4 還沒上市!

Sunday, May 25, 2008

印第安那瓊斯: 水晶骷髏王國

前幾天跟我弟一起去看了「印第安那瓊斯: 水晶骷髏王國 (Indiana Jones and the Kingdom of the Crystal Skull)」這部電影. 其實這幾年已經非常少在電影院看電影, 平常大多是在亞藝租 DVD, 要不就是在飛機上看那種 Sky Premiere 的片子 :p :p

簡單的說, 看完電影有以下的感想:
1. 特效比以前好很多, 應該歸功於科技進步
2. 福伯年紀一大把了, 還是拼命三郎
3. 演到最後好像是在看 The X-Files ... XD

重點是, 威x影城的音效爆爛... 電影院不是把喇叭開非常大聲就可以說音效好啊!

Sunday, March 30, 2008

尋找 Virtual DVD-RW Driver 虛擬燒錄機

Daemon-Tools 或是 Alcohol 120% 之類的東西都可以模擬出一個 CD/DVD-ROM 然後可以把 iso image 掛上去使用.

但是現在要找的是可以模擬 CD/DVD-RW 的東西, 就是一個模擬燒錄機的軟體. 在系統裡面生出一個虛擬的磁碟機代號, 會被其他軟體認為是一台燒錄機. 往裡面寫東西的時候, 就會吐成 iso 檔案存到硬碟上... Google 老半天似乎也沒啥結果...


我已經燒出一大堆飛盤了啊... 而且每次都要花很久的時間才知道燒錄測試有沒有成功, 實在是沒本錢繼續用真的光碟片測試下去... $_$

Saturday, March 22, 2008

手癢的後果

總統大選日的夜晚當然是無聊的... 千萬不可以看電視也不可以出門, 所以就窩在家裡亂搞...
就在這種手癢忍不住要亂搞的心情之下, 把 vmware 裡面的 JUNOX 升級到 9.0R2.10 然後重開機就死在 kernel 上面了.
為什麼要升級到 9.0R2.10 呢? 其實真正的原因只是手癢想要動動看... Orz

Saturday, February 23, 2008

遠端砍 RDP 連線

有時候 rdp (遠端桌面) 連線死掉以後會連不進去, 訊息會說連線數目已滿, 這時候可以用指令遠端把死在遠端機器裡面的 rdp session 砍掉, 指令如下
查詢: qwinsa /SERVER:servername
砍連線: rwinsta {sessionname | sessionid} /SERVER:servername

Tuesday, February 12, 2008

LaFonera AP 起死回生

話說為了對付無聊的春節假期, 當然是要把 AP 帶回老家供奉好, 這樣就可以當往來親戚聊著年復一年重複話題的時候, 一邊當個待客殷勤週到的泡茶切水果小弟, 一邊上網打發無聊時光 ^_^
輕薄短小又可愛的 FON AP 當然是這種 mobility 任務的首選啦!

可惜好景不常啊, 就在某一天莫名其妙的斷電以後, 小巧可愛的 FON AP 就再起不能了. 唯一的症頭就是 power 跟 internet 燈會亮, 但是 wireless 燈不亮, 從 internet port 也是連不上. 本偽仙人鐵口直斷, 應該是 OS 掛了, boot loader 沒辦法把 OS 帶起來.

按照「這邊」的步驟, 可以連進去 RedBoot> 畫面, 接著操作 step-5 到 step-9 就可以把 OS 重新塞回去, reset 之後重新設定一些東西就又是一條好漢啦!

所以, 本次無聊的新年再一次印證一個鐵的事實:「莫名其妙斷電之後, 什麼東西都有可能出問題.」

ps: 我有 RedBoot> 的原因是之前已經幫我的 FON AP 洗過一次腦了. :p

Thursday, February 7, 2008

拜年簡訊記得署名啊...

收到好幾個沒署名的拜年手機簡訊, 從號碼根本不知道是誰發來的, 很努力的翻遍記事本或是電腦以後如果幸運的話可以查出來是誰發的, 不過通常是找不到肇事者的機率比較大. 更糟的是那種用簡訊網站發的簡訊, 有些簡訊網站帶出來的號麻查到死也不知道是誰發的.

所以, 送手機簡訊拜年記得要署名啊...

Tuesday, January 29, 2008

檜木公司的新玩意

吵了好一陣子, 也聽說有人私下把玩撫弄好久, 現在終於出了啊.... 可是時間點不好啊, 我之前要兜 SMB solution 的時候怎麼沒有呢? 呃...

很少有人家新品上架直接把整個首頁導過去, 這樣幹滿猛的啊... 話不多說, 有興趣的自己看吧. Function 面來看相當有趣, 帶有很明顯的電信風格 (猜到我講的是哪個嗎?)

Juniper Network - EX-Series Home


PS: 給迷路跳不出來的羔羊: 點選右上角那個圓形叉叉就會回到舊的首頁, 要不然從 這邊 也可以到舊的首頁~~

Friday, December 14, 2007

VMWare FreeBSD lnc0: Missed packet ...

以下要做個紀錄, 要不然每次灌東西都忘記, 一年前忘記, 一年後的現在也忘記, 每次都要拜見 Google 大神 :p

VMWare 裡面的 FreeBSD 經常網路用一用就出現 lnc0: Missed packet -- no receive buffer 的訊息, 解決方法是改 host 的 *vmx 檔案內的 ethernet0.virtualDev 這個參數 (如果沒有就自己生一個填進去)
ethernet0.virtualDev = "e1000"

這裡的 ethernet0 表示第一張網卡, ethernet1 表示第二張網卡. e1000 表示模擬 Intel EEpro/1000 這張 GE 網路卡.

Sunday, December 9, 2007

FreeBSD 上的 VLAN 設定

VLAN 的好處在於一張網卡當作多張用, 窮人家的解法... 要不然多買好幾張網卡還要買夠多 slot 的機器來插 :p

應觀眾要求, FreeBSD 6.2 上面的 802.1q VLAN 設定方式簡單記載在這邊, 設定都寫在 /etc/rc.conf 裡面

~~~~~~~~~~~~~
cloned_interfaces="vlan11 vlan12" # 生兩個 VLAN 介面
ifconfig_em0="up"
ifconfig_vlan11="inet 10.10.11.1 netmask 255.255.255.0 vlan 11 vlandev em0"
ifconfig_vlan12="inet 10.10.12.1 netmask 255.255.255.0 vlan 12 vlandev em0"
~~~~~~~~~~~~~

switch 上面再設定一下, 用 C 牌的當飯粒吧,

~~~~~~~~~~~~~
SW# conf t
SW(config)# int gi0/1
SW(config-if)# desc ## 802.1q VLAN to FreeBSD ##
SW(config-if)# switchport
SW(config-if)# switchport trunk encapsulation dot1q
SW(config-if)# switchport trunk allowed vlan 11,12
SW(config-if)# switchport mode trunk
SW(config-if)# end
SW# write
~~~~~~~~~~~~~

好哩, 搞定收工 ^_^

Tuesday, November 27, 2007

對稱路由的後記

話說昨天才寫完這個 FreeBSD 對稱路由的小帖, 今天聊天的時候就有朋友跟我抱怨他遇到某個工程師在 server 上面裝了兩個網卡, 結果每次要加新的 client 的時候都有麻煩, 我朋友身為 PM 就要為了工程師的虛弱無能到處去道歉.... XD

中文的文章 google 到的量是比較少啦, 但是既然要裝 server 那總該加減看一點東西, 不想看 man page 的話, google 上面一狗票英文文章, 文法也都寫的很簡單啊~~

Monday, November 26, 2007

FreeBSD 上的 Loopback port mapping

小公司的 NAT Server 有時候經常沒有劃分 DMZ... 可能是成本考量 (維護, 設備, 等等...). Public server 跟 LAN PC 放在一起, 撇開 Security 的問題不管 (很多小公司不管這個的), 眼前馬上會遇到的麻煩是 LAN PC 的使用者連不上這些 public server.

會有這樣的問題是因為 NAT 上面做了 port mapping (即 port redirect), 把某個 public ip 的某個 port 做對應到 LAN 裡面的某個機器的某個 port, 比如說 www.test.com 的 DNS 登記 IP 是 100.101.102.103, 而實際的網頁放在下面的 10.11.12.13 機器上. 這時候 port mapping 規則就是,
~~~~~~~~~~~~
map 100.101.102.103:80 to 10.11.12.13:80
~~~~~~~~~~~~
這時候外面的人從 Internet 連過來看網頁沒問題, 但是 LAN 裡面的人怎麼連就是連不上!

原因是因為通常 port redirect 的動作會在 NAT Server 的 external interface 上面的 inbound 做, 可是裡面的人網上連線, 只會經過 internal interface 的 inbound.

在 FreeBSD 的解決方法是利用 PF (Packet Filter) 的 Loopback RDR 方式, 以下是範例,
~~~~~~~~~~~~~~~~~~~~~~
$ExtNIC="em1" ##對外的網卡##
$ExtSRVip="100.101.102.103"
$ExtSRVport="80"
$IntNIC="em2" ##對內的網卡##
$IntSRVip="10.11.12.13"
$IntSRVport="80"
$IntNET="10.11.12.0/24" ##內部網段##

no nat on $IntNIC from $IntNIC to $IntNET
nat on $IntNIC proto tcp from $IntNET to $IntSRVip port $IntSRVport -> ($IntNIC)

rdr on $IntNIC proto tcp from $IntNET to $ExtSRVip port $ExtSRVport -> $IntSRVip port $IntSRVport
~~~~~~~~~~~~~~~~~~~~~~

FreeBSD 上的對稱路由 (Symmetric Routing)

機器上如果插兩片以上的網路卡 (NIC), 比如說同時連接兩個 ISP.

通常有個麻煩是會碰到不對稱路由 (Asymmetric Routing), 也就是從 NIC1 進來的連線, 卻是從 NIC2 回應回去. 如果上面的 ISP 有開 anti spoof 那連線就會掛掉... 解決的方法是 client 的連線從哪個網卡進來, 就從哪個網卡回應回去.

以下是用 FreeBSD 內建的 PF (Packet Filter) 達成的方法,
~~~~~~~~~~~~~
pass in quick on $NIC1 reply-to ($NIC1 $GW1) from any to ($NIC1) keep state
pass in quick on $NIC2 reply-to ($NIC2 $GW2) from any to ($NIC2) keep state
~~~~~~~~~~~~~

p.s. 這跟 policy routing 並不相同....

Monday, October 8, 2007

CHT9100 關閉開機音效與動畫

CHT9100 手機關閉開機動畫及音效方法, 用機馬編輯軟體
將 HKEY_LOCAL_MACHINE\SOFTWARE\HTC\StartupAnimation 的 Enabled 改 0 即可.

Saturday, September 22, 2007

本週末是中秋連續假期的開始

所以重灌 MS-Windows XP 以示慶祝!
喵的上完 SP2 還有 90 個 windows update 要裝... 囧rz...

重灌 MS-Windows 最重要的事情

找個 IP 分享器擋在機器前面, 直到所有的 patch 都裝好... -_-b

Friday, September 21, 2007

CHT9100 當機的原因之一

最近我的行動電話 CHT9100 狂當機, 今天終於找到原因之一了.... SD 卡片上面有壞檔!
裝到電腦讀卡機上面做一下 Check Disk 修出一大堆 FOUND.xxx 的檔案出來, 裝回手機上似乎變正常了, 觀察一陣子看看.

Monday, August 13, 2007

Wednesday, July 11, 2007

WM6 更新成功

HTC 發的 Windows Mobile 6 正式版安裝成功... 自賀一下! 這幾天密集操練看看 :p