Quick fix: Open Settings → Network & internet → Ethernet (or Wi-Fi) → click your adapter → Edit DNS server assignment doesn’t expose metric, so use PowerShell: Set-NetIPInterface -InterfaceAlias "Ethernet" -InterfaceMetric 10. Lower metric = higher priority. Set Wi-Fi to 50 and Ethernet to 10 to make Ethernet preferred.
Your laptop has both Ethernet and Wi-Fi connected. Windows should prefer Ethernet (faster, more reliable), but sometimes traffic goes via Wi-Fi instead — especially after sleep/wake or driver updates. The cause: Wi-Fi interface metric became lower than Ethernet, making it the preferred route. Set metric values manually to fix.
Affects: Windows 11 (and Windows 10) with multiple active network adapters.
Fix time: ~5 minutes.
What causes this
Windows uses routing metrics to decide which adapter to send traffic through. Each adapter has an interface metric value (lower = preferred). By default, Windows auto-assigns metrics based on link speed: faster links get lower metrics, so Gigabit Ethernet (1000 Mbps) should beat Wi-Fi 5 (~150 Mbps).
But automatic metric calculation isn’t always right. Wi-Fi 6 might be calculated as faster than slower Ethernet. Or after sleep/wake, metrics drift. Manual metric assignment overrides the automatic logic.
Method 1: Set metrics via PowerShell (recommended)
The cleanest and most reliable route.
- Open Terminal (Admin).
- List interfaces and their current metrics:
Get-NetIPInterface -AddressFamily IPv4 | Format-Table InterfaceAlias, InterfaceMetric, ConnectionStateNote the InterfaceAlias of your Ethernet and Wi-Fi adapters.
- Set Ethernet to low metric (high priority):
Set-NetIPInterface -InterfaceAlias "Ethernet" -InterfaceMetric 10 - Set Wi-Fi to higher metric (lower priority):
Set-NetIPInterface -InterfaceAlias "Wi-Fi" -InterfaceMetric 50 - For IPv6 (if used): repeat with
-AddressFamily IPv6:Set-NetIPInterface -InterfaceAlias "Ethernet" -AddressFamily IPv6 -InterfaceMetric 10 - Test: visit ip.me or open Terminal and run
tracert google.com. The first hop should be your router via Ethernet’s IP, not Wi-Fi’s. - To revert to automatic:
Set-NetIPInterface -InterfaceAlias "Ethernet" -AutomaticMetric Enabled.
PowerShell is the right approach — the values are explicit and survive reboots.
Method 2: Set metrics via GUI in Network Connections
For users who prefer GUI.
- Press
Win + R, typencpa.cpl, press Enter. Opens Network Connections. - Right-click your Ethernet adapter → Properties.
- Double-click Internet Protocol Version 4 (TCP/IPv4).
- Click Advanced.
- In Advanced dialog, find Automatic metric. Untick it.
- Set Interface metric to a low number: 10.
- Click OK through all dialogs.
- Repeat for Wi-Fi adapter: untick Automatic metric, set to 50.
- Restart the network:
ipconfig /releasethenipconfig /renewfrom Terminal.
This is the GUI equivalent of Method 1. Both achieve the same result.
Method 3: Use route command for per-destination prioritization
For specific destinations rather than blanket adapter prioritization.
- Open Terminal (Admin).
- View current routing table:
route printThe Active Routes section shows destination, netmask, gateway, interface, and metric.
- For a specific destination (e.g., your company VPN endpoint) to always go via Ethernet:
route -p add 203.0.113.0 mask 255.255.255.0 192.168.1.1 metric 1 if 12The
-pmakes it persistent. Adjust IPs and interface ID (fromroute print) to match. - For temporary route during this session only: omit
-p. - For a default-gateway override on Ethernet only: combine with metric:
route -p change 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 1 if 12 - Caution: incorrect routes can break connectivity. Note the original route table before changes; revert if needed via
route delete.
This is the right path for advanced setups where blanket prioritization isn’t enough.
How to verify the fix worked
- Run
Get-NetIPInterface -AddressFamily IPv4 | Format-Table InterfaceAlias, InterfaceMetric. Ethernet shows metric 10, Wi-Fi 50. - Run
tracert google.com. The first hop (your router IP) should be reachable; the route from your PC should leave via Ethernet’s subnet. - Run
Get-NetRoute -DestinationPrefix 0.0.0.0/0 | Format-Table InterfaceAlias, NextHop, RouteMetric. The default route’s preferred interface should be Ethernet.
If none of these work
If metric changes persist but Windows still uses Wi-Fi for outbound traffic, the cause is usually adapter-specific. Disable Wi-Fi when Ethernet is connected: Settings → Network & internet → Wi-Fi → Manage known networks → current network → Cellular → Use cellular instead of Wi-Fi when poor connection toggle. This forces Windows to consider connection quality. For laptops with auto-switching software: Intel ProSet/Wireless Connection Utility has its own auto-switching logic that overrides Windows. Disable Intel utility’s priority management, let Windows decide. For PCs with VPN connections: VPN may take priority via its own route table entries. Manage VPN client’s split-tunnel routing rather than adapter metrics. For test purposes: temporarily disable Wi-Fi entirely (Settings → Network & internet → Wi-Fi off). Confirms Ethernet works at full speed. Re-enable Wi-Fi with correct metric.
Bottom line: Set-NetIPInterface -InterfaceAlias "Ethernet" -InterfaceMetric 10 + Set-NetIPInterface -InterfaceAlias "Wi-Fi" -InterfaceMetric 50. Lower metric wins. Persistent across reboots.