因測試須要,本人在win7上安裝VMWare后在啟動兩台ubuntuserver。兩台主機的網絡配置所有採用NAT方式實現連接。
之后一路暢通。主機ping通虛擬機和外網,虛擬機之間互相ping通。且ping通主機和外網。
因為須要外部client訪問ubuntu服務。須要訪問其特定port跑的程序。可卻一直ping不通...請求了師兄和谷哥度娘后,採用以下方法攻克了,分享方案。
分析原因
因為虛擬機採用NAT方法,其網絡地址為主機子網網絡。訪問外部網絡自然先走網關然后踩着主機的肩膀可大大咧咧隨便訪問外網。但是外網找不到虛擬機網絡port,但是我們找得到win7主機。所以,我們採用借助主機win7來做代理進行port轉發。解決方法
(1)打開VMware軟件,選擇“編輯”→“虛擬網絡編輯器”

(2)選擇NAT模式后,點擊VMnet信息中的“NAT設置(S)..”進行NAT配置

(3)進入NAT設置后。點擊“加入”加入port轉發

(4)進入加入頁面后填寫轉發信息

圖中填寫的信息場景為:當外網想要訪問“192.168.204.129:3000”的內容的時候。因為訪問不到192.168.204.129,所以訪問“<主機IP>:<5050>”來取代。
也意味着主機上5050的port暴露的內容實際上會鏈接到虛擬機的內容。
(5)成功加入port轉發。可進行訪問

依照上述的做法,通常是能夠成功訪問到虛擬機上的程序的。可是有些主機因為防火牆的限制可能導致外網訪問不到資源,因此我們能夠採取下面的做法。
(1)打開“控制面板”→“Windows防火牆”,點擊“高級設置”

(2)點擊左上角“入站規則”,然后點擊右上角“新建規則”

(3)選擇“port”,點擊“下一步”

(4)選擇“TCP”(依據實際情況)。在“特地給本地port(S)”寫上須要訪問的port。點擊“下一步”

(5)默認選擇“同意連接”。點擊“下一步”,之后繼續“下一步”

(6)填寫“名稱”、“描寫敘述”,點擊“完畢”

至此完畢全部配置工作。