2008年3月7日 星期五

Linux VMware Workstation無法對wireless裝置開啟bridge mode?

Linux上的VMware沒辦法使用wireless網卡做bridge mode,我自己試過5.5和6.0的版本都不行。找了不少資料後發現,原來是vmware-modules裡面的vmnet.ko這個網路模組的問題。

這個網路模組在處理bridge mode的source code裡面只有檢查RADIO裝置(為什麼是RADIO我沒研究)的條件句,但是卻沒有檢查wireless(802.11),的條件句。 所以想當然爾沒辦法使用wireless裝置做bridge mode。為此有人提供了一個完整的patch來修正這個問題。

以下是我在Gentoo Linux裡面使用這個patch的步驟:
  1. http://www.hauke-m.de/fileadmin/vmware/vmnet.tar下載Hauke-m修改過後的vmnet.tar(這個檔案要供奉起來了)
  2. 到/opt/vmware/workstation/lib/modules/source/目錄下
  3. 把目錄下的vmnet.tar重新命名為vmnet.tar.old(備份用)
  4. 把下載下來的vmnet.tar搬過來
  5. 重新執行vmware-config.pl並重新設定網路設定
  6. 打開vmware來試試看吧
也許有些人這樣就能用了,但是發現我遇到另外一個問題。我有eth0 <-> vmnet0和wlan0 <-> vmnet2兩個bridge設定,但是我的vmware只認得vmnet0這個bridge。

我在vmware裡面增加了兩張bridge mode的網卡,可是兩張都只對應到vmnet0,vmnet2變成孤兒了。最後沒有辦法,只好把第二張網卡設定成為NAT mode,雖然沒辦法拿到真正的實體IP,不過至少是可以透過無線網路連接上網路了。