The "Network unreachable" error on an Ubuntu server in Windows 11 Hyper-V usually stems from a misconfigured virtual switch or incorrect network adapter binding. By ensuring the External Virtual Switch is properly bound to your host’s physical NIC and verifying that the VM uses this specific switch, you restore connectivity. Additionally, checking for duplicate IP conflicts or stale DHCP leases often resolves persistent routing failures.
Understanding the Root Causes
When an Ubuntu guest operating system reports that the network is unreachable within a Hyper-V environment, the issue typically lies in the layer between the virtual machine and the physical network interface card (NIC) of the Windows 11 host. This error indicates that the Linux kernel cannot find a valid route to any external destination, including the gateway or DNS servers. Unlike simple connectivity drops, this state suggests a fundamental breakdown in the network stack configuration or the virtual infrastructure itself. One common culprit is the absence of a correctly configured Virtual Switch. If no switch exists, or if the existing switch is not bound to the active physical adapter, the VM has no path to the outside world. Another frequent cause involves the network adapter settings within the Ubuntu guest. Sometimes, the network manager fails to acquire an IP address via DHCP, leaving the interface in a down state or with an APIPA address (169.254.x.x), which is non-routable on most corporate or home networks. Furthermore, conflicts can arise if multiple virtual switches are present, causing routing confusion. The Ubuntu instance might be attempting to use a default route through a disconnected or internal-only switch rather than the one connected to the internet. It is also possible that the Windows host’s firewall or Hyper-V management service is blocking traffic, although this usually manifests as a timeout rather than an immediate "unreachable" status. Understanding these layers helps in isolating whether the problem is at the host configuration level, the virtual switch level, or the guest OS level.Verifying the Virtual Switch Configuration
The foundation of any successful Hyper-V networking setup is the Virtual Switch. You must ensure that an External Virtual Switch is created and linked to the physical network adapter that provides internet access to the Windows 11 host. To do this, open the Hyper-V Manager and navigate to Virtual Switch Manager. Select the switch assigned to your Ubuntu VM and verify its properties. Crucially, check the box labeled "Allow management operating system to share this network adapter." Without this setting, the host loses its own network connectivity, which can indirectly affect VM stability and monitoring tools. If the switch is missing, create a new External switch, select the correct physical NIC, and apply the changes. Note that this may temporarily disconnect the host’s internet connection while the binding is updated.Configuring the Ubuntu Network Interface
Once the host-side switch is verified, the focus shifts to the Ubuntu guest. Modern versions of Ubuntu use Netplan for network configuration, which simplifies but also obscures some traditional settings. Open a terminal in the Ubuntu VM and check the current network status usingip addr show. Look for an interface name, typically eth0 or ens5, and see if it has an IPv4 address assigned. If the address is 169.254.x.x, the DHCP request failed.
To fix this, inspect the Netplan configuration files located in /etc/netplan/. These files are YAML formatted. Ensure that the configuration specifies dhcp4: true under the appropriate network interface. If you previously modified this file, revert it to a standard DHCP configuration or define a static IP that matches your local subnet if DHCP is unreliable. After making changes, apply them by running sudo netplan apply. If the command returns errors, check the syntax carefully, as YAML is sensitive to indentation. Restarting the network service with sudo systemctl restart systemd-networkd can also force a re-read of the configuration.
Checking for IP Conflicts and DHCP Issues
If the network remains unreachable after correcting the Netplan settings, the issue may be related to IP address conflicts or DHCP server availability. A duplicate IP address on the network can cause packets to be dropped or routed incorrectly. Usearping -I eth0 to check for ARP conflicts. Additionally, verify that the DHCP server on your router is responding. In rare cases, Hyper-V’s NAT switch can interfere with DHCP broadcasts. If you are using a NAT switch instead of an External switch, ensure that the NAT service is running in Windows PowerShell by executing Get-VMNetworkAdapterNAT. For production servers, an External switch is strongly recommended over NAT to avoid hidden translation issues.
Advanced Troubleshooting Steps
If basic configurations are correct, deeper diagnostic steps are required. First, verify the MAC address of the VM’s network adapter in Hyper-V Manager. Ensure it is set to "Dynamic" or "Static" rather than "None," and that it matches what Ubuntu expects. Sometimes, cloning a VM without resetting the MAC address causes conflicts if another VM on the same virtual switch has the same address. Another critical step is to disable IPv6 if it is not needed, as misconfigured IPv6 routes can sometimes override IPv4 routes and cause reachability failures. Edit the Netplan configuration to setdhcp6: false and accept-ra: false. Then, run sudo netplan apply again. Finally, test connectivity using ping 8.8.8.8 and ping google.com. If the first succeeds but the second fails, the issue is DNS-related, not network reachability. Check /etc/resolv.conf to ensure valid nameservers are listed.
For persistent issues, consider recreating the virtual switch entirely. Delete the existing External switch, reboot the host, and recreate it. This clears any corrupted state in the Hyper-V virtualization stack. Also, ensure that Windows 11 updates are installed, as recent patches have addressed various Hyper-V networking bugs.
NIC Change VM (Ubuntu Hyper-V) Default Switch provides additional context on switching between adapter types, which may help if you are experimenting with different network modes. Similarly, Hyper-V: Accessing LAN Devices on Host details how to ensure proper bridging to your physical network, a prerequisite for external reachability.
Frequently Asked Questions
Why does my Ubuntu VM lose internet after a Windows update?
Windows updates can sometimes reset Hyper-V virtual switch bindings or disable the virtualization platform temporarily. Rebooting the host after an update usually restores the switch state. If not, manually re-bind the external switch in Hyper-V Manager to ensure it is still attached to the physical NIC.Can I use a NAT switch for an Ubuntu server?
While technically possible, NAT switches are not recommended for servers because they hide the VM behind the host’s IP address, complicating inbound connections and port forwarding. External switches provide direct Layer 2 connectivity, which is more stable and performant for server workloads.How do I reset the network configuration in Ubuntu?
You can reset Netplan by deleting all files in/etc/netplan/ and generating a fresh configuration using sudo netplan generate. However, this may remove custom settings. A safer approach is to comment out current rules and apply a minimal DHCP config to test connectivity before restoring complex settings.
What if ping works but web browsing fails?
This indicates a DNS resolution failure rather than a network reachability issue. Check/etc/resolv.conf for valid nameserver entries. If using systemd-resolved, run systemd-resolve --status to verify that the DNS server is responding and that the link-local address is not being used incorrectly.