首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从WSL2访问网络

无法从WSL2访问网络
EN

Stack Overflow用户
提问于 2019-08-24 05:53:08
回答 6查看 20.1K关注 0票数 11

我无法从WSL2子系统访问我的家庭网络。我已经在里面安装了Ubuntu。

代码语言:javascript
复制
anirban@Desktop:/mnt/g/BASH_WORKSPACE$ lsb_release -a                                                             No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.2 LTS
Release:        18.04
Codename:       bionic
anirban@Desktop:/mnt/g/BASH_WORKSPACE$ uname -r                                                                   4.19.57-microsoft-standard

WSL2中的eth0具有以下配置:

代码语言:javascript
复制
anirban@Desktop:/mnt/g/BASH_WORKSPACE$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.20.213.230  netmask 255.255.240.0  broadcast 172.20.223.255
        inet6 fe80::215:5dff:fecf:39a5  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:cf:39:a5  txqueuelen 1000  (Ethernet)
        RX packets 100  bytes 10544 (10.5 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 12  bytes 936 (936.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

anirban@Desktop:/mnt/g/BASH_WORKSPACE$ ip addr show                                                               1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 92:ce:02:d5:ab:9b brd ff:ff:ff:ff:ff:ff
3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ce:ec:a2:b5:b2:b0 brd ff:ff:ff:ff:ff:ff
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:cf:39:a5 brd ff:ff:ff:ff:ff:ff
    inet 172.20.213.230/20 brd 172.20.223.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fecf:39a5/64 scope link
       valid_lft forever preferred_lft forever
5: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0

来自WSL2的路由没有默认路由。因此,我添加了一条通过eth0的默认路由。

代码语言:javascript
复制
anirban@Desktop:/mnt/g/BASH_WORKSPACE$ ip route
172.20.208.0/20 dev eth0 proto kernel scope link src 172.20.213.230
anirban@Desktop:/mnt/g/BASH_WORKSPACE$ sudo ip route  add default dev eth0                                        anirban@Desktop:/mnt/g/BASH_WORKSPACE$ ip route                                                                   default dev eth0 scope link
172.20.208.0/20 dev eth0 proto kernel scope link src 172.20.213.230

Windows中的vEthernet具有默认配置,令人惊讶的是,它不属于WSL的子网。

代码语言:javascript
复制
PS C:\Users\tukai> ipconfig

Windows IP Configuration


Ethernet adapter Ethernet:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Ethernet adapter VirtualBox Host-Only Network #3:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::61be:a6f4:e22d:e985%54
   IPv4 Address. . . . . . . . . . . : 192.168.99.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Wireless LAN adapter Local Area Connection* 1:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Wireless LAN adapter Local Area Connection* 2:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . :
   IPv6 Address. . . . . . . . . . . : 2a02:8108:45c0:263c::67fd
   IPv6 Address. . . . . . . . . . . : 2a02:8108:45c0:263c:a847:a373:36ab:c040
   Temporary IPv6 Address. . . . . . : 2a02:8108:45c0:263c:18a:4a6a:fb9a:3018
   Link-local IPv6 Address . . . . . : fe80::a847:a373:36ab:c040%11
   IPv4 Address. . . . . . . . . . . : 192.168.0.96
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : fe80::f2af:85ff:fea5:c6e6%11
                                       192.168.0.1

Ethernet adapter Bluetooth Network Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Ethernet adapter vEthernet (WSL):

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::41b:9492:2bea:cf6c%49
   IPv4 Address. . . . . . . . . . . : 172.20.208.1
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . :

有没有人知道问题出在哪里?注意:我的wifi显然有互联网接入,我正在尝试从WSL2子系统ping 8.8.8.8,以检查互联网连接。我使用的是Windows预览版10.0.18956

谢谢,

EN

回答 6

Stack Overflow用户

发布于 2020-12-16 22:46:38

我也遇到了同样的问题,并通过运行下面的命令使它再次工作(我是从其他地方得到的,抱歉,我不记得在哪里了):

wsl中的

修复网络问题,删除自动生成的文件

代码语言:javascript
复制
[root@PC-NAME user]# rm /etc/resolv.conf || true
[root@PC-NAME user]# rm /etc/wsl.conf || true

启用更改/etc/resolv.conf,启用Windows驱动器上的扩展属性

代码语言:javascript
复制
[root@PC-NAME user]# cat <<EOF > /etc/wsl.conf
[network]
generateResolvConf = false
[automount]
enabled = true
options = "metadata"
mountFsTab = false
EOF

使用谷歌域名服务器进行域名解析

代码语言:javascript
复制
[root@PC-NAME user]# cat <<EOF > /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
EOF

退出Linux WSL

Windows中的管理员,cmd身份为:

代码语言:javascript
复制
wsl --shutdown
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns

窗口搜索>网络重置

票数 10
EN

Stack Overflow用户

发布于 2021-02-24 10:23:43

今天早些时候,我正在寻找关于这方面的信息,偶然发现了一个写得很好的要点,它有你需要的确切说明-- https://gist.github.com/pyther/b7c03579a5ea55fe431561b502ec1ba8

其中包括有关如何在连接到VPN或从VPN断开时进行这些网络更改的说明。

票数 3
EN

Stack Overflow用户

发布于 2021-02-05 14:05:04

我花了几天时间才找到一个类似问题的答案...:-/给这个家伙所有的荣誉:https://github.com/microsoft/WSL/issues/5286#issuecomment-638739724

在我做完所有关于/etc/resolv.conf的事情之后,它仍然不能工作,所以我的问题是关于压缩,我在笔记本电脑驱动器上打开了它。

修复方法是解压缩临时文件夹(除了包含WSL包的文件夹):

代码语言:javascript
复制
wsl --shutdown
compact /u %TEMP% /i /Q
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57633406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档