嵌入式linux開發環境搭建――VirtualBox虛擬機網絡環境解析本博文轉自:Pandoras Box
/content/1527358.html
一、NAT模式特點:
1、如果主機可以上網,虛擬機可以上網
2、虛擬機之間不能ping通
3、虛擬機可以ping通主機(此時ping虛擬機的網關,即是ping主機)
4、主機不能ping通虛擬機
應用場景:
虛擬機只要求可以上網,無其它特殊要求,滿足最一般需求
配置方法:
連接方式 選擇 網絡地址轉換(NAT)
高級-控制芯片 選擇 PCnet-FAST III
高級-混雜模式 拒絕
高級-接入網線 √
(虛擬機ip自動獲取)
ip樣式:
ip 10.0.2.15
網關 10.0.2.2
注意此處的網關在不同虛擬機中可能是同一個值,但是這歸屬於不同的NAT Engine,因此實際上各個虛擬機用的不是同一個網關
原理:
虛擬機的請求傳遞給NAT Engine,由它來利用主機進行對外的網絡訪問,返回的數據包再由NAT Engine給虛擬機。
二、Bridged Adapter模式(橋接模式)特點:
1、如果主機可以上網,虛擬機可以上網
2、虛擬機之間可以ping通
3、虛擬機可以ping通主機
4、主機可以ping通虛擬機
以上各點基於一個前提:主機可以上網
5、如果主機不可以上網,所有1-4特點均無
應用場景:
虛擬機要求可以上網,且虛擬機完全模擬一台實體機
配置方法:
連接方式 選擇 橋接網卡
界面名稱 選擇 (如果你的筆記本有無線網卡和有線網卡,需要根據現在的上網方式對應選擇)
高級-控制芯片 選擇 PCnet-FAST III
高級-混雜模式 拒絕
高級-接入網線 √
(虛擬機ip自動獲取)
ip樣式:
ip 與本機ip在同一網段內
網關 與本機網關相同
原理:
通過主機網卡,架設一條橋,直接連入到網絡中。它使得虛擬機能被分配到一個網絡中獨立的IP,所有網絡功能完全和
在網絡中的真實機器一樣。 (虛擬機是通過主機所在網絡中的DHCP服務得到ip地址的,所以按理來說,兩者是完全獨立的,但事實卻是虛擬機是沒有獨立硬件的,它還是要依靠主機的網卡,因此,主機要斷開網絡,虛擬機也就沒法拿到ip了,所以呵呵~~所有特點全消失咯)
三、Host-only Adapter模式特點:
1、虛擬機不可以上網
2、虛擬機之間可以ping通
3、虛擬機可以ping通主機(注意虛擬機與主機通信是通過主機的名為VirtualBox Host-Only Network的網卡,因此ip
是該網卡ip 192.168.56.1,而不是你現在正在上網所用的ip)
4、主機可以ping通虛擬機
應用場景:
在主機無法上網的情況下(主機可以上網的情況下可以用host-only,也可以用橋接),需要搭建一個模擬局域網,所有機器可以互訪
配置方法:
連接方式 選擇 僅主機(Host-Only)適配器
界面名稱 選擇 VirtualBox Host-Only Ethernet Adapter
高級-控制芯片 選擇 PCnet-FAST III
高級-混雜模式 拒絕
高級-接入網線 √
(虛擬機ip自動獲取,也可以自己進行配置,網關配置為主機中虛擬網卡的地址【默認為192.168.56.1】,ip配置為與虛擬網卡地址同網段地址)
ip樣式:
ip 與本機VirtualBox Host-Only Network的網卡ip在同一網段內(默認192.168.56.*)
網關 本機VirtualBox Host-Only Network的網卡ip(默認192.168.56.1)
原理:
通過VirtualBox Host-Only Network網卡進行通信,虛擬機以此ip作為網關,因此模擬了一個本機與各個虛擬機的局域網,如名稱所指,應該是無法上網的(但是有人說可以通過對VirtualBox Host-Only Network網卡進行橋接等操作使虛擬機可以上網,但如此就不如直接采用橋接來的容易了,而且,呵呵,我沒試成功,有的人也說不可以,因為主機不提供路由服務,我也不好亂說到底行不行,你自己試吧~~)
四、Internal模式(內網模式)特點:
1、虛擬機不可以上網
2、虛擬機之間可以ping通
3、虛擬機不能ping通主機
4、主機不能ping通虛擬機
應用場景:
讓各台虛擬機處於隔離的局域網內,只讓它們相互通信,與外界(包括主機)隔絕
配置方法:
連接方式 選擇 內部網絡
界面名稱 選擇 intnet(可以重新命名,所有放在同一局域網內的虛擬機此名稱相同)
高級-控制芯片 選擇 PCnet-FAST III
高級-混雜模式 拒絕
高級-接入網線 √
(虛擬機ip:對於XP自動獲取ip即可,但對於linux,必須手動配置ip和子網掩碼,手動配置時需保證各個虛擬機ip在同一網段)
ip樣式:
ip 169.254.147.9
子網掩碼 255.255.0.0
默認網關 無
原理:
各個虛擬機利用VirtualBox內置的DHCP服務器得到ip,數據包傳遞不經過主機所在網絡,因此安全性高,防止外部抓包~
五、NAT模式+端口映射將虛擬機某端口映射到主機某端口,可以使主機和外部機器訪問虛擬機提供的服務哦~~
命令如下:
(在命令行模式下,先到VirtualBox的安裝目錄下面,否則找不到命令)
vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/Protocol" TCP
vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/GuestPort" 80
vboxmanage setextradata <VM name> "VBoxInternal/Devices/pcnet/0/LUN#0/Config/<rule name>/HostPort" 8000