Linux的橋接、NAT等三種模式

原文鏈接:https://blog.csdn.net/cckevincyh/article/details/80543510

橋接模式(Bridged)
橋接模式就是將主機網卡與虛擬機虛擬的網卡利用虛擬網橋進行通信。在橋接的作用下,類似於把物理主機虛擬爲一個交換機,所有橋接設置的虛擬機連接到這個交換機的一個接口上,物理主機也同樣插在這個交換機當中,所以所有橋接下的網卡與網卡都是交換模式的,相互可以訪問而不干擾。在橋接模式下,虛擬機ip地址需要與主機在同一個網段,如果需要聯網,則網關與DNS需要與主機網卡一致。其網絡結構如下圖所示:


選擇橋接模式(Bridged)。使用VMnet0。在此模式下,虛擬機和主機就好比插在同一臺交換機上的兩臺電腦。如果主機連接在開啓了DHCP服務的(無線)路由器上,這時虛擬機能夠自動獲得IP地址。如果局域網內沒有提供DHCP服務的設備,那就需要手動配置 IP地址,只需仿照主機網卡的IP地址,設置一個同網段的不同的IP地址即可,一般只需修改IP地址的最後第四位數字不同就行了,其它的照搬。只要IP地址在同一網段內,那麼局域網內的所有同網段的電腦都能互訪。這樣虛擬機和主機一樣能夠上網了。


在橋接模式下,如果電腦主機安裝有多塊網卡的話,應該手動指定要橋接的那塊網卡。點擊VMware軟件的“編輯”,選“編輯虛擬網路”,點擊VMnet0,在“ 已橋接到” 的地方指定那塊用來上網的網卡。如果只有一塊上網的網卡,可以不用修改,默認自動連接這塊網卡。


接下來我們需要在linux中配置網卡配置文件。

我們先來看看本地連接網絡的無線網卡的連接的ip地址、網關、DNS等信息。

查看當前linux的網卡配置:

然後,進入Linux系統編輯網卡配置文件,命令爲vi /etc/sysconfig/network-scripts/ifcfg-eth0


保存退出之後,重啓虛擬機網卡:/etc/init.d/network restart

或者使用service network restart

虛擬網卡配置文件說明:

#BOOTPROTO=static   靜態IP
#BOOTPROTO=dhcp   動態IP
BOOTPROTO=none   #無(不指定)
#通常情況下是dhcp或者static
ONBOOT="yes" #在系統啓動時是否激活網卡
IPADDR="192.168.0.105" #設置虛擬機ip地址,與主機地址在同一網段
NETMASK="255.255.255.0" #設置子網掩碼
GATEMAY="192.168.0.1" #設置虛擬機網關,與主機的默認網關相同
DNS1="192.168.0.1" #設置虛擬機DNS,可以設置與主機相同的DNS,或者可以設置主機的默認網關,這裏我們直接設置主機的默認網關

現在查看網卡配置:

現在可以試試ping一下百度:


現在再試試ping下主機:

ping不通是因爲主機的防火牆,我們嘗試把主機的防火牆關掉就可以ping通了:

現在我們在主機試試ping一下虛擬機:

ps: 如果在win中使用ping提示 :ping 不是內部或外部命令。
解決方法:右鍵單擊我的的腦->屬性->高級->環境變量->在系統變量中選中名字爲path或者是PATH->編輯->在變量值中添加上c:\windows\system32。

ps:如果在linux中設置網卡的時候發現,你不管設置了什麼ip地址的值,結果在使用ifconfig命令查看的時候都顯示一個ip地址,無法進行修改。這可能是因爲你設置了BOOTPROTO=dhcp,DHCP服務器提供了爲客戶端自動分配IP地址的功能。所以這個時候你不管在網卡中配置了什麼IP地址都是DHCP服務器自動爲你的Linux配置的IP地址。所以你可以設置BOOTPROTO=static或者BOOTPROTO=none試試看。

網絡地址轉換模式(NAT)
橋接模式配置簡單,但如果你的網絡環境是ip資源很缺少或對ip管理比較嚴格的話,那橋接模式就不太適用了。如果真是這種情況的話,我們該如何解決呢?接下來,我們就來認識vmware的另一種網絡模式:NAT模式。


