You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Kubuntu 17.10后断开内网无法访问somedomain.com站点求助

嘿,这个问题我之前在升级Ubuntu系发行版的时候也碰到过,简直一模一样!核心原因大概率是内网的DNS解析配置残留——当你连接到somedomain.com的内网时,系统会获取到针对该域名的专属DNS解析规则,断开内网后这些规则没有被自动清理,导致系统还死磕着内网DNS服务器去解析这个域名,自然连不上公网的站点了。下面是我亲测有效的排查和解决步骤:

排查与解决步骤

1. 先确认DNS解析异常

断开内网后,先通过命令验证解析结果:

nslookup somedomain.com

如果输出里的DNS服务器是内网地址,或者解析出的IP是内网段的(比如192.168.x.x、10.x.x.x),那就实锤是DNS配置残留的问题了。

2. 快速清除DNS缓存(临时解决)

Kubuntu 17.10默认用systemd-resolved管理DNS,直接重启这个服务就能清空缓存:

sudo systemctl restart systemd-resolved

执行完后立刻试试ping somedomain.com或者访问站点,大概率能恢复正常。如果还是不行,可以手动删除缓存文件再重启:

sudo rm /var/cache/systemd/resolved/*.cache
sudo systemctl restart systemd-resolved

3. 重置NetworkManager的DNS配置

有时候NetworkManager会“记住”内网的DNS设置,不会自动切换回公网DNS:

  • 点击右上角的网络图标,打开「编辑连接」
  • 选中当前正在使用的网络(WiFi/有线),点击「编辑」
  • 切换到「IPv4设置」标签,把DNS服务器改成公网DNS(比如8.8.8.8,1.1.1.1),或者选择「自动(DHCP)但忽略DNS」
  • 保存设置后,断开再重新连接网络

4. 检查hosts文件是否被篡改

部分内网环境会自动修改/etc/hosts文件,添加somedomain.com的内网IP映射,断开后不会自动删除:

cat /etc/hosts

如果看到类似192.168.1.100 somedomain.com的行,直接删除这一行,保存后就能生效。

5. 配置长期解决方案(避免再复发)

如果每次断开内网都出问题,可以让系统优先用公网DNS解析所有域名:
编辑/etc/systemd/resolved.conf文件:

sudo nano /etc/systemd/resolved.conf

修改成以下内容:

[Resolve]
DNS=8.8.8.8 1.1.1.1
FallbackDNS=
Domains=~.

Domains=~.表示所有域名都优先使用这里配置的DNS,不会被内网的DNS规则覆盖。保存后重启服务:

sudo systemctl restart systemd-resolved

如果以上步骤都没解决问题,可以查看NetworkManager的日志找线索:

journalctl -u NetworkManager --since "10 minutes ago"

看看断开内网时有没有报错信息。

内容的提问来源于stack exchange,提问作者fifaltra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:38:51