VMware的“橋接”、“NAT”、“Host-only”上網方式的區別

來源:互聯網
上載者:User

在說到VMware的網路模型之前,先說一下VMware的幾個虛擬設備:

VMnet0:這是VMware用於虛擬橋接網路下的虛擬交換器;
VMnet1:這是VMware用於虛擬Host-Only網路下的虛擬交換器;
VMnet8:這是VMware用於虛擬NAT網路下的虛擬交換器;
VMware Network Adapter VMnet1:這是Host用於與Host-Only虛擬網路進行通訊的虛擬網卡;
VMware Network Adapter VMnet8:這是Host用於與NAT虛擬網路進行通訊的虛擬網卡;


一、橋接網路:
在橋接模式下,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系統。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.