在NAT模式中,主機網卡直接與虛擬NAT設備相連,然後虛擬NAT設備與虛擬DHCP服務器一起連接在虛擬交換機VMnet8上,這樣就實現了虛擬機聯網。那麼我們會覺得很奇怪,爲什麼需要虛擬網卡VMware Network Adapter VMnet8呢?原來我們的VMware Network Adapter VMnet8虛擬網卡主要是爲了實現主機與虛擬機之間的通信。在之後的設置步驟中,我們可以加以驗證。

首先設置虛擬機中NAT模式的選項,打開vmware,點擊“編輯”下的“虛擬網絡編輯器”,設置NAT參數及DHCP參數。

將虛擬機的網絡連接模式修改成NAT模式,點擊“編輯虛擬機設置”,然後點擊“網絡適配器”,選擇“NAT模式”。

然後開機啓動系統,編輯網卡配置文件,命令爲vi /etc/sysconfig/network-scripts/ifcfg-eth0

虛擬機網卡配置文件說明:

BOOTPROTO="dhcp" #動態獲取IP地址,如果此處設置爲靜態,則下面手動設置IP需要在DHCP地址範圍內
#NAT模式也可以設置靜態IP,但需要在DHCP地址範圍內
#由於這裏設置了dhcp分配動態IP,所以下面的可以註釋掉
#IPADDR="192.168.0.105" 
#NETMASK="255.255.255.0" 
#GATEWAY="192.168.0.1"
#DNS1="192.168.0.1"

編輯完成,保存退出,然後重啓虛擬機網卡,動態獲取ip地址,使用ping命令ping外網ip,測試能否聯網。

然後我們在使用主機去ping虛擬機:

使用虛擬機去ping主機:

我們可以發現我們現在能聯網並且主機和虛擬機之間也能相互ping通。

所以VMware Network Adapter VMnet8虛擬網卡的作用是什麼?,那我們現在就來測試一下。

我們把VMware Network Adapter VMnet8虛擬網卡禁用掉。


我們發現禁用掉之後依然可以ping的通外網。
我們現在試試主機和虛擬機之間能不能ping通。

我們可以發現主機是無法ping通虛擬機的。
所以這就是NAT模式,利用虛擬的NAT設備以及虛擬DHCP服務器來使虛擬機連接外網,而VMware Network Adapter VMnet8虛擬網卡是用來與虛擬機通信的。

主機模式(Host-Only)
Host-Only模式其實就是NAT模式去除了虛擬NAT設備,然後使用VMware Network Adapter VMnet1虛擬網卡連接VMnet1虛擬交換機來與虛擬機通信的,Host-Only模式將虛擬機與外網隔開,使得虛擬機成爲一個獨立的系統,只與主機相互通訊。其網絡結構如下圖所示:


通過上圖,我們可以發現,如果要使得虛擬機能聯網,我們可以將主機網卡共享給VMware Network Adapter VMnet1網卡,從而達到虛擬機聯網的目的。接下來,我們就來測試一下。

首先設置“虛擬網絡編輯器”,可以設置DHCP的起始範圍。


設置虛擬機爲Host-Only模式。

開機啓動系統,然後設置網卡文件。


保存退出,然後重啓網卡。

虛擬機網卡配置文件說明:

BOOTPROTO="dhcp" #動態獲取IP地址,如果此處設置爲靜態,則下面手動設置IP需要在DHCP地址範圍內
#NAT模式也可以設置靜態IP,但需要在DHCP地址範圍內
#由於這裏設置了dhcp分配動態IP,所以下面的可以註釋掉
#IPADDR="192.168.0.105" 
#NETMASK="255.255.255.0" 
#GATEWAY="192.168.0.1"
#DNS1="192.168.0.1"
#此爲Host-Only模式網卡配置文件,若爲靜態,需要設置BOOTPROTO="none"

現在我們可以看看我們的主機能不能ping通我們的虛擬機。

主機與虛擬機之間可以通信,現在設置虛擬機聯通外網。

然後我們現在看看VMware Network Adapter VMnet1的IP:

VMware Network Adapter VMnet1的IP被強制設置爲了192.168.137.1。
那麼接下來,我們就要將虛擬機的DHCP的子網和起始地址進行修改,點擊“虛擬網絡編輯器”

重新配置網卡,將VMware Network Adapter VMnet1虛擬網卡作爲虛擬機的路由。


然後重啓網卡。

現在我們可以試試ping下外網。


然後在用主機去ping虛擬機:

現在就可以實現主機和虛擬機之間和外網的連通了。
————————————————
版權聲明:本文爲CSDN博主「c.」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/cckevincyh/article/details/80543510

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章