Windows 子系统(Linux)中 Internet 访问不起作用

Windows 子系统(Linux)中 Internet 访问不起作用

我尝试sudo apt-get update在新的适用于 Linux 的 Windows 子系统中使用,但出现以下错误:

错误

最相关的部分似乎是有关 Ubuntu 服务器的“无法解析”行,例如:

Could not resolve 'archive.ubuntu.com'

答案1

一个开放的 GitHub 问题关于这个错误。

似乎最有可能的问题是/etc/resolv.conf没有正确生成。确保它包含一行nameserver有效的 DNS 服务器,最好是本地网络上的服务器。许多路由器为其网络提供 DNS 服务;在我的网络上,我会添加此行:

nameserver 192.168.1.1

如果存在与有效 DNS 服务器不对应的条目,请将其删除。

如果您使用第三方防病毒产品,请尝试禁用其防火墙 - 有报告称某些此类程序会干扰 Bash 的连接。

答案2

创建/etc/apt/apt.conf以添加代理配置。

sudo nano /etc/apt/apt.conf

将此行添加到您的/etc/apt/apt.conf文件中

Acquire::http::Proxy "http://proxyaddress:port";

使用Ctrl+保存X并重Y试:

现在运行以下命令

sudo apt-get update

我尝试过并验证过。

答案3

您的 DNS 设置似乎不正确或者网关/网络掩码不兼容。

用来ip link 验证接口是否列为“up”,然后ifconfig查看该接口的设置。您可能还需要cat /etc/sysconfig/network-scripts/ifcfg-eth?查看接口的设置。

尝试 traceroute -d 8.8.8.4查看您是否可以访问 Google 的公共 DNS 服务器。这将验证您是否已连接到外部网络。如果它可以使用,-d但在没有运行时无法将 IP 解析为名称,-d那么快速修复方法是将 8.8.8.8 和 8.8.8.4 添加到已启动接口的 DNS 设置中,然后发出service network restart以重新启动网络服务并使 DNS 更改生效。

我忘了如果你还没有配置 GUI 界面,你可以用 轻松编辑界面配置system-config-network。使用箭头键、tab、esc 和 Enter 进行导航

答案4

尝试从 WSL2 降级到 WSL1。

例如:wsl --set-versionUbuntu 1

这解决了我的所有连接问题。

相关内容