環境
- 宿主機:Windows,已透過 PPPoE 撥號上網
- 虛擬機:Linux (Red Hat/CentOS/Fedora 等)
- 目標:虛擬機橋接宿主機實體網卡,獲取獨立 LAN IP,直接上網
配置步驟
- 宿主機網路共享
- 控制台 → 網路連線 → PPPoE 連線 → 內容 → 進階 → 勾選「允許其他網路使用者透過此電腦的網際網路連線來連線」
- 宿主機區域連線 (實體網卡) IP 會自動變為
192.168.0.1 (ICS 預設閘道)
- 虛擬機網卡模式設為橋接
- VMware 設定 → 網路介面卡 → Bridged (橋接) → 勾選「Replicate physical network connection state」
- 虛擬機內配置靜態 IP
# 使用 netconfig 或直接編輯
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=202.96.134.133 # 宿主機 nslookup 獲得的 DNS
DNS2=202.96.128.68
ONBOOT=yes
- 重啟網路服務生效
service network restart
# 或 systemctl restart NetworkManager
- 驗證連通性
ifconfig eth0 # 確認 IP/Netmask
ping 192.168.0.1 # 閘道
ping 8.8.8.8 # 公網 IP
ping www.baidu.com # DNS 解析
常見問題與解決
| 現象 | 原因 | 解決 |
| 宿主機 ping 通虛擬機,虛擬機 ping 不通宿主機/外網 | 宿主機防火牆阻擋 ICMP/轉發 | 關閉宿主機防火牆或允許 ICMP/ICS 流量 |
| 虛擬機獲取不到 IP (若用 DHCP) | 橋接模式下虛擬機直連物理交換機,需物理 DHCP 伺服器 | 改用靜態 IP 或確保物理網段有 DHCP |
| DNS 解析失敗 | /etc/resolv.conf 未生成或 DNS 錯誤 | 檢查 nmcli dev show、手動寫入 nameserver |
| 網路服務重啟失敗 | NetworkManager 與 network scripts 衝突 | 統一用 NetworkManager (nmcli) 或停用 NM 純用 scripts |
進階:NAT 模式對比
| 模式 | 虛擬機 IP | 外部可主動連虛擬機 | 適用場景 |
| Bridged | 獨立 LAN IP (同網段) | 是 (需防火牆允許) | 伺服器服務、叢集、直接對外 |
| NAT | VMnet8 子網 (如 192.168.122.x) | 需埠映射 (VMware 虛擬網路編輯器) | 僅需出網、隔離安全、筆電移動辦公 |
| Host-Only | VMnet1 子網 | 否 (僅宿主機雙向) | 完全隔離測試環境 |
總結
橋接模式讓虛擬機成為 LAN 獨立節點,配合宿主機 ICS 共享上網,是「無額外路由器」環境下最直觀的上網方案。關鍵在於宿主機防火牆放行與虛擬機靜態 IP/閘道/DNS 正確。