VirtualBox中有4中網(wǎng)絡(luò)連接方式: VMWare中有三種,,其實他跟VMWare 的網(wǎng)絡(luò)連接方式都是一樣概念,只是比VMWare多了Internal方式,。 要讓自己(或別人)理解深刻,,方法就是做比較和打比方,比較之間的不同和相同,,拿熟知的事物打比方,。先來一張圖,通過這張圖就很容易看出這4種方式的區(qū)別:
一,、四種模式介紹 1,、NAT NAT:Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換 NAT模式是最簡單的實現(xiàn)虛擬機上網(wǎng)的方式,,你可以這樣理解:
虛擬機與主機的關(guān)系:只能單向訪問,虛擬機可以通過網(wǎng)絡(luò)訪問到主機,,主機無法通過網(wǎng)絡(luò)訪問到虛擬機,。
IP:10.0.2.15
網(wǎng)關(guān):10.0.2.2
DNS:10.0.2.3
一臺虛擬機的多個網(wǎng)卡可以被設(shè)定使用 NAT, 第一個網(wǎng)卡連接了到專用網(wǎng) 10.0.2.0,,第二個網(wǎng)卡連接到專用網(wǎng)絡(luò) 10.0.3.0,,等等,。默認得到的客戶端ip(IP Address)是10.0.2.15,網(wǎng)關(guān)(Gateway)是10.0.2.2,,域名服務(wù)器(DNS)是10.0.2.3,,可以手動參考這個進行修 改。
NAT方案優(yōu)缺點:
筆記本已插網(wǎng)線時:虛擬機可以訪問主機,,虛擬機可以訪問互聯(lián)網(wǎng),,在做了端口映射后(最后有說明),主機可以訪問虛擬機上的服務(wù)(如數(shù)據(jù)庫),。
筆記本沒插網(wǎng)線時:主機的“本地連接”有紅叉的,,虛擬機可以訪問主機,虛擬機不可以訪問互聯(lián)網(wǎng),,在做了端口映射后,,主機可以訪問虛擬機上的服務(wù)(如數(shù)據(jù)庫) 2、Bridged Adapter(網(wǎng)橋模式) 網(wǎng)橋模式,,你可以這樣理解:
虛擬機與主機的關(guān)系:可以相互訪問,,因為虛擬機在真實網(wǎng)絡(luò)段中有獨立IP,主機與虛擬機處于同一網(wǎng)絡(luò)段中,,彼此可以通過各自IP相互訪問,。
IP:一般是DHCP分配的,與主機的“本地連接”的IP 是同一網(wǎng)段的,。虛擬機就能與主機互相通信,。
筆記本已插網(wǎng)線時:(若網(wǎng)絡(luò)中有DHCP服務(wù)器)主機與虛擬機會通過DHCP分別得到一個IP,這兩個IP在同一網(wǎng)段,。 主機與虛擬機可以ping通,,虛擬機可以上互聯(lián)網(wǎng),。
筆記本沒插網(wǎng)線時:主機與虛擬機不能通信。主機的“本地連接”有紅叉,,就不能手工指定IP,。虛擬機也不能通過DHCP得到IP地址,手工指定IP后,,也無法與主機通信,,因為主機無IP。
這時主機的VirtualBox Host-Only Network 網(wǎng)卡是有ip的,,192.168.56.1,。虛擬機就算手工指定了IP 192.168.56.*,也ping不能主機,。
3,、Internal(內(nèi)網(wǎng)模式) 內(nèi)網(wǎng)模式,顧名思義就是內(nèi)部網(wǎng)絡(luò)模式:
虛擬機與主機的關(guān)系:不能相互訪問,彼此不屬于同一個網(wǎng)絡(luò),,無法相互訪問,。
IP:VirtualBox的DHCP服務(wù)器會為它分配IP ,,一般得到的是192.168.56.101,,因為是從101起分的,也可手工指定192.168.56.*,。
筆記本已插網(wǎng)線時:虛擬機可以與主機的VirtualBox Host-Only Network 網(wǎng)卡通信
這種方案不受主機本地連接(網(wǎng)卡)是否有紅叉的影響,。
4、Host-only Adapter(主機模式) 主機模式,,這是一種比較復(fù)雜的模式,,需要有比較扎實的網(wǎng)絡(luò)基礎(chǔ)知識才能玩轉(zhuǎn)??梢哉f前面幾種模式所實現(xiàn)的功能,,在這種模式下,,通過虛擬機及網(wǎng)卡的設(shè)置都可以被實現(xiàn),。 我們可以理解為Guest在主機中模擬出一張專供虛擬機使用的網(wǎng)卡,,所有虛擬機都是連接到該網(wǎng)卡上的,我們可以通過設(shè)置這張網(wǎng)卡來實現(xiàn)上網(wǎng)及其他很多功能,比如(網(wǎng)卡共享、網(wǎng)卡橋接等)。
虛擬機與主機的關(guān)系:默認不能相互訪問,,雙方不屬于同一IP段,host-only網(wǎng)卡默認IP段為192.168.56.X 子網(wǎng)掩碼為255.255.255.0,,后面的虛擬機被分配到的也都是這個網(wǎng)段,。通過網(wǎng)卡共享、網(wǎng)卡橋接等,,可以實現(xiàn)虛擬機于主機相互訪問,。
虛擬機訪問主機,用的是主機的VirtualBox Host-Only Network網(wǎng)卡的IP:192.168.56.1 ,,不管主機“本地連接”有無紅叉,,永遠通。
主機訪問虛擬機,,用是的虛擬機的網(wǎng)卡3的IP: 192.168.56.101 ,,不管主機“本地連接”有無紅叉,永遠通,。
虛擬機訪問互聯(lián)網(wǎng),,用的是自己的網(wǎng)卡2, 這時主機要能通過“本地連接”有線上網(wǎng),,(無線網(wǎng)卡不行)
二,、靈活應(yīng)用(模擬出來一個一臺主機,,監(jiān)控一個局域網(wǎng)上網(wǎng)情況的網(wǎng)絡(luò)環(huán)境) 通過對以上幾種網(wǎng)絡(luò)模式的了解,我們就可以靈活運用,模擬組建出我們所想要的任何一種網(wǎng)絡(luò)環(huán)境了,。
首先我開啟了兩臺虛擬機vhost1與vhost2,,當(dāng)然如果硬件允許,我同樣可以再增加vhost3,、vhost4......
所有的vhost我都設(shè)置成internat內(nèi)網(wǎng)模式,,網(wǎng)絡(luò)名稱為intnal,網(wǎng)關(guān)為192.168.56.100,,意思就是通過 192.168.56.100網(wǎng)卡上網(wǎng),。
其中有一臺vhost1我設(shè)置為雙網(wǎng)卡,一張為內(nèi)網(wǎng)模式(192.168.56.100),,一張為網(wǎng)橋模式 (192.168.1.101),。 兩張網(wǎng)卡設(shè)置雙網(wǎng)卡共享上網(wǎng),虛擬機之間為局域網(wǎng),,其中有一臺虛擬機vhost1通過與外網(wǎng)相連,,所有局域網(wǎng)中的虛擬機又通過vhost1來實現(xiàn)上外網(wǎng)。 這樣vhost1就可以監(jiān)控整個虛擬機局域網(wǎng)上網(wǎng)情況了,。
三,、NAT 設(shè)置端口映射
你可以設(shè)置一個虛擬機的服務(wù)(比如 WEB 服務(wù)),通過使用命令行工具 VboxManage 代理,。你需要知道虛擬機的服務(wù)使用哪個端口,,然后決定在主機上使用哪個端口(通常但不總是想要使虛擬機和主機使用同一個端口)。在主機上提供一個服務(wù)需要 使用一個端口,,你能使用在主機上沒有準(zhǔn)備用來提供服務(wù)的任何端口,。一個怎樣設(shè)置新的 NAT 例子,在虛擬機上連接到一個 ssh 服務(wù)器,,需要下面的三個命令:
VBoxManage setextradata 'Linux Guest' 'VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol' TCP VBoxManage setextradata 'Linux Guest' 'VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort' 22 VBoxManage setextradata 'Linux Guest' 'VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort' 2222
說明:VboxManage 是一個命令行程序,,請查詢你的 VirtualBox 安裝目錄,'Linux Guest' 是虛擬主機名,。guestssh 是一個自定義的名稱,,你可以任意設(shè)置,通過上面的三個命令,,把虛擬機的 22 端口 轉(zhuǎn)發(fā)到主機的 2222 端口,。
又比如,我在虛擬機 debian 上安裝了 apache2 服務(wù)器,,使用 80 端口,,映射到主機的 80 端口。使用下面的命令,。
'C:/Program Files/innotek VirtualBox/VBoxManage.exe' setextradata 'debian' 'VBoxInternal/Devices/pcnet/0/LUN#0/Config/huzhangsheng/Protocol' TCP 'C:/Program Files/innotek VirtualBox/VBoxManage.exe' setextradata 'debian' 'VBoxInternal/Devices/pcnet/0/LUN#0/Config/huzhangsheng/GuestPort' 80 'C:/Program Files/innotek VirtualBox/VBoxManage.exe' setextradata 'debian' 'VBoxInternal/Devices/pcnet/0/LUN#0/Config/huzhangsheng/HostPort' 80
注意:要使設(shè)置生效,,請關(guān)掉 VirtualBox 再運行虛擬機,,我把 VirtualBox 安裝在 winxp 上,在虛擬機中安裝 debian 4.02r ,,虛擬機名是 debian ,,并安裝了 apache2 php5 mysql-server ,在主機上用IE瀏覽 http://localhost,,成功轉(zhuǎn)發(fā)到虛擬機 debian 的 apache2 web 服務(wù)器上,。
四、圖解
NAT
這種方式下,,虛擬機的網(wǎng)卡 連接到宿主的 VMnet8 上,。此時系統(tǒng)的 VMWare NAT Service 服務(wù)就充當(dāng)了路由器的作用,負責(zé)將虛擬機發(fā)到 VMnet8 的包進行地址轉(zhuǎn)換之后發(fā)到實際的網(wǎng)絡(luò)上,,再將實際網(wǎng)絡(luò)上返回的包進行地址轉(zhuǎn)換后通過 VMnet8 發(fā)送給虛擬機,。VMWare DHCP Service 負責(zé)為虛擬機提供 DHCP 服務(wù)。
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. 單機多網(wǎng)卡或者筆記本和移動設(shè)備使用虛擬機時,,當(dāng)在有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)切換時,,勾選了Replicate physical network connection state,虛擬機網(wǎng)卡的ip地址會自動更新,,不需要重新設(shè)置,。
五、VirtualBox配置雙網(wǎng)卡,,實現(xiàn)內(nèi)外網(wǎng)絡(luò)互訪問
環(huán)境:
宿主機操作系統(tǒng) Windows XP sp3
虛擬機軟件 VirtualBox
虛擬機操作系統(tǒng) Fedora(Linux)
1,、使虛擬電腦Fedora能夠上網(wǎng)
原理:
NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換模式)
使用NAT模式,就是讓虛擬系統(tǒng)借助NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)功能,,通過宿主機器所在的網(wǎng)絡(luò)來訪問公網(wǎng)。也就是說,,使用NAT模式可以實現(xiàn)在虛擬系統(tǒng)里訪問互聯(lián)網(wǎng),。NAT模式下的虛擬系統(tǒng)的TCP/IP配置信息是由VMnet8(NAT)虛擬網(wǎng)絡(luò)的DHCP服務(wù)器提供的,無法進行手工修改,因此虛擬系統(tǒng)也就無法和本局域網(wǎng)中的其他真實主機進行通訊,。采用NAT模式最大的優(yōu)勢是虛擬系統(tǒng)接入互聯(lián)網(wǎng)非常簡單,,你不需要進行任何其他的配置,只需要宿主機器能訪問互聯(lián)網(wǎng)即可,。
如果你想利用VMWare安裝一個新的虛擬系統(tǒng),,在虛擬系統(tǒng)中不用進行任何手工配置就能直接訪問互聯(lián)網(wǎng),建議你采用NAT模式,。
步驟:
在VirtualBox中設(shè)置網(wǎng)絡(luò)連接,,啟用NAT連接模式。
啟動Fedora,,發(fā)現(xiàn)網(wǎng)絡(luò)成功連接上了,,運行FireFox,可以成功登陸Fedora網(wǎng)頁,。
這里我們查看一下Fedora的IP和Windows的網(wǎng)絡(luò)配置,,并且互相ping。
Fedora可以ping到Windows
但是Windows不能ping到Fedora
這個也好理解,,因為NAT的網(wǎng)絡(luò)連接模式就是虛擬機通過宿主機的網(wǎng)絡(luò)來訪問互聯(lián)網(wǎng),,那么虛擬機當(dāng)然知道宿主機的網(wǎng)絡(luò)地址。但是反過來,,Windows就不清楚到達10.0.2.15地址要如何經(jīng)過路由了,。
在這里要注意一下,F(xiàn)edora的IP地址10.0.2.5是通過DHCP自動分配的,。
2,、使虛擬電腦Fedora能夠與宿主機互聯(lián)
這一部分的目標(biāo)就是實現(xiàn)Windows能夠ping通Fedora。
原理:
bridged(橋接模式)
在這種模式下,,VirtualBox虛擬出來的操作系統(tǒng)就像是局域網(wǎng)中的一臺獨立的主機,,它可以訪問網(wǎng)內(nèi)任何一臺機器。在橋接模式下,,你需要手工為虛擬系統(tǒng)配置IP地址,、子網(wǎng)掩碼,而且還要和宿主機器處于同一網(wǎng)段,,這樣虛擬系統(tǒng)才能和宿主機器進行通信,。同時,由于這個虛擬系統(tǒng)是局域網(wǎng)中的一個獨立的主機系統(tǒng),,那么就可以手工配置它的TCP/IP配置信息,,以實現(xiàn)通過局域網(wǎng)的網(wǎng)關(guān)或路由器訪問互聯(lián)網(wǎng)。
使用橋接模式的虛擬系統(tǒng)和宿主機器的關(guān)系,,就像連接在同一個Hub上的兩臺電腦,。想讓它們相互通訊,,你就需要為虛擬系統(tǒng)配置IP地址和子網(wǎng)掩碼,否則就無法通信,。
如果你想利用VirtualBox在局域網(wǎng)內(nèi)新建一個虛擬服務(wù)器,,為局域網(wǎng)用戶提供網(wǎng)絡(luò)服務(wù),就應(yīng)該選擇橋接模式,。
步驟:
在VirtualBox中設(shè)置網(wǎng)絡(luò)連接,,開啟Bridge Adapter連接模式
啟動Fedora,發(fā)現(xiàn)多了一個未配置的網(wǎng)卡eht1
為該網(wǎng)卡添加一個網(wǎng)絡(luò)配置,,手動輸入IP地址,、子網(wǎng)掩碼和網(wǎng)關(guān)(與宿主機要在同一網(wǎng)段)
設(shè)置好后查看網(wǎng)絡(luò)信息,并ping宿主機(這個在上一部分就實現(xiàn)了)
宿主機ping虛擬機
成功ping通
3,、補充:第三種連接方式
在這里必須提一點,,就是如果172.16.35.237這個IP地址已經(jīng)被其他計算機使用怎么辦,為了解決這種IP地址沖突的情況,,我們來進一步了解host-only連接模式,。
原理:
host-only(主機模式)
在某些特殊的網(wǎng)絡(luò)調(diào)試環(huán)境中,要求將真實環(huán)境和虛擬環(huán)境隔離開,,這時你就可采用host-only模式,。在host-only模式中,所有的虛擬系統(tǒng)是可以相互通信的,,但虛擬系統(tǒng)和真實的網(wǎng)絡(luò)是被隔離開的,。
提示:
在host-only模式下,,虛擬系統(tǒng)和宿主機器系統(tǒng)是可以相互通信的,,相當(dāng)于這兩臺機器通過雙絞線互連。
在host-only模式下,,虛擬系統(tǒng)的TCP/IP配置信息(如IP地址,、網(wǎng)關(guān)地址、DNS服務(wù)器等),,都是由VMnet1(host-only)虛擬網(wǎng)絡(luò)的DHCP服務(wù)器來動態(tài)分配的,。
如果你想利用VirtualBox創(chuàng)建一個與網(wǎng)內(nèi)其他機器相隔離的虛擬系統(tǒng),進行某些特殊的網(wǎng)絡(luò)調(diào)試工作,,可以選擇host-only模式,。
步驟:
在VirtualBox中設(shè)置網(wǎng)絡(luò)連接,啟用host-only連接模式,。
啟動Fedora,,發(fā)現(xiàn)多了一個已配置的網(wǎng)卡eht2
因為eth1和eth2的IP地址都是172.16.35.237,在Windows端ping的時候是不會成功的,。它搞不清楚是哪個了,。
現(xiàn)在為該網(wǎng)卡添加一個網(wǎng)絡(luò)配置,,設(shè)置在和VirtualBox的網(wǎng)關(guān)192.168.56.1保持一致的網(wǎng)段,。
弄好后的網(wǎng)絡(luò)配置信息為:
設(shè)置好后,,可以在Windows端ping地址172.16.35.237又成功了。再ping新的IP地址也成功了,。
小提示:
在Fedora窗口界面進行網(wǎng)絡(luò)配置的添加或刪除時,,可能系統(tǒng)并沒有及時更新網(wǎng)絡(luò)配置信息,可以在終端使用命令/etc/rc.d/init.d/network restart來重啟網(wǎng)絡(luò)連接,。
轉(zhuǎn)載:http:///997.html |
|
來自: 昵稱54185769 > 《待分類》