Windows Subsystem of Linux 2: DNS lost
Windows Subsystem for Linux 2 (WSL2) keeps losing domain name resolution for me.
Why is this?
Two reasons I think, first reason is as it doesn't have a init setup that works with cronjobs. Example of what I am talking about is here, there are workarounds explored other places.
sudo systemctl status redis-server
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down- Create or open the file
/etc/wsl.confIf it already exists it will look like this
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
# generateResolvConf = false
nameserver 172.22.32.1The nameserver listed here is my internal network address of my machine confirmed by running ipconfig /all from the command line
- Powershell
ipconfig /all | Select-String "WSL" -Context 0,20 - Bash
ipconfig.exe /all | grep "WSL" -A 20
> Ethernet adapter vEthernet (WSL):
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #2
Physical Address. . . . . . . . . : 00-15-5D-AD-CE-BC
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::5c9e:5e67:a621:22a1%56(Preferred)
IPv4 Address. . . . . . . . . . . : 172.22.32.1(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . :
DHCPv6 IAID . . . . . . . . . . . : 939529565
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-21-4D-E1-CC-80-FA-5B-4A-8D-96
DNS Servers . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
NetBIOS over Tcpip. . . . . . . . : EnabledNow change the contents of the wsl.conf file to I am going to set the nameserver to an external known good internet IP of 8.8.8.8. Now you should remember that name resolution will happen externally so internal ips may need to be mapped going forward.
[network]
generateResolvConf = false
nameserver 8.8.8.8- Save your changes
- Restart WSL2 Service
wsl --shutdownand then restart the windows service
Name resolution has been fixed now.