WSL2 无法连接到 Internet 并找到主机地址。因此,我们无法使用 WSL2 访问任何服务器,这首先违背了安装 Linux 的目的。因此,在这篇文章中,我们将讨论当 WSL2 显示无法访问 Internet 并且无法解析主机地址时该怎么做。
如果 WSL2 无法访问 Internet 并且无法解析主机地址,请按照下面提到的解决方案进行操作。
让我们详细讨论一下。
1、检查您的互联网连接和带宽
首先,我们需要检查并确保互联网没有任何问题。为此,请使用免费的互联网速度测试仪之一。如果您发现带宽不足,请重新启动路由器,如果这不起作用,请联系您的 ISP 并要求他们解决问题。
2、在 Windows 上运行网络和 Internet 疑难解答
如果您的 Internet 速度不是问题,请继续从“获取帮助”应用运行网络和 Internet 疑难解答。它将检测您的网络出了什么问题,然后为您提供补救措施。解决网络问题后,请继续尝试 WSL。它现在应该可以工作了。
3、关闭 WSL 并重置网络协议
接下来,我们需要关闭适用于 Linux 的 Windows 子系统,然后重置可能首先导致此问题的网络协议。为此,您可以在命令提示符(以管理员身份)中逐个运行以下命令。
wsl --shutdown
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns
完成后,检查问题是否已解决。
4、检查主机名和主机文件
我们需要确保在主机文件中提及计算机的条目以及本地域。但首先,我们需要检查机器的名称。为此,请打开“设置”并转到“系统”>“关于”。
知道计算机的名称后,打开命令提示符并转到 WSL。然后运行以下命令。
nano /etc/hostname
用大写字母输入您的机器名称,特别是我们之前收到的机器名称。然后删除计算机名称以外的任何信息。
现在,运行。
nano /etc/hosts
hosts 文件应有两行,类似于下面提到的行。
127.0.0.1 localhost.localdomain localhost
127.0.1.1 DESKTOP-SOMETHING
最后,保存并退出文件。
5、检查 resolv.conf 文件
Windows 会自动生成 resolv.conf 文件,但有时使用错误的名称服务器。我们需要检查文件并确保名称服务器设置为 8.8.8.8,这是 Google 公共 DNS,可以免费使用。要执行相同的操作,请按照以下步骤操作。
首先,通过运行以下命令找到文件。
sudo nano /etc/resolv.conf
您可能会看到以下条目。
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/resolv.conf
# [network]
# generateResolvConf = false
nameserver xxx.xx.xx
将名称服务器值更新为 8.8.8.8 并保存文件。然后,您将能够连接到 Internet。若要防止 WSL 在打开将来的终端时重置此文件,请运行以下命令(如果当前已连接到 Internet)。
sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
sudo bash -c 'echo "[network]" > /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf
最后,检查问题是否已解决。
就是这样!
如何解决 WSL2 互联网问题?
如果您在使用 WSL2 的 Internet 时遇到问题,首先,请检查您的主机 Windows 计算机是否具有正确的 Internet。您可以使用免费的 Internet 速度测试仪来做到这一点。如果您的网络没有问题,请重新启动计算机和路由器。如果您仍然遇到相同的问题,请查看上述指南。
如何修复Unable来解决主机?
如果 /etc/hosts 文件中的主机名未更新或不正确,WSL 可能无法解析主机。若要解决此问题,请在 /etc/hosts 文件中更新存档服务器的主机名或 FQDN,并保存更改。更新主机文件后,再次尝试使用 sudo 命令,它应该可以正常工作。
相关文章
网友评论(共有 0 条评论)