Linux 子系统 for Windows 无法访问互联网

Linux 子系统 for Windows 无法访问互联网

由于某种原因,我的 Windows 上的 Ubuntu 上的 Bash 无法访问互联网。

即当我这样做

sudo apt-get update

我收到一堆失败的获取。正如问题描述的那样在此链接下

我尝试了所有建议的解决方案,但似乎都没有用。

我尝试过的事情:

  • 添加8.8.8.8/etc/resolv.conf
  • 添加我的默认网关/etc/resolv.conf
  • 禁用 IPv6,
  • 以管理模式运行,
  • 卸载并重新安装 Bash,
  • 禁用我的防病毒软件。

以下是我的 resolv.conf 的内容:

#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888

答案1

假设“禁用我的防病毒软件*”的意思是禁用我的防病毒软件/防火墙,请注意,禁用防火墙并不总是足够的,具体取决于您使用的防火墙。当前(不令人满意的)解决方法是卸载防火墙。

您可以在以下来自面向 Windows 开发人员的 Linux 子系统的帖子中找到此建议和其他建议:

来源:https://github.com/Microsoft/BashOnWindows/issues/5

了解各种防火墙的使用经验非常有帮助。我们非常清楚这些问题,并正在研究。不幸的是,这可能需要一些时间。我们确实发布了 WSL 测试版,知道会存在一些问题,并正在努力解决问题。

据我所知,就防火墙/无网络而言,世界的情况如下:

出站流量

卡巴斯基需要卸载用于 WSL 中的互联网访问

Avast需要卸载用于 WSL 中的互联网访问

Bitdefender:必须禁用防火墙才能在 WSL 中访问互联网。

平均:看起来他们在 AVG 2016 中做了一些工作(在主题 #475 上了解到这一点)。不确定他们做了什么,但值得注意。

Windows 防火墙:必须取消选中“与规则不匹配的出站规则将被拒绝

入站流量

仍在研究这一点。使用 WSL 作为服务器并不是我们周年更新的核心重点之一。我们希望在未来支持它。

Ping 必须以 Windows 管理员权限运行 在联系防火墙提供商之前,我们会进行更多的尽职调查。我还会在找到更多信息后更新常见问题解答(目前那里有一个非常简单的占位符)。

答案2

在 Windows 防火墙中,为程序添加权限/例外:

执行文件:WindowsSystem32wsl.exe

而且要快乐。

答案3

我曾经遇到过类似的问题。

我将 Windows 版本更新到 2004,并在防火墙设置中允许 Windows 虚拟机。

对我来说现在一切都很好。

相关内容