I have recently installed at home a new Windows Server 2008 R2 SP1 to be used primarily as a hyper-v host for several home servers. I'm having some interesting networking issues that I suspect are related to my AT&T Uverse (2Wire) router, but I can't identify the problem.
When I try and copy files from either the host server, or my guest VM (WHS 2011), I get very slow performance and more often than not, the connection drops. Similarly, when I RDP into either box, the connection seems to succeed (I often see a flash of the desktop or login screen) but then the RDP window goes black and eventually drops. I've tried connecting via DNS name or via loca network IP address (192.168.1.x) with the same result.
But here's the interesting thing... I've opened the RDP port (3389) on the router and forwarded the port to 3389 on the host server. And when I connect RDP via my public IP address, it works flawlessly. Grrr. This is why I think something is wrong at the router instead of the server. I've tried disabling firewalls with no effect.
Here's the configuration:
- Host server: Windows 2008 R2 SP1 / Intel i7 / 16GB / Dual PCI NICs.
- One NIC dedicated for the host server, one NIC assigned to the Hyper-V virtual network.
- Virtual server: Windows Home Server 2011 / 4 cores / 4 GB.
- AT&T Uverse with their 2Wire router.
I've been through the router settings and everything seems to be okay. I'm wondering if I need to reduce the frame size, but I haven't messed with that yet on the servers.
How can I troubleshoot this kind of networking problem?
I've tried the following:
- Swapping NICs in the server so that what was dedicated to the server is now dedicated to the virtual network, and vice versa.
- I added a Linksys WRT400N (running dd-wrt preSP2 14896) to the network in it's own subnet (192.168.2.), with the new router getting it's address from 2Wire (192.168.1.).
- I've tried 2 different laptops, both via wireless (G & N) and wired.
- I've tried reducing the MTU from 1500 (default) to 1492 and 1300 on all systems on the network
All with no luck. I can reproduce the problem easily with the following test between two laptops and the virtual server:
- Run "ping [server ip] /t" to get neverending ping on laptop 1
- Run "ping [server ip] /t" on laptop 2
- Notice that for a couple of minutes, ping seems to be somewhat flaky (drops about 10% of pings) then it settles down and works fine.
- Run "mstsc /v:[server ip]" on laptop 1 to try and connect via RDP
The remote session attempts to start, but fails after about 15 seconds. During this time, ping on both laptop 1 and laptop 2 to the server address fails. I can do this every single time. What the!?! There are no events on the virtual machine or host machine's event log that looks suspicious. I was wondering if perhaps the TCP/IP stack on the VM was crashing and being reset, but running ping /t on the server to itself works fine... I know it goes through the loop-back interface, but if there was something systemic with the IP stack I figured I'd see a hiccup... i didn't.
Update 8/18/2011 (a bit later)
After more trolling and experimenting with LAN adapter advanced settings I stumbled across this link to do with Large Send Offload (IPv4). I disabled LSO on the virtual NIC and the dedicated physical NIC assigned to the virtual network. And now things seem to be running better... I'm able to get stable RDP connections to the virtual machines and run other remote-enabled tools. Now time to try large data transfers (such as backup). I'll keep you posted.