VMware 虛擬機 Linux 連不上網?Host-Only 模式搭配主機連線共享解決
在 Windows XP 主機上使用 VMware Workstation 7.0 運行 Red Hat Linux 9,預設網路模式可能無法上網。本文說明如何設定 Host-Only 模式 + 主機網路連線共享 讓虛擬機順利連上網際網路。
環境說明
- 主機系統:Windows XP
- 虛擬機軟體:VMware Workstation 7.0
- 客體系統:Red Hat Linux 9
- VMnet1 (Host-Only) IP:
192.168.0.1(主機端自動指派)
設定步驟
- 虛擬機網路模式設為 Host-Only:
虛擬機設定 → 網路介面卡 → 選擇「Host-Only」
- 主機啟用網路連線共享 (ICS):
「網路連線」→ 右鍵「本地連線」(連上網際網路的介面)→ 「內容」 → 「進階」 → 勾選「允許其他網路使用者透過這台電腦的網際網路連線來連線」 → 「家庭網路連線」選擇 VMware Network Adapter VMnet1
- 虛擬機 Linux 設定靜態 IP:
IP:192.168.0.2
網路遮罩:255.255.255.0
閘道:192.168.0.1(VMnet1 主機端 IP)
DNS:可留空或填主機 DNS / 公開 DNS (8.8.8.8)
原理解析:封包傳遞路徑
- 虛擬機
eth0 送出封包 → 閘道 192.168.0.1 (VMnet1)
- 主機 ICS 服務接收封包,執行 NAT:將來源 IP/MAC 改為主機實體網卡 IP/MAC
- 封包經主機實體網卡送往網際網路
- 回應封包經主機 NAT 反向轉換後送回虛擬機
驗證:Wireshark 抓包確認
主機運行 Wireshark 抓取實體網卡封包,ping www.baidu.com 可見封包來源 IP 為主機真實 IP (192.168.1.102),而非虛擬機網段 (192.168.0.x),證明 NAT 運作正常。
補充說明
- VMware 另提供 NAT 模式 (VMnet8) 內建 NAT 功能,設定更簡單(虛擬機直接 DHCP 即可上網),但 Host-Only + ICS 適合主機無固定 IP、需手動控制 NAT 行為的場景
- Linux 客體若為新版發行版(CentOS 7+, Ubuntu 18.04+),網路設定檔路徑與指令不同(
nmcli/netplan/ip),請參考對應版本文件