Vmware 網路模式Bridge, NAT, Host-only 以及設定host通過127.0.0.1訪問vm web server

Frank範發表於2017-08-27

記錄折騰的一件事,其實是很簡單的一個事情,就是因為之前沒有搞明白原理才走了很多彎路,最終目的是可以在host上通過127.0.0.1訪問VM中的一個Web Server(用MedieaWiki 搭了個人Wiki,方式記錄工作和生活中的知識)。技術,就是一點點弄懂,懂了之後就覺得很簡單的一件事,所以有時候狂試並不是一個明智的做法,仔細分析下也許就柳暗花明了。

Vmware 網路模式

看了很多文章介紹Vmware的上網方式,其實只有結合實踐才能自己真正理解。
vmware 預設的網路模式如下圖,分別是bridge,hostonly,nat, 如果你現在上不了網可以試著點選左下角恢復預設設定。編輯->虛擬網路編輯器可以檢視到下圖。
預設的網路模式

1 Bridge

Bridge 就是通過host的網作為bridge上網,VM就是區域網中的一臺獨立主機,需要手工位VM配置ip,netmask,gateway,並且要和host一致。這種模式下,虛擬機器內部的網路卡(如eth0),直接連線到了主機物理網路卡所在的網路上。

2 NAT

讓VM藉助NAT(網路地址轉換),通過host的網路進行訪問,VM的TCP/IP配置資訊由VMnet8虛擬網路的DHCP伺服器提供,該模式比較簡單,無需配置網路。

3 host-only

字如其名,host-only就是僅僅可以訪問host,實用於將真實環境和虛擬環境隔離,虛擬系統和真實的網路是隔離的,該模式下,VM的TCP/IP配置,都是有VMnet1 的DHCP動態分配,預設情況下,虛擬機器只能到主機訪問。

host通過127.0.0.1訪問vm web server

Step1: 設定NAT上網

虛擬機器->設定
VM-NAT

Step2: 設定port 轉發

進入VM,ifconfig eth0 檢視eth0的地址,在埠轉發列表中,新增vm_ip:port,主機埠。
這裡寫圖片描述

Step3: 設定靜態地址

ubuntu下:
sudo vi /etc/network/interfaces

auto eth0  
iface eth0 inet static 
address 192.168.237.128
gateway 192.168.237.2
dns-nameservers 8.8.8.8

這樣,每次VM開機,都是一個靜態的ip。

Step4: host上檢視Server

host 輸入:http://127.0.0.1:8080/, 就可以訪問vm的web server了。

Troubleshooting

  • NAT 設定上網後,VM的網路連線小圖表顯示的網路沒有連線狀態,這是正常的,只有是bridge這種方式,顯示的是連線狀態。
    這裡寫圖片描述
  • 如果發現在虛擬機器上不了網
    ping 不通8.8.8.8,檢視是否有預設閘道器
    這裡寫圖片描述
  • 如果是bridge 方式,發現不能上網
    檢視:
    檢視電腦的Control Panel\Network and Internet\Network Connections, 是否enable 虛擬機器網路卡:
    這裡寫圖片描述
    NAT 方式下上網是不需要虛擬網路卡的。

相關文章