我最近在家里安装了一台新的 Windows Server 2008 R2 SP1,主要用作多台家庭服务器的 Hyper-V 主机。我遇到了一些有趣的网络问题,我怀疑这些问题与我的 AT&T Uverse (2Wire) 路由器有关,但我无法确定问题所在。
当我尝试从主机服务器或我的客户虚拟机 (WHS 2011) 复制文件时,性能非常慢,而且连接经常中断。同样,当我通过 RDP 连接到任一框时,连接似乎成功了(我经常看到桌面或登录屏幕闪烁),但随后 RDP 窗口变黑并最终断开。我尝试通过 DNS 名称或本地网络 IP 地址 (192.168.1.x) 进行连接,结果相同。
但有趣的是……我在路由器上打开了 RDP 端口 (3389),并将端口转发到主机服务器上的 3389。当我通过我的公共 IP 地址连接 RDP 时,它运行正常。哎呀。这就是为什么我认为路由器而不是服务器出了问题。我试过禁用防火墙,但没有效果。
配置如下:
- 主机服务器:Windows 2008 R2 SP1 / Intel i7 / 16GB / 双 PCI NIC。
- 一个 NIC 专用于主机服务器,一个 NIC 分配给 Hyper-V 虚拟网络。
- 虚拟服务器:Windows Home Server 2011/4 核/4 GB。
- AT&T Uverse 及其 2Wire 路由器。
我已经检查过路由器设置,一切似乎都正常。我想知道是否需要减小帧大小,但我还没有在服务器上进行过调整。
我该如何解决此类网络问题?
2011 年 8 月 18 日更新
我尝试了以下方法:
- 交换服务器中的 NIC,以便专用于服务器的现在专用于虚拟网络,反之亦然。
- 我将 Linksys WRT400N(运行 dd-wrt preSP2 14896)添加到其自己的子网(192.168.2)中的网络中。),新路由器的地址来自 2Wire (192.168.1.)。
- 我尝试过 2 台不同的笔记本电脑,均通过无线(G 和 N)和有线连接。
- 我尝试将网络上所有系统的 MTU 从 1500(默认值)降低到 1492 和 1300
一切都没有好运。我可以通过以下在两台笔记本电脑和虚拟服务器之间的测试轻松重现该问题:
- 运行“ping [服务器 ip] /t”以使笔记本电脑 1 上获得永不停止的 ping
- 在笔记本电脑 2 上运行“ping [服务器 ip] /t”
- 请注意,几分钟后,ping 值似乎有点不稳定(下降了约 10%),然后它就稳定下来并正常工作。
- 在笔记本电脑 1 上运行“mstsc /v:[服务器 ip]”尝试通过 RDP 连接
远程会话尝试启动,但大约 15 秒后失败。在此期间,笔记本电脑 1 和笔记本电脑 2 上对服务器地址的 ping 操作均失败。我每次都能做到这一点。什么鬼!?!虚拟机或主机事件日志中没有任何可疑事件。我想知道虚拟机上的 TCP/IP 堆栈是否崩溃并被重置,但在服务器上对自身运行 ping /t 却没有问题……我知道它通过环回接口,但如果 IP 堆栈存在系统性问题,我想我会看到一个小问题……但我没有看到。
怎么办!?!
2011 年 8 月 18 日更新(稍晚)
在对 LAN 适配器高级设置进行更多尝试后,我偶然发现了此链接与大型发送卸载 (IPv4) 有关。我禁用了虚拟 NIC 和分配给虚拟网络的专用物理 NIC 上的 LSO。现在一切似乎都好转了……我能够与虚拟机建立稳定的 RDP 连接并运行其他支持远程的工具。现在是时候尝试大量数据传输(例如备份)了。我会及时通知您。
答案1
认为值得考虑/尝试的事情:
- 确保你的 LAN 性能情况可以通过至少两个或更多工作站连接到服务器组合来复制/验证(如果可能的话,也排除工作站本身)
- 在交换机或不同于 2Wire 的设备上测试等效配置(这将排除或隔离系统的情况)
- 如果情况可以隔离到系统,则考虑手动设置 NIC 线路/双工以排除任何“自动检测”协商问题
这些步骤有望帮助确定这是 2Wire 还是服务器的问题,以便根据需要进行进一步的故障排除。
答案2
问题出在 NIC 的 Large Send Offload (IPv4) 设置上。我偶然发现了此链接与大型发送卸载 (IPv4) 有关。我禁用了虚拟 NIC 和分配给虚拟网络的专用物理 NIC 上的 LSO。现在一切似乎都运行得更好了。我可以执行高带宽操作,例如文件复制、RDP、流媒体和备份。
问题解决了!