首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

VirtualBox Host-Only 模式下 Win7 主機與客戶機無法互 Ping 解決辦法

     編輯:程式設計疑難解答

在 Windows 7 主機上使用 VirtualBox 建立 Host-Only 網路,並嘗試讓主機與客戶機(如 Linux Mint)互通,卻發現雙方無法互 Ping,且共享網路設定過一段時間就失效。這通常是防火牆攔截了 ICMP 封包,或是網路介面卡優先級/度量值設定不當導致的。

現象回顧

  • 主機 Win7,VirtualBox 建立 Host-Only Adapter(vboxnet0)
  • 客戶機 Mint 設定為 Host-Only,IP 同網段(如 192.168.56.x)
  • 主機共享無線網路給 Host-Only 介面,IP 手動設定同網段
  • 雙向 Ping 均失敗,過一會共享網路自動消失需重設

核心解決方案

1. 關閉主機防火牆(最直接有效)

Win7 預設防火牆會阻擋「公用/非受信任」網路上的 ICMP Echo Request。Host-Only 網路常被識別為「非受信任」。

控制台 → 系統與安全性 → Windows 防火牆 → 開啟或關閉 Windows 防火牆
→ 專用/家庭/公用網路均選「關閉 Windows 防火牆」(測試階段)

測試通後,建議改為「啟用防火牆」並新增「允許 ICMPv4 進入」規則:

高階安全性 Windows 防火牆 → 輸入規則 → 新增規則 → 自訂
→ 通訊協定類型:ICMPv4 → 類型:Echo Request → 允許連線
→ 設定檔:勾選網域/專用/公用 → 命名「Allow Ping from Host-Only」

2. 固定 Host-Only 介面 IP,避免 DHCP 衝突

VirtualBox 預設為 Host-Only 提供 DHCP,若主機手動設 IP 又開啟 DHCP,會造成 IP 衝突導致斷線。

  • VirtualBox → 檔案 → 偏好設定 → 網路 → Host-Only Networks → 編輯 vboxnet0
  • 取消勾選「啟用 DHCP 伺服器」
  • 主機網路介面卡 IPv4 手動設定:IP 192.168.56.1 / 子網路遮罩 255.255.255.0 / 閘道留空
  • 客戶機 /etc/network/interfaces 靜態設定:IP 192.168.56.10 / 遮罩 255.255.255.0

3. 調整網路介面卡度量值,優先走 Host-Only

Win7 多網卡時,路由度量值決定流量出口。若無線網卡度量值較低,流量會走無線而非 Host-Only。

ncpa.cpl → 無線網卡/Host-Only 網卡 → 右鍵內容 → IPv4 → 進階
→ 取消「自動度量值」→ 介面度量值:Host-Only 設 10,無線設 20

4. 共用網路(ICS)的替代方案

ICS(Internet Connection Sharing)在 Win7 上不穩定,常自動關閉。建議改用:

  • NAT 模式:客戶機直接用 NAT 上網,主機 ↔ 客戶機再加一張 Host-Only 僅供互訪
  • 橋接模式:客戶機直連實體路由器,與主機平級,最穩定

驗證步驟

  1. 主機 ping 192.168.56.10 成功
  2. 客戶機 ping 192.168.56.1 成功
  3. 客戶機 ping 8.8.8.8 成功(若用 NAT/橋接)
  4. 持續運行 30 分鐘無斷線

按此流程設定後,Win7 主機與 VirtualBox 客戶機即可穩定互通,解決 Ping 不通與共享網路失效問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved