![]() |
學校地址:湖南省 長沙市 雨花區 車站南路紅花坡路口 |
![]() |
學校地址:湖南省 長沙市 雨花區 車站南路紅花坡路口 |
VMware,鼎鼎大名的虛擬機軟件,沒有人不知道吧?當然,在Linux下使用虛擬機軟件,并不一定需要使用VMWare,Xen也是非常不錯的選擇,有很多評測就認為XEN的表現優于VMware.可惜的是Xen不支持安裝Windows之類的OS.
VMware里的客戶操作系統(Guest operating system),其網絡連接方式允許是:橋接方式(Bridged network)、地址轉換方式(NAT network),單獨主機方式(Host only),以及自定義方式。
其中,橋接方式相當于將虛擬機上的操作系統直接接入到你所在的局網的交換機,你可以為它的網卡綁定一個IP,也可以讓它通過你網絡里的DHCP獲得。這種方式是我們使用 為普遍的方式。在這種方式下,從局域網上看來,虛擬機就是一臺真實的機器。
地址轉換方式下也允許客戶操作系統訪問到外部網絡,與上述方式不同的是,在這種方式下,宿主機和虛擬機之間構成了一個單獨的局網,虛擬機通過宿主機提供的NAT訪問到宿主機接觸到的實際網絡。對于宿主機所在的網絡來說,它們看不到虛擬機的存在。
關于網絡連接方式,不是本文要介紹的內容。實際上本文只是要介紹一個簡單的方法,當我們的虛擬機使用“橋接”方式,在宿主機上存在多塊網卡的情況下,怎樣將虛擬機“橋接”到外部網絡。
在VMWare安裝的時候,我們運行:
SuSE-Brooks:/ # vmware-config.pl
該命令將通過提問的方式依次配置好各個環節,其中括宿主機將使用的網絡類型。當我們選擇“橋接”方式時,它要求我們給出橋接所使用到的宿主機上的網卡。在我的這臺本子上,存在了兩塊網卡:eth0和eth1,加上lo,就是3塊。如果將PPP撥通,就有了4塊。其中,eth0是100M的局網網卡, eth1是802.11g無線網卡。在家的時候,我使用eth1;在公司的時候,我使用桌面上提供的網線連接eth0.如果我們在配置vmware的時候指定了其中一塊網卡,比如eth0,那么當我回到家后使用eth1的時候,我怎樣才能將我的vmware上的虛擬機bridge出去呢?讓我們來看下 /etc/init.d/vmware都啟動了一些什么,腳本就不看了,我們看看內存里有些什么吧。
SuSE-Brooks:/ # ps aux |grep vmnet
root 3548 0.0 0.0 1564 188 ? Ss Oct11 0:00 /usr/bin/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0
root 5566 0.0 0.0 2864 736 pts/0 S+ 00:19 0:00 grep vmnet
顯然,vmware通過/usr/bin/vmnet-bridge這個命令來指定我們橋接的時候使用的網卡。上面的結果,是使用的eth0.知道這個了就好辦了,如果我們要使用eth1,那么:
SuSE-Brooks:/ # kill 3548
SuSE-Brooks:/ # /usr/bin/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth1
即可。試試看,是不是已經能夠訪問eth1所在的網絡了?別忘記需要重新啟動虛擬機的網絡。
|