問題:為什么虛擬機在NAT模式下,虛擬機無法ping通主機?
這里首先要講一下:TPC/IP都是網(wǎng)絡(luò)層的協(xié)議,而網(wǎng)卡在鏈路層,所以網(wǎng)卡的作用就是接受報文,分發(fā)報文的。真正判斷這個消息是不是發(fā)給本地主機的,還是由網(wǎng)絡(luò)協(xié)議進行判讀。然后進行扔包還是抓取處理。
NAT模式圖文說明:
虛擬機A1、A2是主機A中的虛擬機,虛擬機B1是主機B中的虛擬機。其中的“NAT路由器”是只啟用了NAT功能的路由器,用來把VMnet8交換機上連接的計算機通過NAT功能連接到VMnet0虛擬交換機。A1、A2、B1設(shè)置為NAT方式,此時A1、A2可以單向訪問主機B、C,而B、C不能訪問A1、A2;B1可以單向訪問主機A、C,而A、C不能訪問B1;A1、A2與A,B1與B可以互訪。
注:
這里VMnet0是橋接模式的虛擬網(wǎng)卡,VMnet8是NAT模式的虛擬網(wǎng)卡,由于NAT模式具有地址轉(zhuǎn)換功能,從而可以模擬路由器。
而在橋接模式下,虛擬機是橋接到物理網(wǎng)卡上的,就好比網(wǎng)卡有兩個IP,連接到局域網(wǎng)的。NAT模式是
如果解決NAT模式下,主機ping通虛擬機,而虛擬機ping不通主機
假設(shè)192.168.0.1是host的ip,這樣看起來icmp報文已經(jīng)出現(xiàn)在vmnet8上了,但host出于某些原因沒有應(yīng)答。
最可能的原因是host上的防火墻,不允許自己的IP被ping?!?#8212;-臨時關(guān)閉windows防火墻試一下。
相對的,host自己發(fā)起的ping,所產(chǎn)生的應(yīng)答(icmpreply)則被防火墻允許通過。