談談VMWare的NAT模式

網上已經有很多設置NAT的方法,這篇博客不做設置的介紹。這篇文章主要是討論在NAT模式下宿主機與虛擬機的交互原理。


測試環境:windows10系統,VMWare Workstation Pro14,kali操作系統

準備工作:在VMWare Workstation Pro14上面安裝好Kali系統。

關於安裝完kali操作系統後有時候無法連接上網的問題,可以查看下是不是vmware的相關服務沒開起來。具體方法如下:

右擊我的電腦管理後打開計算機管理。接着找到如下的服務打開它就行。


首先來看下我宿主機的ip配置,

在運行命令號輸入cmd-->ipconfig指令即可調出相關的網卡設置


可以看到這是我電腦的相關的網卡設置,一個是WLAN,一個是VMnet8。

接下來看下虛擬機上運行的kali系統的網卡設置:


以及虛擬機對應的虛擬網關:


一、在wmnet8開啓的條件下進行測試:

1、在宿主機上tracert/ping虛擬機(宿主機-->虛擬機)

輸入指令tracert  192.168.191.131後結果顯示:


宿主機配有兩個網卡,一個是虛擬網卡vmnet8(192.168.191.1)以及一個wlan(192.168.1.103),兩個網卡處在不同的網段中。而虛擬機的網段是在192.168.191.131,根wmnet8的網卡處在同一個網段。假設tracert的icmp數據是從wlan發送出去的話必定經過一個路由器。而經過上面的結果顯示該指令的探測數據並沒有經過路由器,所以可以得知。在wmnet8開啓的前提下,宿主機單方面與虛擬機的交互是通過vmnet8虛擬網卡進行。

2、在虛擬機上面進行traceroute/ping宿主機(虛擬機-->宿主機)

由於宿主機有兩個網卡,我們對兩個網卡分別進行traceroute測試:

(爲了方式tracertoute指令能夠成功返回數據需要將宿主機的防火牆關閉)

①在shell中運行指令traceroute -I 192.168.191.1


這一個結果應該是毫無懸念的。虛擬機的ip地址是192.168.191.131-->192.168.191.1在同一個網段中,所以結果就是不通過路由器直接traceroute到目標機器

②在shell中運行指令traceroute -I 192.168.1.103


這一結果可以說明,宿主機的wlan網卡跟虛擬機的處於不同網段並且通過網關相連。

二、在wmnet8關閉的條件下進行測試:

在網絡連接中將vmnet8禁用


1、在宿主機上tracert/ping虛擬機(宿主機-->虛擬機)

在宿主機上面ping虛擬機後發現ping不通,即便去掉了vmnet8後宿主機應該也還有wlan網卡。那麼唯一的可能性就是vmware的宿主機跟虛擬機的單方向通信的話是隻能通過vmnet8虛擬網卡進行。

2、在虛擬機上traceroute/ping宿主機(虛擬機-->宿主機)

由於關閉了wmnet8,所以宿主機就只剩下wlan的ip地址。


可以發現虛擬機還是可以跟宿主機的wlan網卡進行單方面的通信的。

二、在wmnet8開啓的條件下進行測試虛擬機與外網的通信:

這是一個tracertroute 百度的結果。可以看到第二條消息。在通過了192.168.1.1這一個網關,這一個網關的地址跟wlan是在同一個網段的,所以可想而知虛擬機想要通過跟外網進行通信還是需要經過物理網卡進行通信,對於虛擬機而言。wlan就像是一個網關


總結:

(沒有標上箭頭的表示雙向數據流動)

(以上內容與結果均來自於實驗以及理論分析得出,並不能保證百分百正確,如果有什麼錯誤的地方歡迎指正)

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