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