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