主機為WindowsXP系統,VMware虛擬機器裡安裝Linux作業系統。安裝完VMware後,主機的網路連接裡面出現了兩個新的串連,即VMware Network Adapter VMnet1和VMware Network Adapter VMnet8。虛擬機器裡安裝的系統就是靠這兩個虛擬網卡來連網的。(如)
主機上類似antiarp 防火牆一定要關掉 否則虛擬機器不能上網
有以下幾種可選方法:
1、Bridged(橋接器)方式:
如果主機是通過區域網路上網的,可讓虛擬機器使用與主機網段、網關和DNS等的相同的設定,選用一個有效區域網路IP即可。
橋接方式可實現虛擬機器<--->主機 虛擬機器<---->互連網 通訊(主機與虛擬機器可看成是同一區域網路的兩台機)。但橋接需要一個不同於 原主機上的另外一個獨立的IP地址,這對於有些情況(IP和MAC綁定,網管不同意),比較難辦到。並且主機拔掉網線後,虛擬機器無法與主機通過網路的方式進行通訊。而後面幾種沒這個問題。所以不太使用橋接方式。
1)主機的IP資訊
2)設定VMware網路連接為Bridged
3)虛擬機器系統網路設定
多網卡橋接
當我有雙網卡時,雖然VMnet0:Bridged to an automatically chosen adapter(在VMware的Edit ->Virtual Network settings... 開啟Virtual Network Editor)
但是,我嘗試了一下,虛擬機器只可橋接“本地串連”(VIA網卡),不能橋接“本地串連2”(Realtek網卡)
在Virtual Network Editor -> Automatic Bridging 選項卡裡
若我們想橋接“本地串連2”(Realtek網卡)需要在“Exclude adapters" 裡add "VIA網卡”(本地串連),這樣“本地串連2”就可以橋接了。但是“本地串連”(VIA網卡)卻不可以了,即使在“Exclude adapters" 裡Remove "VIA網卡”也不行,我猜測 VMware其實只支援一個最初未被排除的網卡橋接!
沒關係,我們可以在 Virtual Network Editor -> Host Virtual Network Mapping 選項卡裡,VMnet2選擇Realtek網卡
這時,我們回到Virtual Network Editor -> Automatic Bridging 選項卡,發現VMnet0 把 Realtek網卡排除了
橋接“本地串連”(VIA網卡)時,VMware選擇VMnet0,
橋接“本地串連2”(Realtek網卡)時,VMware選擇VMnet2
虛擬機器上網路相應的設定,就可以了。
2、NAT方式:
使用VMware提供的NAT和DHCP服務,虛擬機器使用主機中的虛擬網卡VMnet8作為網關,並且TCP/IP設定需遵循程式中關於vmnet8的DHCP和NAT設定,如IP必須在其DHCP設定的StartIP和EndIP之間,網關需使用其NAT設定的Gateway IP。
NAT方式可實現虛擬機器<--->主機 通訊,但是 虛擬機器--->互連網 即只能夠虛擬機器訪問互連網,但是若想把虛擬機器作為伺服器,讓互連網訪問,不可以。
但是如果有多個網卡,虛擬機器可以不用更改設定,就可以同時訪問多個網卡串連的互連網。
1) 設定VMware 網路連接方式為NAT
2)在虛擬機器裡,linux網路設定,只需選擇自動擷取IP,就可以了!
當然也可以手動設定:
ip設定與vmnet8同網段,gateway,netmask,broadcast設定與vmnet8相同,dns設定與主機相同。
我們在主機的網路連接裡如下,沒有看到網關(如)
別急,在VMware的Edit ->Virtual Network settings... 中,有相關內容。
這些選項卡包含了VMware的很多進階設定,有興趣可以研究研究。
3.host-only方式 :
預設使用vmnet1,將虛擬機器ip設定與vmnet1同網段,gateway設定成vmnet1的ip,其餘設定與vmnet1相同,dns設定與主機相同
例如 vmnet1 ip :192.168.101.1
虛擬機器設定: ip :192.168.101.100 gateway : 192.168.101.1
這樣就實現了虛擬機器<--->主機 通訊,但是 虛擬機器<--->互連網 仍無法通訊
1)選擇VMware的Host-only
2)主機的本地串連
3)在虛擬機器linux裡,設定網路
4、共用主機的Internet串連的方式(如果主機是Win98系統可能不適用):
在主機的“本地串連”屬性的進階裡面共用Internet串連。如果選的是VMnet1虛擬網卡,則在VMware的Ethernet設定需選用Host-only;如果選VMnet8,則Ethernet設定需選用NAT。共用串連後,那個被選中的虛擬網卡的IP會預設被設為192.168.0.1(如果主機也是通過區域網路的192.168.0.1網關上網的,則需把這個虛擬網卡設定為不同的網段IP,如192.168.1.1)這時候虛擬機器裡面就可以通過把這個虛擬網卡作為網關來上網了。實際上是一個簡單的路由NAT,所以NAT方式就不討論了,我們只以Host-only為例。
共用host-only方式,可實現虛擬機器<--->主機 通訊,但是 虛擬機器--->互連網 即只能夠虛擬機器訪問互連網,但是若想把虛擬機器作為伺服器,讓互連網訪問,不可以。
1)選擇VMware的Host-only
2)設定主機的本地串連屬性
被選中的虛擬網卡的IP會預設被設為192.168.0.1,當然也可以更改。而且共用串連取消後,還會變回到共用串連前的網路設定。
在虛擬機器linux裡,設定網路:
總結:
共用串連方式和NAT方式,都可以實現虛擬機器<--->主機 , 虛擬機器--->互連網 通訊,NAT方式設定簡單,且可以實現同時訪問多個物理網卡。
橋接方式可實現虛擬機器<--->主機 虛擬機器<---->互連網 通訊,若虛擬機器作為伺服器,只有這種方式可行。但需獨立的IP給虛擬機器,且若物理網卡串連斷開,虛擬機器與主機也不能串連。
host-only方式只實現虛擬機器<--->主機 通訊 ,一般不單獨採用。
像我在虛擬機器下開發嵌入式,虛擬機器要給開發板提供NFS服務,就採用橋接方式串連嵌入式的網卡。若有時想下載點軟體,查查資料,就改用NAT方式,非常方便