所以昨天我在一台旧电脑和虚拟机(VirtualBox)上安装了带有 KDE 的 Arch Linux。两种安装似乎都运行良好,我可以经常使用它们。
但有一个问题(在两种安装中):许多网站无法加载。我什至无法 ping 通他们。 YouTube、Google 等网站运行良好。但 Reddit、Twitter 和 GitHub 等其他网站却无法加载。因此,我也无法安装特定的软件包和应用程序。
详细信息:因此浏览器回复“无法连接”。 Curl 响应“curl: (7) 无法连接到www.github.com5028 毫秒后端口 80:网络无法访问”,并且 ping 回复“目标网络无法访问”。它基本上根本无法连接。我也尝试更改 DNS 服务器两次,但没有成功。Dig 和 nslookup 确实会抛出异常我的网络似乎很好。其他所有设备(Windows、Android 等)(但不是 Arch 安装)似乎都可以在该网络中工作。
就我的本地计算机而言,我不知道安装了任何可能阻止网站或类似内容的东西。我也没有碰我的本地防火墙设置。
我应该做什么来诊断和解决问题?
答案1
两种明显的可能性:
- 域名系统问题,
dig
可以显示所请求的网站是如何解决的 - 路由问题:查看您的路由表 (
ip route
),如果您的系统启用了 IPv6,请执行相同的操作。您还可以运行:ip route get
后跟 IP 地址来查找确定的路由路径,例如:ip route get 8.8.8.8
。
我不会感到惊讶,这是一个IPv6问题。您可能启用了 IPv6 堆栈,但没有合适的路由。浏览器可能会优先将某些主机解析为 IPv6 地址,这可以解释为什么有些主机成功,而另一些则失败。
答案2
确保您的resolv.conf
ie中至少有一个公共名称服务器google 8.8.8.8
确保您配置了默认路由,这可以通过 root 身份从命令行完成:
/usr/sbin/ip route add default via 192.168.0.1
其中192.168.0.1
替换为您的路由器 IP 地址...
这对我有用,我也遇到了同样的问题。我可以连接到某些东西,但不能连接到其他东西,这似乎与 ipv4 和 ipv6 有关。
笔记:除非它包含在您的网络配置文件中,否则它在重新启动后不会持续存在。添加systemd-networkd.service
以下行:
[Route]
Gateway=192.168.0.1
现在重启后就可以使用了。
祝你好运!