1. 没有配置网关
要在终端确认默认网关设置,您可以使用以下命令:
route -n
这个命令将显示路由表,包括默认网关的信息。如果您的系统不支持 route
命令,您可以尝试使用 ip route
或 netstat -r
来查看路由信息。 根据您提供的路由表信息,我们可以看到以下几点:
- 169.254.0.0:这是一个特殊的自动配置IP地址范围,通常用于本地连接。网关为0.0.0.0,表示没有默认网关。
- 172.17.0.0:这是Docker容器的网段,网关同样为0.0.0.0。
- 192.168.2.0:这是您的本地网络,网关同样为0.0.0.0。
从路由表来看,确实没有明确的默认网关设置。默认网关是指当目标IP地址不在路由表中时,数据包将被发送到默认网关。如果没有默认网关,您的计算机将无法访问外部网络。
您需要设置一个正确的默认网关。通常,这是您的路由器的IP地址。您可以使用以下命令设置默认网关:
csharp
sudo route add default gw <网关IP地址>
请将 <网关IP地址>
替换为您的路由器的实际IP地址。
2.没有正确配置DNS服务器
可以成功地通过ping通8.8.8.8。然而,您无法通过域名(例如
github.com
和 baidu.com
)进行ping通。这可能是由于DNS解析问题导致的。
-
-
打开终端。
-
使用以下命令编辑
/etc/resolv.conf
文件:bashsudo nano /etc/resolv.conf
-
在文件中添加以下行,替换为您想要使用的DNS服务器地址:
nameserver 8.8.8.8 nameserver 8.8.4.4
-
保存文件并退出。
-
-
重启网络服务:
-
使用以下命令重启网络服务:
sudo systemctl restart systemd-resolved
-
这样,您就可以设置自己喜欢的DNS服务器地址了。

感谢copilot,今天遇到的问题解决了