关于VMware虚拟机的上网
轉載請注明出處!本文連接及作者。不得用于商業用途!
http://hi.baidu.com/quantumcloud/blog/item/9156a6c584996c179c163d5b.html
BY:aiminickwong
最近我遇到很多朋友在問我vmware workstation 版本虛擬機的上網問題,在這里,我就針對這個問題做一些說明。
為了朋友們更好的理解VMware Workstation 版本虛擬機是如何連接網絡的,下面我就對VMware的3種網絡模型做一下相關的介紹。
1.首先,介紹一下VMware的幾個虛擬的網絡設備:
VMnet0?:
在橋接模式下的虛擬交換機
VMnet1?:
在Host-Only模式下的虛擬交換機
VMnet8?:
在NAT模式下的虛擬交換機
VMnet Network Adapter VMnet1?:
在Host-Only模式下,Host與Host-Only虛擬網絡進行通信的虛擬網卡(這是在物理機上的虛擬網卡,跟虛擬機上的虛擬網卡不一樣)
VMnet Network Adapter VMnet8?:
在NAT模式下,Host與NAT虛擬網絡進行通信的虛擬網卡(這是在物理機上的虛擬網卡,跟虛擬機上的虛擬網卡不一樣)
2.接下來,我對3種網絡模型做一個介紹:
(1). Bridge Network?? 橋接網絡
???? 在Bridge Network中,Host的物理網卡和Guest(Virtual machine)的虛擬網卡通過虛擬的網橋(Virtual bridge)橋接連接在Virtual Ethernet switch(VMnet0)虛擬交換機上。這里的虛擬機的虛擬網卡和剛才上面提到的VMnet Network Adapter VMnet1和VMnet Network Adapter VMnet8是不一樣的,VMnet Network Adapter VMnet1和VMnet Network Adapter VMnet8是物理機上的虛擬網卡,而這里的虛擬網卡是指虛擬機的虛擬網卡!(對于虛擬機的OS來說虛擬機系統認為虛擬機的虛擬網卡就是其虛擬系統的物理網卡)
??? 你可以這樣理解:
??? 在橋接網絡中,你物理機的真實網卡和你虛擬機的虛擬網卡在網絡中的地位其實是一樣的,即可以說虛擬機是和物理機處在同一個網段中的另外一臺機器。
??? 比如這是我的物理機,如下圖,大家可以看到VMnet Network Adapter VMnet1和VMnet Network?Adapter VMnet8還有我本機的網卡。
這是我本機(物理機)的真實物理網卡信息:
這是我虛擬機的虛擬網卡信息:
大家可以看到其實他們是在一個網段中的,我在路由上開啟了DHCP,所以虛擬機通過DHCP獲取到的IP和物理機是在同一個網段。這樣虛擬機和物理機是在同一個網段,所以自然是可以上外網的。
他們之間當然也能互通:
虛擬機
到路由肯定也是通的:
本機到虛擬機:
(2). Network Address Translation (NAT) NAT網絡
在Network Address Translation (NAT)中,物理機(Host)上的虛擬網卡VMnet Network Adapter VMnet8連接到虛擬交換機VMnet8上,并不是直接連接到虛擬機上,而是通過VMnet8(虛擬交換機)與虛擬機所在的網段進行通訊,其VMnet Network Adapter VMnet8并不會為虛擬機所在的網段提供路由服務。在VMnet8(虛擬交換機)網段下的虛擬機而是通過虛擬的NAT服務器(正如上圖中的NAT Device)連接到外網的。
我本機的VMnet Network Adapter VMnet8網卡信息:
這里我們沒有看到網關,我用的是workstation 7.01的版本,其實她在這里可以看到:
在開始菜單找到:Virtual Network Editor
打開它,如下圖,看到了嗎,這幾個虛擬設備都在這里:
找到VMnet8,選擇NAT Settings,打開它:
看到了嗎
其實這里他是一臺虛擬的NAT服務器
現在我們看一下我虛擬機的網卡信息:
看到了吧,和物理機在一個網段!
呵呵,現在開始變得有意思了,我們ping一下。
物理機:
虛擬機:
虛擬機到網關:
看,通了!這個時候虛擬機也能上外網了!
VMnet Network Adapter VMnet8?的IP地址VMware在安裝的時候自動隨機指定的一個IP地址(不要修改VMnet Network Adapter VMnet8虛擬網卡所在的網絡ID,這樣可能造成Host和Guest無法通信),如果出現問題,大家可以在Virtual Network Editor中選擇:
選擇
來恢復默認值!
虛擬機中的IP是用過虛擬的DHCP服務器來分配的,這個虛擬的服務器其實只是系統中的一個服務,大家可以在系統服務中看到:
(開始菜單運行中鍵入:services.msc)
如果發現虛擬DHCP服務器出現問題,可以嘗試重新啟動該系統服務來解決問題。
在NAT模式的網絡中,Guest的網關指向192.168.78.2,其實那個也是虛擬的NAT服務器的地址,這個虛擬的NAT服務器其實也只是一個系統服務:
如果發現虛擬NAT服務器出現問題(比如不能上網),可以嘗試重新啟動該系統服務來解決問題。
說來說去,VMnet Network Adapter VMnet8只是Host與Guest網段通信的一個接口,即使你禁用掉VMnet Network Adapter VMnet8也不會影響Guest虛擬機上網的,只是這個時候Host無法與Guest網段進行通訊了,但是你的Guest仍然可以上網,因為這個模式下起作用的其實是2個系統服務,他們仍然在正常運行!
(3). Host-only Networking?? Host-Only網絡
在Host-Only Networking?模式網絡中,Host-Only網絡是一個隔離的無法與外網通信的網絡結構。Host-Only網絡和NAT網絡比較類似,不同之處就是在Host-Only模式下,沒有使用NAT服務,VMnet1也沒有連接到路由,所以不能訪問到外網。而Host與Guest則利用VMnet Network Adapter VMnet1?這塊虛擬網卡進行彼此的通信。在這個模式下Guest通過虛擬的DHCP服務器獲得IP,這一點和NAT模式是一樣的。
這是我本機VMnet Network Adapter VMnet1的配置:
這是我虛擬的網卡信息:
看到沒有他們在一個網段下,當然可以互訪了。
我的物理機:
虛擬機:
在Host-Only網絡中,Guest的Default Gateway為空,因為虛擬NAT服務器,所以即使用route add添加路由,Guest也不能訪問外網的。因為這個模式就是一個隔離的模式,即使一個isolated的網絡。
當然網上有朋友說,可以在Host上來為VMware Network Adapter VMnet1虛擬網卡做路由,例如用RRAS來做,這樣處于Host-Only網絡下的Guest就又可以上外網了,她只需要使用route add自己的默認網關改成VMware Network Adapter VMnet1網卡地址即可。也興趣的朋友也可以嘗試一下。
3.Virtual Network Editor
其實很多設置都還可以在?Virtual Network Editor?中自定義,比如你可以修改你想要的網絡ID,當然的記得如果你改了VMnet1?和VMnet8?,VMnet Network Adapter VMnet1?和VMnet Network Adapter VMnet8?也要改為相同ID才行。
3.總結一下關于上網問題
其實看了上面的內容你會發現除了Host-Only模式不能上網以外,其他2中個方式都可以,大家在出現問題的時候不要急,冷靜判斷一下,找到是哪個地方的問題然后在逐一解決,本文意在拋磚引玉,虛擬機還有很多地方值得我們去研究。
4.還是無法上網!或者能上QQ不能打開網頁!怎么辦?
如果你仔細看完我上述的介紹,還是不能上網,而卻你確信使用ping命令測試物理機和虛擬機之間是聯通的,那就是你虛擬的DNS設置問題!
只需要改為正確的DNS即可!
方法如下:
查看你本機(物理機)的網卡連接信息,找到你的DNS地址,如上圖我DNS是202.96.209.5/192.168.100.8,把你的虛擬及的DNS設置成和你的本機的DNS相同即可。
找到你的連接網卡:
右鍵打開屬性設置,如上圖
找到
選擇“屬性”
在下面填入你的DNS
就是在下圖這個地方
保存即可生效。
如果你實在找不到你的DNS,那就打電話問問電信客戶吧,他們會告訴你的,每個地方的DNS服務器地址是不一樣的。
總結
以上是生活随笔為你收集整理的关于VMware虚拟机的上网的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 终端、虚拟控制台与伪终端
- 下一篇: 使用Subversion进行版本控制