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
https://github.com/microsoft/WSL/issues/4926
https://github.com/microsoft/WSL/issues/4731
turned off Generation of resolv.conf and add gateway, 9.9.9.9 and 8.8.8.8 to resolv.conf
Running below command(and accessing the console again) fixed the "Network Unreachable" issue for me
wsl --shutdown
I just got this situation resolved on my computer. My background was :
Step 1 : Figure out your local Gateway address on Windows
Wireless LAN adapter Wi-Fi:
Connection-specific DNS Suffix . : home.sercomm
IPv4 Address. . . . . . . . . . . : 192.168.1.69
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.254 <-- this is what we care about
Step 2 : create a /etc/wsl.conf file with the following content
cat /etc/wsl.conf
# Enable DNS – even though these are turned on by default, we’ll specify here just to be explicit.
[network]
generateResolvConf = false
Step 3 : delete the symlink to /run/resolvconf/resolv.conf on /etc/resolv.conf
cd /etc/
sudo rm resolv.conf
Step 4 : also delete /run/resolvconf/resolv.conf, why not?
cd /run
sudo rm resolvconf/resolv.conf
Step 5 : create a custom /etc/resolv.conf that will contain your Gateway address sudo vi /etc/resolv.conf
and paste this (with your Gateway address as seen in step 1)
nameserver 192.168.1.254
Step 6 : Open powershell and restart wsl
wsl --shutdown
Step 7 : ping google.com At this point, assuming your resolv.conf wasn't wiped automatically by the system, and you still preserve the configurations we added on step 5, you should be able to reach the internet.
Thanks, and don't hesitate on contacting me if you have an issue.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With