閱讀285 返回首頁    go 技術社區[雲棲]


VMware運行Ubuntu 三種網絡連接方式:bridge、NAT、Host-Only的區別詳解

概述:

VMWare提供了三種工作模式,它們是bridged(橋接模式)、NAT(網絡地址轉換模式)和host-only(主機模式)。要想在網絡管理和維護中合理應用它們,你就應該先了解一下這三種工作模式。

1.bridged(橋接模式)

  在這種模式下,VMWare虛擬出來的操作係統就像是局域網中的一台獨立的主機,它可以訪問網內任何一台機器。

  在橋接模式下,你需要手工為虛擬係統配置IP地址、子網掩碼,而且還要和宿主機器處於同一網段,這樣虛擬係統才能和宿主機器進行通信。同時,由於這個虛擬係統是局域網中的一個獨立的主機係統,那麼就可以手工配置它的TCP/IP配置信息,以實現通過局域網的網關或路由器訪問互聯網。

  使用橋接模式的虛擬係統和宿主機器的關係,就像連接在同一個Hub上的兩台電腦。想讓它們相互通訊,你就需要為虛擬係統配置IP地址和子網掩碼,否則就無法通信。

  如果你想利用VMWare在局域網內新建一個虛擬服務器,為局域網用戶提供網絡服務,就應該選擇橋接模式。

2.host-only(主機模式)

  在某些特殊的網絡調試環境中,要求將真實環境和虛擬環境隔離開,這時你就可采用host-only模式。在host-only模式中,所有的虛擬係統是可以相互通信的,但虛擬係統和真實的網絡是被隔離開的。

  提示:在host-only模式下,虛擬係統和宿主機器係統是可以相互通信的,相當於這兩台機器通過雙絞線互連。

  在host-only模式下,虛擬係統的TCP/IP配置信息(如IP地址、網關地址、DNS服務器等),都是由VMnet1(host-only)虛擬網絡的DHCP服務器來動態分配的。

  如果你想利用VMWare創建一個與網內其他機器相隔離的虛擬係統,進行某些特殊的網絡調試工作,可以選擇host-only模式。

3.NAT(網絡地址轉換模式)

  使用NAT模式,就是讓虛擬係統借助NAT(網絡地址轉換)功能,通過宿主機器所在的網絡來訪問公網。也就是說,使用NAT模式可以實現在虛擬係統裏訪問互聯網。NAT模式下的虛擬係統的TCP/IP配置信息是由VMnet8(NAT)虛擬網絡的DHCP服務器提供的,無法進行手工修改,因此虛擬係統也就無法和本局域網中的其他真實主機進行通訊。采用NAT模式最大的優勢是虛擬係統接入互聯網非常簡單,你不需要進行任何其他的配置,隻需要宿主機器能訪問互聯網即可。

  如果你想利用VMWare安裝一個新的虛擬係統,在虛擬係統中不用進行任何手工配置就能直接訪問互聯網,建議你采用NAT模式。

  提示:以上所提到的NAT模式下的VMnet8虛擬網絡,host-only模式下的VMnet1虛擬網絡,以及bridged模式下的VMnet0虛擬網絡,都是由VMWare虛擬機自動配置而生成的,不需要用戶自行設置。VMnet8和VMnet1提供DHCP服務,VMnet0虛擬網絡則不提供。

 

這個問題一直都沒有徹底的搞清楚,心裏不是很有數,Vmware中什麼網橋,NAT啊,Hostonly什麼的,另外還有Colinux裏麵的網絡問題。總之很繁雜,搞清楚很有必要。

1.VMware網絡連接的幾種方式

        大家在安裝完虛擬機後,默認安裝了兩個虛擬網卡,VMnet1和 VMnet8,其他的未安裝(當然也可以手動安裝其他的)。其中VMnet1是host網卡,用於host方式連接網絡的。VMnet8是NAT網卡,用 於NAT方式連接網絡的。它們的IP地址是隨機生成的,如果要用虛擬機做實驗的話,最好將VMnet1到VMnet8的IP地址改掉。習慣上把 VMware虛擬網卡使用的網段“固定”,使用如下原則:VMnet1對應的網段是192.168.10.0,VMnet2對應的網段是 192.168.20.0,其他的類似。當然平常隻是隨便用用的就不用改了,能上網就行了。

         網絡連接的方式主要有:Bridged(橋接)、NAT、host(主機網絡)。

