Internet access not working in Windows Subsystem for Linux
Solution 1:
There is an open GitHub issue about this error.
It appears that the most likely problem is that /etc/resolv.conf
didn't get generated correctly. Make sure it contains a nameserver
line for a valid DNS server, preferably one on your local network. Many routers provide DNS services to their networks; on my network, I would add this line:
nameserver 192.168.1.1
If there are entries that don't correspond to valid DNS servers, remove them.
If you use a third-party antivirus product, try disabling its firewall - there are reports that some such programs interfere with Bash's connectivity.
Solution 2:
Create /etc/apt/apt.conf
to add proxy configuration.
sudo nano /etc/apt/apt.conf
Add this line to your /etc/apt/apt.conf
file
Acquire::http::Proxy "http://proxyaddress:port";
Save it with Ctrl+X, Y and retry:
Now run the below command
sudo apt-get update
I tried and verified.
Solution 3:
It looks like your DNS settings are incorrect or you could have a gateway/netmask incompatibility.
use ip link
to verify that an interface is listed as 'up' and then ifconfig
to for the settings of that interface. you may also need to cat /etc/sysconfig/network-scripts/ifcfg-eth?
to look at the settings of the interfaces.
try traceroute -d 8.8.8.4
to see if you can reach google's public DNS server. That will verify you are getting out to the outside network.
If it works with -d
but fails to resolve the IP's to names when run without the -d
then a quick fix would be to add 8.8.8.8 & 8.8.8.4 to your DNS Settings for the interface that is up, and then issue a service network restart
to restart the network services and make the DNS changes active.
I forgot if you don't have a gui interface configured yet, you can easily edit the interface configs with system-config-network
. Navigate with arrow keys,tab, esc, and enter