1. 程式人生 > 實用技巧 >那些年踩過的坑 之 電腦安裝了抓包工具或者埠掃描工具導致主機ping不通VMWare虛擬機器中的系統

那些年踩過的坑 之 電腦安裝了抓包工具或者埠掃描工具導致主機ping不通VMWare虛擬機器中的系統

背景描述:

因為電腦裝了VMWare且安裝了CentOS,且安裝了SSH服務,這樣可以在主機上用客戶端連線虛擬機器並訪問,開機完之後是可以訪問,即能連線的上。相應的主機網路配置如下圖1所示,可以發現VMnet1和VMnet8的地址都在192.168.xx.xx段,所以主機可以連通虛擬機器,虛擬機器也能連線主機。主機聯網的情況下,虛擬機器也可以連線外網。

圖1

相安無事,想連就連多好,但是一個情況的發生偏偏導致連線不上的問題出現了。

問題來了:電腦長時間不用,睡眠了,之後開始登入計算機,在主機上用SSH客戶端重新連線VMWare中的虛擬機器,發現連不上了見圖2。嘗試重新連線,這時候問題出現了,如圖3所示。Emmmm,內心深處真的是五味雜陳,(內心獨白:剛剛還用的好好的呢,這會怎麼就。。。。。。),你怎麼也想不到,這個是跟電腦睡眠有關,電腦的睡眠導致了這一切。開始windows cmd查ipconfig,這一查不要緊,簡直是晴天霹靂。如圖4所示,看出什麼區別沒有。

沒錯VMnet1的地址變了,##說翻臉就翻臉##。強行給我從192.168.111.1變成了169.254.123.190,原來問題出在了這,我說怎麼連不上了,在這搞小動作。

那咱就開始解決唄!

開啟百度,各種百度教程,嘗試找出原因,解決辦法。大方向就是:主機ping不通虛擬機器,但是虛擬機器可以ping通主機。還真有一大堆解決辦法,總結如下就是配置VMnet8的網路,或者是配置VMnet1的網路,但是其中又說VMnet1的不用配置,自動配置就行了。(我的就是自動配置的,IP自動獲取,正是因為這個自動配置,VMnet1的地址想變成啥就變成啥。),看了這些也都試了一下,結果發現都不行,越整越惱火,越整越氣。

心灰意冷,心如死灰。罷了,開始-重啟,把電腦重啟了。這個時候再習慣性把虛擬機器開啟,開啟遠端連線的客戶端,連線成功!!!!見圖5。心裡別提多高興了,看了下ipconfig如圖6,又恢復了。猜想出現這個問題就重啟就完事了唄!接著試了一下果然可以哎,(行,出現這個問題咱就重啟,哈哈哈)。後來再瞭解的時候,我才知道(重啟電腦可以解決這個問題其實是把包括VMnet1、VMnet8在內的所有網絡卡重啟了)。

那麼,隨之而來的也就是解決辦法的出現:畫重點:重啟VMnet1VMnet8的網絡卡,(如果不在意VMnet1的地址,只需要重啟VMnet8的網絡卡就行)如圖7、圖8所示。圖8中的操作是先禁用再啟用。

到這可能有人不信,不信你去重啟下試試,真的解決了這個問題,如圖9所示,VMnet的網路又回來了,有沒有!!驚不驚喜,意不意,刺不刺激。連線成功介面如圖10所示。

###############################################################

至此,不要著急結束!繼續往下看!

###############################################################

圖2

圖3

圖4

圖6

圖7

圖8

圖9

圖10

到這,表面上看解決了這個問題,實則真的只是解決了表象問題,只是揚湯止沸的做法。

繼續查資料:

網上提到過一種情況,Nmap的加入影響了虛擬機器的網路。

因為在windows主機上安裝了nmap埠掃描工具,在圖11中,多了Npcap開頭的專案,感覺是這個影響了VMnet的網路連線情況,具體的底層也不是很清楚了。經過測試,確實在去掉這些勾選之後,在睡眠之後在開啟機器依然是可以從主機成功連線虛擬機器。

綜上所述,總結解決辦法如下:

第一種(治標不治本):重啟VMnet8網絡卡,解決問題。下次再出現的時候需要重啟網絡卡。

第二種:這是掃描工具,去掉勾選則不能再用於掃描虛擬機器中的服務資訊。

第三種:不使用NAT模式,直接橋接模式。

11