vmware中的網絡(bridge,nat) - undemon - 對自己的最佳肯定就是對自己的不斷否定   Use bridged networking(使用橋接網絡)

說明:使用VMnet0虛擬交換機,此時虛擬機相當與網絡上的一台獨立計算機與主機一樣,擁有一個獨立的IP地址。

vmware中的網絡(bridge,nat) - undemon - 對自己的最佳肯定就是對自己的不斷否定

使用橋接方式,A,A1,A2,B可互訪。

vmware中的網絡(bridge,nat) - undemon - 對自己的最佳肯定就是對自己的不斷否定   Use network address translation(NAT)

說明:使用Vmnet8虛擬交換機,此時虛擬機可以通過主機單向網絡上的其他工作站,其他工作站不能訪問虛擬機。

vmware中的網絡(bridge,nat) - undemon - 對自己的最佳肯定就是對自己的不斷否定

使用NAT方式,A1,A2可以訪問B,但B不可以訪問A1,A2。但A,A1,A2可以互訪。

vmware中的網絡(bridge,nat) - undemon - 對自己的最佳肯定就是對自己的不斷否定    Use Host-Only networking(使用主機網絡)

說明:使用Vmnet1虛擬交換機,此時虛擬機隻能與虛擬機、主機互訪。也就是不能上Internet

vmware中的網絡(bridge,nat) - undemon - 對自己的最佳肯定就是對自己的不斷否定

使用Host方式,A,A1,A2可以互訪,但A1,A2不能訪問B,也不能被B訪問。

    實際應用:現在最普遍使用的是寬帶,使用橋接方式,主機必然可以上網,但是虛擬機上的操作係統是不可以上網的。此時你的主機就相當於A,而虛擬機就相當於 A1,除非你再向運營商(如電信,網通)申請個IP地址,顯然這是不可取 的。如果你有路由器的話,那麼就可以使用橋接方式上網,因為此時你申請的IP地址是寫在了路由器上,而不是你的機器上,這樣包括你的主機,虛擬機,也包括 連在路由器上的其他人的機器,都將可以上網,使用著由路由器自動分配的IP地址,IP地址一般是192.168.0.XXX。貌似運營商不太樂意你使用路 由器,說什麼對他們交換機的接口有損害。當然,隻要你的主機可以上網,使用NAT方式,虛擬機總是可以上網(當然不包括在你胡亂改寫IP,網關,DNS等 信息的情況下)。

    實例手動設置:假設主機的VMnet1使用網段地址為192.168.10.0,VMnet8使用網段地址為192.168.80.0,網關地址為 192.168.80.254(也就是NAT路由器地址,可自己設置,在VMnet8上),主機網卡使用地址為192.168.1.1。

一、使用橋接方式,虛擬機A1的IP地址可以設置成192.168.1.5(與主機網卡地址同網段的即可),其他的諸如網關地址,DNS,子網掩碼均與主機的相同。

二、使用NAT方式,虛擬機A1的IP地址可以設置成192.168.80.5(與VMnet8使用相同的網段),網關是NAT路由器地址,即192.168.80.524

三、使用host-only方式,虛擬機A1的IP地址可以設置成192.168.10.5(與VMnet1使用相同的網段)

說明:一般用戶不需要自己手動設置,選擇自動獲取,或開啟DHCP服務即可。

 

2.第二套說法

很多朋友都用vmware來測試不同的係統,我結合自己的經驗談一下對網絡設置的理解,不對的地方請指正。

bridge:

這種方式最簡單,直接將虛擬網卡橋接到一個物理網卡上麵,和linux下一個網卡 綁定兩個不同地址類似,實際上是將網卡設置為混雜模式,從而達到偵聽多個IP的能力。

在此種模式下,虛擬機內部的網卡(例如linux下的eth0)直接連到了物理網卡所在的網絡上,可以想象為虛擬機和host機處於對等的地位,在網絡關係上是平等的,沒有誰在誰後麵的問題。

