A couple of weeks ago, WSL suddenly could not reach any IP addresses nor resolve any domains. Even internal network IPs are not reachable.
>lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
Release: 20.04
Codename: focal
❯ neofetch
.-/+oossssoo+/-. klewis@NOTEBOOK-KLEWIS
`:+ssssssssssssssssss+:` ----------------------
-+ssssssssssssssssssyyssss+- OS: Ubuntu 20.04.1 LTS on Windows 10 x86_64
.ossssssssssssssssssdMMMNysssso. Kernel: 5.4.72-microsoft-standard-WSL2
/ssssssssssshdmmNNmmyNMMMMhssssss/ Uptime: 1 hour, 20 mins
+ssssssssshmydMMMMMMMNddddyssssssss+ Packages: 1405 (dpkg)
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Shell: zsh 5.8
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Theme: Adwaita [GTK3]
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Icons: Adwaita [GTK3]
ossyNMMMNyMMhsssssssssssssshmmmhssssssso Terminal: Windows Terminal
ossyNMMMNyMMhsssssssssssssshmmmhssssssso CPU: Intel i7-7820HK (8) @ 2.903GHz
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Memory: 968MiB / 5942MiB
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Font: Cantarell 11 [GTK3]
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/
+sssssssssdmydMMMMMMMMddddyssssssss+
/ssssssssssshdmNNNNmyNMMMMhssssss/
.ossssssssssssssssssdMMMNysssso.
-+sssssssssssssssssyyyssss+-
`:+ssssssssssssssssss+:`
.-/+oossssoo+/-.
❯ ifconfig
❯ ccat /etc/resolv.conf
nameserver 9.9.9.9
nameserver 8.8.8.8
❯ ccat /etc/wsl.conf
[user]
default=klewis
# Now make it look like this and save the file when you're done:
[automount]
root = /
options = "metadata"
[network]
generateResolvConf = false
❯ ping 127.0.0.1
ping: connect: Network is unreachable
❯ ping 192.168.0.1
ping: connect: Network is unreachable
❯ ping 8.8.8.8
ping: connect: Network is unreachable
❯ ping google.com
ping: google.com: Temporary failure in name resolution
❯ nslookup google.com 9.9.9.9
net.c:536: probing sendmsg() with IP_TOS=b8 failed: Network is unreachable
;; connection timed out; no servers could be reached
❯ ip route
Error: ipv4: FIB table does not exist.
Dump terminated
❯ ip addr show
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 86:9a:be:53:f0:44 brd ff:ff:ff:ff:ff:ff
3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 1e:ff:ad:a4:c4:a7 brd ff:ff:ff:ff:ff:ff
4: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
5: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:15:5d:b7:f4:da brd ff:ff:ff:ff:ff:ff
C:\> ipconfig
Ethernet adapter vEthernet (WSL):
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #7
Physical Address. . . . . . . . . : 00-15-5D-E5-0C-1B
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::1962:7d4e:a75e:8d62%78(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.16.1(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . :
DHCPv6 IAID . . . . . . . . . . . : 1308628317
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-27-B3-1F-34-9C-B6-D0-DD-8C-CF
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
NetBIOS over Tcpip. . . . . . . . : Enabled
>sudo ip route add default via 192.168.16.1
Error: Nexthop has invalid gateway.
I have looked through GH and found solutions that worked for others. Things I have tried:
-
netsh winsock reset netsh int ip reset all netsh winhttp reset proxy ipconfig /flushdns
deleted Hyper-V virtual adapters and restarting to let Windows rebuild
Changed where the Virtual Switch connects to in Hyper-V Virtual Switch Manager from Internal Network to External Network
Ensured %TEMP% is not compressed
Ensured no file nor folder under %TEMP% were compressed
Ensured no firewall was running
turned off Generation of resolv.conf and add gateway, 9.9.9.9 and 8.8.8.8 to resolv.conf
%UserProfile%\.wslconfig
to include: [wsl2] networkingMode=mirrored Then restart distributions withwsl --shutdown
. – Anorak