1. 程式人生 > >徹底理解Viutual Box四種網路連線方式

徹底理解Viutual Box四種網路連線方式

零、概論

      VirtualBox中有4中網路連線方式: NAT、Bridged Adapter、Internal、Host-only Adapter

      VMWare中有三種,其實他跟VMWare 的網路連線方式都是一樣概念,只是比VMWare多了Internal方式。

      要讓自己(或別人)理解深刻,方法就是做比較和打比方,比較之間的不同和相同,拿熟知的事物打比方。先來一張圖,通過 這張圖就很容易看出這4種方式的區別:

一、NAT模式:可以連線網際網路

(1)特點:

     1、如果主機可以上網,虛擬機器可以上網

     2、虛擬機器之間不能ping通

     3、虛擬機器可以ping通主機(此時ping虛擬機器的閘道器,即是ping主機)

     4、主機不能ping通虛擬機器

(2)應用場景:虛擬機器只要求可以上網,無其它特殊要求,滿足最一般需求

(3)配置方法:虛擬機器右鍵---設定---網路

(4)原理:

      虛擬機器的請求傳遞給NAT Engine,由它來利用主機進行對外的網路訪問,返回的資料包再由NAT Engine給虛擬機器。

      NAT是VirtualBox為新建虛擬機器預設設定的網絡卡環境。VirtualBox虛擬出一個路由器,為虛擬機器中的網絡卡分配引數:

           IP地址 10.0.2.15

          子網掩碼 255.255.255.0

          廣播地址 10.0.2.255

          預設閘道器 10.0.2.2

          DNS伺服器與主機中的相同

          DHCP伺服器 10.0.2.2

     其中10.0.2.2分配給主機,也就是用主機作閘道器,利用主機的網路訪問inertnet。虛擬機器通過10.0.2.2能訪問主機中搭建的網路服務,但是主機不能訪問虛擬機器中搭建的網路服務(需要用埠轉接才能訪問)。同時,使用NAT網路環境的各個虛擬機器之間也不能相互訪問,因為它們的IP地址都是10.0.2.15!即使設定在NAT網路環境中的網絡卡為手動指定地址!

 

 

 

二、Bridged Adapter模式(橋接模式):地位等同於本機的虛擬機器

(1)特點:

        1、如果主機可以上網,虛擬機器可以上網

        2、虛擬機器之間可以ping通

        3、虛擬機器可以ping通主機

        4、主機可以ping通虛擬機器

       5、  以上各點基於一個前提:主機可以上網,如果主機不可以上網,所有1-4特點均無

 

(2)應用場景:

     虛擬機器要求可以上網,且虛擬機器完全模擬一臺實體機

 

(3)配置方法:

 

(4)ip樣式:ip 與本機ip在同一網段內,閘道器與本機閘道器相同

 

(5)原理:

       通過主機網絡卡,架設一條橋,直接連入到網路中。它使得虛擬機器能被分配到一個網路中獨立的IP,所有網路功能完全和在網路中的真實機器一樣。(虛擬機器是通過主機所在網路中的DHCP服務得到ip地址的,所以按理來說,兩者是完全獨立的,但事實卻是虛擬機器是沒有獨立硬體的,它還是要依靠主機的網絡卡,因此,主機要斷開網路,虛擬機器也就沒法拿到ip了,所以呵呵~~所有特點全消失咯)

       Bridged networking網路環境中的虛擬網絡卡與主機中的網絡卡屬於同一個等級,就像真實存在的網絡卡接入了你主機所在的網路中一樣。在這種網路環境中虛擬網絡卡獲得的引數由主機所在的網路環境分配,虛擬機器與主機之間是否能夠通過網路相互訪問也由主機所在的網路環境決定,當然,同時設定了Bridged networking網路環境的虛擬機器之間網路互訪也由主機所在的網路環境決定。

 

                                                 

三、Host-only Adapter模式:一個網絡卡下的區域網,閘道器為Host-Only IP

(1)特點:

      1、虛擬機器不可以上網

      2、虛擬機器之間可以ping通

      3、虛擬機器可以ping通網絡卡IP,但不能ping通本機自己的IP(注意虛擬機器與主機通訊是通過主機的名為VirtualBox Host-Only Network的網絡卡,因此ip是該網絡卡ip 192.168.56.1,而不是你現在正在上網所用的ip)

      4、主機可以ping通虛擬機器

      5.如果ping不通網絡卡IP,是因為windows開了防火牆。參考修改防火牆:

           https://blog.csdn.net/u011328417/article/details/76216636

       ping的原理參考:

          https://blog.csdn.net/f2006116/article/details/51159895

 

(2)應用場景:

       在主機無法上網的情況下(主機可以上網的情況下可以用host-only,也可以用橋接),需要搭建一個模擬區域網,所有機器可以互訪。

 

