Networking

VirtualBox 橋接適配器可以 ping 但不能捲曲

  • July 14, 2018

有一個執行 Ubuntu Server 12.04.2 的專用伺服器。此伺服器有 4 個可用 IP:A、B、C、D。伺服器本身佔用 A。

伺服器現在執行兩個 VirtualBox 來賓,都具有“橋接適配器”網路類型。一位客人正在執行 Windows Server 2003,使用 IP 地址 B。另一位客人正在執行 Arch Linux (Live CD),使用 IP 地址 C。

  1. 在 Ubuntu 主機中,網路很好。我可以apt-get而且下載速度很好。
  2. 在 Windows 客戶機中,我可以ping www.google.com在 cmd.exe 中,但我無法在 IE6 中訪問 www.google.com
  3. 在 Arch Linux 來賓中,我可以ping www.google.com在 zsh 中,但curl -v www.google.com不起作用。我也可以telnet www.google.com 80,這意味著至少有 80/tcp 和 53/udp 埠​​在工作。(實際上,伺服器上沒有 iptables 防火牆。)
  4. 在 Arch Linux guest 中,我什至可以ssh到另一台機器上!(使用標準 22/tcp )
  5. 在 Arch Linux 客戶機中,我嘗試訪問wget一些 https 站點,它停留在“正在連接到 XXX.XXX.XXX.XXX:443…已連接”。

我已嘗試更改--nictype1VM 的設置和/或在來賓作業系統中設置不同的 MTU,但問題仍然存在。

誰能幫我?

附加資訊:將“橋接適配器”更改為“NAT”時,來賓作業系統可以curl www.google.com. 一切安好。但是由於我需要公共 IP,所以我必須為來賓作業系統使用“橋接適配器”。

附加資訊 2:在帶有“橋接適配器”的來賓作業系統中,我可以ssh使用 22/tcp 的其他主機,我可以dig使用 53/udp 的某些域,但我不能wgetcurl使用 80/tcp 或 443/tcp 的網站,但telnet www.google.com 80ortelnet www.google.com 443很好。使用 “NAT” 時,一切都很好。

嗯,這是我自己想出來的。

我偶然發現我可以curl google.com但不能curl www.google.com,因為第一個比較小,我認為這是 MTU 或其他問題,導致客戶作業系統無法傳輸大段數據。

在Google搜尋“虛擬橋接 mtu”後,我發現了這篇文章:https ://forums.virtualbox.org/viewtopic.php?f=7&t=30632&start=0

然後我在 Ubuntu Server 中嘗試ethtool -K eth2 sg off rx off tx off tso off了(eth2 是橋接介面),然後……它就像一個魅力!即刻

引用自:https://serverfault.com/questions/491457