使用這種方式很簡單,前提是你可以得到1個以上的地址。對於想進行種種網絡實驗的朋友 不太適合,因為你無法對虛擬機的網絡進行控製,它直接出去了。

nat方式:

這種方式下host內部出現了一個虛擬的網卡vmnet8(默認情況下),如果你有過 做nat服務器的經驗,這裏的vmnet8就相當於連接到內網的網卡,而虛擬機本身則相當於運 行在內網上的機器,虛擬機內的網卡(eth0)則獨立於vmnet8。

你會發現在這種方式下,vmware自帶的dhcp會默認地加載到vmnet8界麵上,這樣 虛擬機就可以使用dhcp服務。更為重要的是,vmware自帶了nat服務,提供了從vmnet8到外網的地址轉 換,所以這種情況是一個實實在在的nat服務器在運行,隻不過是供虛擬機用的。

很顯然,如果你隻有一個外網地址,此種方式很合適。

hostonly:

這應該是最為靈活的方式,有興趣的話可以進行各種網絡實驗。和nat唯一的不同的是,此 種方式下,沒有地址轉換服務,因此,模認情況下,虛擬機隻能到主機訪問,這也是hostonly的名字的意義。

默認情況下,也會有一個dhcp服務加載到vmnet1上。這樣連接到vmnet1上的虛擬機仍然可以設置成dhcp,方便係統的配置.

是不是這種方式就沒有辦法連接到外網呢,當然不是,事實上,這種方式更為靈活,你可以使用自己的方式,從而達到最理想的配置,例如:

a。使用自己dhcp服務:首先停掉vmware自帶的dhcp服務,使dhcp服務更為統一。

b。使用自己的nat,方便加入防火牆。windows host可以做nat的方法很多,簡單的如windows xp的internet共享,複雜的如windows server裏的nat服務。

c. 使用自己的防火牆。因為你可以完全控製vmnet1,你可以加入(或試驗)防火牆在vmnet1和外網的網卡間。

從以上可以看出,hostonly這種模式和普通的nat server帶整個內網上網的情形類似,因此你可以方便的進行與之有關的實驗,比如防火強的設置等。

 

3.第三套說法

VMware支持三種類型的網絡:NAT,Bridged,Host-only。

NAT

這種方式下,虛擬機的網卡連接到宿主的 VMnet8 上。此時係統的 VMWare NAT Service 服務就充當了路由器的作用,負責將虛擬機發到 VMnet8 的包進行地址轉換之後發到實際的網絡上,再將實際網絡上返回的包進行地址轉換後通過 VMnet8 發送給虛擬機。VMWare DHCP Service 負責為虛擬機提供 DHCP 服務。

vmware中的網絡(bridge,nat) - undemon - 對自己的最佳肯定就是對自己的不斷否定

Bridged

這種方式下,虛擬機就像一台真正的計算機一樣,直接連接到實際的網絡上,與宿主機沒有任何聯係。

vmware中的網絡(bridge,nat) - undemon - 對自己的最佳肯定就是對自己的不斷否定

Host-only

這種方式下,虛擬機的網卡連接到宿主的 VMnet1 上,但係統並不為虛擬機提供任何路由服務,因此虛擬機隻能和宿主機進行通信,而不能連接到實際網絡上。

vmware中的網絡(bridge,nat) - undemon - 對自己的最佳肯定就是對自己的不斷否定

 

replicate physical network connection state 選項解釋:

Select if the virtual machine uses a bridged network connection and if you use the virtual machine on a laptop or other mobile device. As you move from one wired or wireless network to another, the IP address is automatically renewed.
單機多網卡 或者 筆記本和移動設備使用虛擬機時,當在有線網絡和無線網絡切換時,勾選了Replicate physical network connection state,虛擬機網卡的ip地址會自動更新,不需要重新設置。


來源:https://www.cnblogs.com/adforce/archive/2012/03/15/2399468.html


