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

阿高在學習發表於2022-04-01

 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這臺虛擬機器。

相關文章