Hyper-V Default Switch Not Giving Internet to VM – Real Fix

Server & Cloud Intermediate 👁 37 views 📅 Jun 28, 2026

When your Hyper-V VM can't reach the internet through the Default Switch, it's usually a networking stack or DNS issue. Here's how to get it working again fast.

You just created a new VM in Hyper-V, selected the Default Switch, and booted up. But when you open a browser or try to ping google.com, nothing happens. No internet. The VM shows a network connection, but it's dead.

I see this all the time with small business clients who use Hyper-V on Windows 10 or 11 Pro. They spin up a quick test VM, and boom—no internet. The Default Switch is supposed to work out of the box, but it doesn't always cooperate.

Why the Default Switch Fails

The Hyper-V Default Switch uses NAT (Network Address Translation) and DHCP to give your VM internet access through your host's physical network. But it's not a full router—it's a lightweight solution that can break easily.

Common triggers:

  • You changed the host's network adapter (like switching from Wi-Fi to Ethernet).
  • The host's network profile changed (public to private or vice versa).
  • Windows Update messed with the Hyper-V Virtual Switch Extension Protocol driver.
  • The VM's DNS is hardcoded to something stupid (like an old internal DNS server).
  • You disabled and re-enabled the host's network adapter.

In one case, a client had their host connected to a VPN, and the Default Switch got confused about which network to use. Another time, Windows Defender Firewall blocked the NAT traffic after a feature update.

The Real Fix – Step by Step

Skip the reset network settings button in Windows. That's a waste of time. Here's what actually works.

Step 1: Check the VM's Network Adapter

Open Hyper-V Manager. Right-click the VM and go to Settings. Under Network Adapter, make sure the virtual switch is set to Default Switch. If it's something else (like an old external switch), change it back.

If you see Not connected, that's your problem right there.

Step 2: Reset the Default Switch

Open PowerShell as Administrator. Run these two commands:

Get-VMSwitch | Where-Object {$_.SwitchType -eq 'Internal'} | Disable-VMSwitch
Get-VMSwitch | Where-Object {$_.SwitchType -eq 'Internal'} | Enable-VMSwitch

This toggles the switch off and on, resetting its internal state. Wait 10 seconds after the disable, then run the enable. I've seen this fix 70% of cases right away.

Step 3: Reset the NAT and DHCP Services

Still dead? The NAT engine might be stuck. Run these in PowerShell (Admin):

net stop winnat
net start winnat

Then restart the VM. This clears the NAT table and DHCP lease pool.

Step 4: Check DNS Inside the VM

If the VM gets an IP (like 172.x.x.x) but can't browse, DNS is the usual suspect. Inside the VM, open a command prompt and run ipconfig /all. Look at the DNS servers.

If they show something weird—like 192.168.x.x that doesn't exist or 0.0.0.0—set them manually to 8.8.8.8 (Google) or 1.1.1.1 (Cloudflare).

In the VM's network settings, go to IPv4 properties and change DNS. Or run this in the VM (as admin):

netsh interface ip set dns "Ethernet" static 8.8.8.8

Step 5: Rebuild the Default Switch (Last Resort)

If nothing works, nuke it and start over. In PowerShell (Admin):

Get-VMSwitch -Name "Default Switch" | Remove-VMSwitch -Force

This deletes the switch. No confirmation dialog. Then create a new one:

New-VMSwitch -Name "Default Switch" -SwitchType Internal -Notes "Default switch created by Hyper-V"

Now you need to set up NAT manually. Run these commands:

New-NetIPAddress -IPAddress 192.168.137.1 -PrefixLength 24 -InterfaceAlias "vEthernet (Default Switch)"
New-NetNat -Name "DefaultNat" -InternalIPInterfaceAddressPrefix 192.168.137.0/24

Finally, in the VM, set an IP in the 192.168.137.x range with subnet 255.255.255.0 and gateway 192.168.137.1. Use DNS 8.8.8.8. This gives you a fully manual Default Switch that works.

What to Check If It Still Fails

If you've done all that and still no internet, look at these:

  • Host firewall: Temporarily turn off Windows Defender Firewall on the host. If the VM works, add an inbound rule for Hyper-V NAT (ports 53, 80, 443 usually).
  • VPN software: Disconnect any VPN on the host. Some VPNs (like Cisco AnyConnect or OpenVPN) add routes that block NAT traffic.
  • Antivirus: Norton and McAfee are notorious for killing Hyper-V networking. Check their firewall settings.
  • Windows Feature: Make sure Hyper-V Platform and Hyper-V Management Tools are both enabled in Windows Features. Sometimes updates disable them partially.
  • Event Viewer: Open Event Viewer > Windows Logs > System and filter for Hyper-V or NetNat errors. Look for event ID 13568 or 7030.

Had a client last month whose entire print queue died because of a corrupted Default Switch. Took me 20 minutes to rebuild it manually. But after that, the VM was back online.

One last thing: if you're running Hyper-V on Windows 10/11 Home (which you shouldn't—it's not fully supported), the Default Switch often breaks after every major update. In that case, use an External switch instead. Just make sure your host stays connected to the same network.

Good luck. You don't need to be a networking guru to fix this. Just follow the steps and don't skip the NAT reset.

Was this solution helpful?