(2)配置方法

      虛擬機器ip自動獲取,也可以自己進行配置,閘道器配置為主機中虛擬網絡卡的地址【預設為192.168.56.1】,ip配置為與虛擬網絡卡地址同網段地址。此時,多個配置到此Host-Only網絡卡IP的虛擬機器相當於組成了一個區域網。

 

 

(3)ip樣式

     預設情況下Host-only networking網路環境利用VirtualBox虛擬出的DHCP伺服器,為在Host-only networking中的虛擬網絡卡分配引數:

      IP地址 192.168.56.101 --- 254

      子網掩碼 255.255.255.0

      廣播地址 192.168.56.255

      預設閘道器 無

      DNS伺服器 無

      DHCP伺服器 192.168.56.100

(4)原理

     通過VirtualBox Host-Only Network網絡卡進行通訊,虛擬機器以此ip作為閘道器,因此模擬了以VirtualBox Host-Only Network網絡卡為閘道器的各個虛擬機器的區域網。

     如名稱所指,應該是無法上網的(但是有人說可以通過對VirtualBox Host-Only Network網絡卡進行橋接等操作使虛擬機器可以上網,但如此就不如直接採用橋接來的容易了,而且,呵呵,我沒試成功,有的人也說不可以,因為主機不提供路由服務,我也不好亂說到底行不行,你自己試吧~~)

     其中192.168.56.1分配給主機上的VirtualBox Host-Only Network網絡卡,主機能ping通各個Host-only networking下的虛擬機器,但虛擬機器不能ping通主機。在Host-only networking網路環境中,主機網絡卡與各個Host-only networking虛擬網絡卡構成一個區域網,主機能訪問各個虛擬機器(虛擬機器防火牆允許條件下),各個虛擬機器之間也能相互訪問,但各個虛擬機器都不能訪問internet。

四、Internal模式(內網模式)

(1)特點

    1、虛擬機器不可以上網

    2、虛擬機器之間可以ping通

    3、虛擬機器不能ping通主機

    4、主機不能ping通虛擬機器

 

(2)應用場景:讓各臺虛擬機器處於隔離的區域網內,只讓它們相互通訊,與外界(包括主機)隔絕

 

(3)配置方法

 

(2)ip樣式

     ip 169.254.147.9

    子網掩碼 255.255.0.0

    預設閘道器 無

 

(3)原理

    各個虛擬機器利用VirtualBox內建的DHCP伺服器得到ip,資料包傳遞不經過主機所在網路,因此安全性高,防止外部抓包~

    Internal networking網路環境為設定了Internal networking網路環境的各個虛擬網絡卡提供了一個與主機隔絕的虛擬區域網。在Internal networking中的網絡卡不能自動獲得任何引數,除非手動設定或者在Internal networking網路環境中的另一臺虛擬機器中架設DHCP伺服器。在Internal networking中,各個設定為Internal networking網路環境的虛擬機器之間可以任意訪問(虛擬機器防火牆允許條件下),但不能訪問主機的網路服務甚至internet。

 

五、NAT模式+埠對映

     將虛擬機器某埠對映到主機某埠。如下圖,windows下的瀏覽器訪問127.0.0.1:8088實際訪問的是10.0.2.15:8088。

 

六、NAT網路:Virtual Box自動生成.1閘道器。相當於一個網絡卡下的區域網

   (1)網路地址轉換(NAT)和NAT網路區別

      網路地址轉換(NAT)和NAT網路原理相同,但是NAT網路提前配置,配置好之後,選擇同一個NAT網路的虛擬機器相當於在一個區域網下,互相之間是可以ping通的。如下圖所示,+代表可以,-代表不可以。Port forwarding代表埠對映。

     由圖可知,網路地址轉換和NAT網路區別在於虛擬機器之間是否可以互ping。

(2)配置方法

     第一步:管理---全域性設定---網路,右側+新建一個NAT網路。網路CIDR是無類域間路由,確定了此網路的子網掩碼(NETMASK)是255.255.255.0。

      第二步、在每個虛擬機器上右鍵---設定---網路連線方式選擇NAT網路,介面名稱選擇剛才定義的NAT網路名。如果多個虛擬機器選擇都是一個NAT網路,那麼這幾個虛擬機器相當於在一個區域網下。10.0.2.1 Virtual Box會預設生成,作為此區域網的閘道器(GATEWAY)。只要自己給每個虛擬機器定義一個靜態IP即可。

     第三步、修改虛擬機器配置檔案,指定靜態IP。HWADDR為上圖中的MAC地址。

七、NAT和Host-Only混合連線模式

      參考:https://blog.csdn.net/qq_22310551/article/details/84958360