我的Host是Windows7,安裝VMware虛擬機,在虛擬機中裝了Ubuntu10.04,首先介紹下VMware下的幾個虛擬設備: 
VMnet0:VMware用於虛擬橋接網絡下的虛擬交換機; 
VMnet1:VMware用於虛擬Host-Only網絡下的虛擬交換機; 
VMnet8:VMware用於虛擬NAT網絡下的虛擬交換機; 
VMware Network Adapter VMnet1:這是Host用於與Host-Only虛擬網絡進行通信的虛擬網卡; 
VMware Network Adapter VMnet8:這是Host用於與NAT虛擬網絡進行通信的虛擬網卡; 

一.虛擬機和虛擬網卡之間的關係 
  在使用VMware Workstation創建虛擬機時,創建的虛擬機中可以包括網卡。你可以根據需要選擇使用何種虛擬網卡,從而表明想要連接到那個虛擬交換機。在VMware Workstation中,默認有3個虛擬交換機,分別是VMnet0(使用橋接網絡)、VMnet1(僅主機網絡)和VMnet8(NAT網絡),還可以根據需要添加VMnet2~VMnet7和VMnet9等7個虛擬機交換機,而在VMware Workstation 5以後的版本中,還可以使用Team中的提供的虛擬交換機。 

二、橋接網絡(bridge) 
    在橋接模式下,VMware虛擬出來的操作係統就像是局域網中的一獨立的主機,它可以訪問網內任何一台機器。不過你需要多於一個的IP地址,並且需要手工為虛擬係統配置IP地址、子網掩碼,而且還要和宿主機器處於同一網段,這樣虛擬係統才能和宿主機器進行通信。     如果你想利用VMware在局域網內新建一個虛擬服務器,為局域網用戶提供網絡服務,就應該選擇橋接模式。可將虛擬機模擬接入主機所在的局域網。 

三、nat網絡 
  在NAT網絡中,會使用到VMnet8虛擬交換機,Host上的VMware Network Adapter VMnet8虛擬網卡被連接到VMnet8交換機上,來與Guest進行通信,但是VMware Network Adapter VMnet8虛擬網卡僅僅是用於和VMnet8網段通信用的,它並不為VMnet8網段提供路由功能,處於虛擬NAT網絡下的Guest是使用虛擬的NAT服務器連接的Internet的。 
  這時候,你的Guest和Host就可以實現互訪了,並且如果你的Host此時已經連接到了Internet,那麼你的Guest也就可以連上Internet了。那麼VMware Network Adapter VMnet8虛擬網卡在這裏扮演了一個什麼角色呢?它僅僅是為Host和NAT虛擬網絡下的Guest通信提供一個接口,所以,即便Disable掉這塊虛擬網卡,Guest仍然是可以上網的,隻是Host無法再訪問VMnet8網段而已。 
  這種方式的時候,主機需要開啟vmdhcp和vmnat服務。 
  使用NAT模式,就是讓虛擬係統借助NAT(網絡地址轉換)功能,通過宿主機器所在的網絡來訪問公網。也就是說,使用NAT模式可以實現在虛擬係統裏訪問互聯網。NAT模式下的虛擬係統的TCP/IP配置信息是由VMnet8(NAT)虛擬網絡的DHCP服務器提供的,無法進行手工修改,因此虛擬係統也就無法和本局域網中的其他真實主機進行通訊。采用NAT模式最大的優勢是虛擬係統接入互聯網非常簡單,你不需要進行任何其他的配置,隻需要宿主機器能訪問互聯網即可。     如果你想利用VMware安裝一個新的虛擬係統,在虛擬係統中不用進行任何手工配置就能直接訪問互聯網,建議你采用NAT模式。 

