Linux網絡配置:Nat和橋接模式詳解


 Linux網絡配置:Nat和橋接模式詳解

一、我們首先說一下VMware的幾個虛擬設備:

  1. Centos虛擬網絡編輯器中的虛擬交換機

            

            VMnet0:用於虛擬橋接網絡下的虛擬交換機;

            VMnet1:用於虛擬Host-Only網絡下的虛擬交換機;

            VMnet8:用於虛擬NAT網絡下的虛擬交換機。

 

  2.宿主主機的虛擬網卡(安裝了VMware虛擬機后,會在網絡連接對話框中多出的兩個虛擬網卡)

        

         VMware NetworkAdepter VMnet1:Host用於與Host-Only虛擬網絡進行通信的虛擬網卡;

         VMware NetworkAdepter VMnet8:Host用於與NAT虛擬網絡進行通信的虛擬網卡。

 

二、Nat技術原理

  • NAT:對IP數據報文中的IP地址進行轉換,是一種在現網中被廣泛部署的技術,一般部署在網絡出口設備,例如路由器或防火牆上。
  • NAT的典型應用場景:在私有網絡內部(園區、家庭)使用私有地址,出口設備部署NAT,對於“從內到外"的流量,網絡設備通過NAT將數據包的源地址進行轉換(轉換成特定的公有地址),而對於“從外到內的"流量,則對數據包的目的地址進行轉換。
  • 通過私有地址的使用結合NAT技術,可以有效節約公網 IPV4地址。

     

   注:數據包1→2出去的時候把源地址換成了出接口的公網地址了,所以回來的時候目的地址就找到出接口那個公網地址了。但在在真實網絡環境中公網設備是沒有私網的路由的,但是在虛擬機里面不同,都是私網地址,可能它們互相都有彼此的路由記錄!

 

三、Linux網卡配置DHCP,在Nat網絡模式下:

Centos虛擬網絡編輯器中VMnet8的Nat設置DHCP自動獲取IP,宿主主機網絡適配器的VMnat8的IPV4也是自動獲取IP。

Linux網卡配置DHCP:

 

 

 

這時Linux中Nat網卡的IP、虛擬網絡編輯器中Nat的IP和宿主主機網絡適配器的VMnat8的IP(在cmd用ifconfig查看)在同一個網段。

① 測試環境在只有一個Nat網卡(ifconfig時只有一個Nat網卡),沒有橋接的網卡下,虛擬機和宿主主機(Windows主機)可以相互ping通!

② 當同時存在Nat網卡和橋接網卡時,虛擬機不能ping通宿主主機(丟包100%),宿主主機可以ping虛擬機!而在斷開橋接的網絡連接,關掉橋接網卡和Nat網卡,重啟Nat網卡時,虛擬機和宿主主機(Windows主機)可以相互ping通!(①)

 

 

 

四、Linux網卡配置DHCP,在橋接網絡模式下:

Centos虛擬網絡編輯器中VMnet0的橋接設置自動橋接,宿主主機不需要橋接的虛擬網絡適配器(同一個網段)。

Linux的橋接網卡配置DHCP(同上)!

 

 

 

 

橋接模式下Linux相當於在一個宿主主機局域網內創立了一個單獨的主機,他可以訪問這個局域網內的所有的主機,可以手動來配置IP地址,子網掩碼。或者配置DHCP,虛擬機是和真實主機在同一個網段(Nat是兩個網段),這個模式里,虛擬機和宿主機可以互相 ping通。

 

五、三種模式網絡拓撲圖

以下內容借鑒博客https://www.cnblogs.com/zejin2008/p/5935934.html,十分感謝!

補充說明

0.vmnet0,vmnet1,vmnet8都是vmware虛擬出來的交換機,當然還有虛擬hdcp服務器沒畫出來,但不妨礙我們理解。

1.host A為你的宿主機,host B、hostC、hostN為你同一網絡下的其它主機

2.vm bridge、vm host_only、vm nat為主機host A上虛擬出來的機器

3.vm bridge虛擬機選擇網橋模式,vm host_only虛擬機選擇host-only模式,vm nat虛擬機選擇nat模式

 

有了如上拓撲結構,可以很容易推斷出:

A.在bridge模式下,hostA、hostB、hostC、hostN、vm bridge這幾台機器都能相互訪問和上網。並且他們的網段相同。

B.在host-only模式下,hostA與vm host_only能相互訪問,但是vm host_only不能上網,vm host_only這台虛擬機與除hostA外的其它主機都不能相互通信。

C.在nat模式下,hostA與vm nat能相互訪問,vm nat也能通過virtual net路由器進行上網,可以訪問到hostB hostC hostN機器,但是hostB hostC hostN不能訪問到vm nat這台虛擬機。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM