我有一台连接到快速网络的 VMWare ESXi 主机。该主机运行两个虚拟机:
- 网关
- 客户
网关有两个网络接口,一个桥接到外部网络 (vSwitch0),另一个桥接到服务器的内部网络 (vSwitch1)。它具有火神安装并且它正在为内部客户端机器执行 NAT 和端口转发。
客户端计算机具有内部 IP,并通过网关连接到互联网。一切运行良好,但从客户端到互联网的传输速度非常慢,低于 30kB/s。网关到互联网的传输速度很快(100Mbit),从互联网到客户端的流量也很快。我尝试进行网络转储以查看问题可能出在哪里,但没有发现任何问题。一切看起来都像是线路很慢。
此外,两台虚拟机之间的传输速度几乎达到千兆位。所以这也不是问题。两台机器都运行 Debian Lenny,没有进行任何特殊修改。我使用 open-vm-tools 进行 VMXNET 半虚拟化网络。
答案1
我找到了解决这个问题的方法。
对于完全内部网络(未连接到任何物理网络接口),您需要从操作系统内部禁用 TCP 分段卸载。
这是一个简单的命令:
ethtool -K <interface> tso off
执行此命令后,我的传输速度从 30kb/s 提高到了 100Mbit。
答案2
您是否尝试过使用其他类型的虚拟网卡?E1000 仿真对我来说似乎运行良好,也许它是基于驱动程序的?