四、host-only 
  在某些特殊的網絡調試環境中,要求將真實環境和虛擬環境隔離開,這時你就可采用Host-only模式。在Host-only模式中,所有的虛擬係統是可以相互通信的,但虛擬係統和真實的網絡是被隔離開的。可以利用Windows XP裏麵自帶的Internet連接共享(實際上是一個簡單的路由NAT)來讓虛擬機 通過主機真實的網卡進行外網的訪問。虛擬係統的TCP/IP配置信息(如IP地址、網關地址、DNS服務器等),都是由VMnet1(Host-only)虛擬網絡的DHCP服務器來動態分配的。如果你想利用VMware創建一個與網內其他機器相隔離的虛擬係統,進行某些特殊的網絡調試工作,可以選擇Host-only模式。 

  在Host-Only網絡中,Host-Only網絡被用來設計成一個與外界隔絕的網絡,其實Host-Only網絡和NAT網絡非常相似,唯一不同的地方就是在Host-Only網絡中,沒有用到NAT服務,沒有服務器為VMnet1做路由,它當然就沒有辦法訪問Internet啦,可是如果我的Host要和Guest通信呢?怎麼辦?對了!當然就要用到VMware Network Adapter VMnet1這塊虛擬網卡了。 
  可以看到,在Host-Only網絡下,Guest的Default Gateway被設置為NULL,這是由於沒有使用虛擬NAT服務器的緣故,但是,即便使用route add命令加上某個地址做它的路由,它仍然不能訪問Internet(實際上也沒有地址可加)。這樣,我的Guest雖然沒有辦法訪問Internet,但是仍然可以和我的Host進行通信。實施上,如果我們足夠BT,也可以在Host上來為VMware Network Adapter VMnet1虛擬網卡來做路由,比如,我們可以用Windows 2000的RRAS來做,這樣的話,處於Host-Only網絡下的Guest就又可以上網了,他們隻需要使用route add命令把自己的Default Gateway改成VMware Network Adapter VMnet1網卡即可,不過這樣不推薦,也沒有必要。如果僅僅想讓虛擬機訪問互聯網,nat方式是最簡單的,基本上不需要做什麼操作,就能自動連接上。這也是默認的設置參數。 
  作為開發人員,我們通常需要主機,虛擬機,開發板 具有獨立的地址,能互相訪問。那麼我們可以使用下麵兩種網絡配置方式,bridge and host-only。 

    橋接是最簡單的方式,一般是你有一個網關,你的windows主機和你VMWare裏的各種unix/linux係統,都通過這個網關來通訊. 
     而主機方式,是在沒有網絡的情況下, windows主機操作係統能與VMWare虛擬機上的客戶操作係統正常通訊。我們從VMWare的Virtual Network Edit裏可以看出,vnet0是用來實現橋接模式的,vnet1是用來實現主機模式的。主機和客戶機是直接通過vnet1通訊的。 
     在主機方式下,windows主機操作係統不需要配置什麼了,我們打開cmd.exe,輸入ipconfig,就知道VMnet1的ip地址是什麼了,因為這個ip就是VMWare虛擬機上的客戶操作係統的網關ip地址。我的VMWare虛擬機上一般裝的是redhat,因為linux係列裏redhat是最常見的,公司用的有suse, slaceware,unix使用solaris,freeBSD。那麼我們在客戶操作係統上配置網絡,主要注意的是,網關的IP就是你在windows主機操作係統裏用ipconfig命令查看到的VMnet1的ip地址。 
     例如:我在windowsXP主機下用ipconfig看到VMnet1的IP地址是192.168.159.1,那我在redhat裏就把網關IP配置為192.168.159.1,把redhat的IP配置為192.168.159.2。我們從windowsXP主機cmd.exe裏ping 192.168.159.2,如果redhat啟動sshd服務器, 我們可以telnet 192.168.159.2 22,若連接成功則一切安裝OK,說明我們從windowsXP主機連接redhat係統沒有問題了。反之,我們怎麼從redhat係統連接windowsXP主機, 從redhat係統角度來看,VMnet1的IP地址就是windowsXP主機的地址,在redhat係統裏ping 192.168.159.1, 再telnet 192.168.159.1 139, 若連接成功則一切安裝OK,說明我們從redhat係統連接windowsXP主機沒有問題了。 
     想學習unix/linux上c/c++開發或者其它,一個好方法就是在windows係統上裝VMWare,然後在WMWare裏安裝各種unix/linux係統,通過crt、winscp等shell工具來連接unix/linux係統進行操作, 這樣既不會因為沒有windows係統而做其它事不方便,又能在一台pc機器上安裝各種unix/linux係統。 


來源:https://villasy1989.iteye.com/blog/956746




最後更新:2017-04-02 16:48:16

  上一篇:go js中window.showModalDialog各瀏覽器居中和傳參實例兼以及一些兼容性問題
  下一篇:go ASP.NET 信任級別和策略文件