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

更换LAN子网后Ubuntu 22.04机器DNS与路由故障求助

更换LAN子网后Ubuntu 22.04机器DNS与路由故障求助

我最近把家里路由器的子网重新配置成了192.168.39.0(之前是192.168.0.0),结果一台Ubuntu 22.04机器出现了严重的DNS和路由问题,折腾半天终于找到原因,把过程和解决方法分享出来:

故障前提排查

  • 排除硬件问题:用外接Ubuntu 22.04启动盘启动这台机器,网络完全正常;家里其他设备(包括我的Ubuntu 22.10笔记本)也都能正常联网
  • 故障机有两个有线接口和WiFi,都能通过DHCP获取到LAN的IP,但所有接口的网络功能都异常

具体故障现象

  • DNS失效:直接ping公网IP(比如8.8.8.8)能通,但第一次ping会有超过2秒的延迟;ping域名(比如google.com)则提示Name or service not known
  • 路由异常:ping局域网主机的本地域名archimedes.local时,返回From 192.168.39.1 icmp_seq=1 Destination Host Unreachable,但直接ping对应IP192.168.39.37却完全正常
  • SSH故障:不管是从这台机器ssh到其他主机,还是从其他主机ssh进来,要么出现密码无法正确验证的情况,要么直接连不上
  • 排查对比:
    • resolvectl status和/etc/resolv.conf的内容和我正常工作的笔记本完全一致
    • route -n显示网关是正确的192.168.39.1
    • 对比tracepath结果:正常机器能正常走到路由器ipfire.rumahtumi,但故障机在第一跳之后全是无响应

故障机的关键命令输出

route -n输出:

root@indigo:/home/tim# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.39.1    0.0.0.0         UG    20100  0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 virbr1
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.39.0    0.0.0.0         255.255.255.0   U     0      0        0 virbr1
192.168.39.0    0.0.0.0         255.255.255.0   U     100    0        0 eth1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

resolvectl status输出:

root@indigo:/home/tim# resolvectl status
Global
Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub

Link 2 (eth2)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 3 (eth1)
Current Scopes: DNS
Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.39.1
DNS Servers: 192.168.39.1
DNS Domain: rumahtumi

Link 4 (wlp6s0)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 5 (virbr1)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 6 (virbr0)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

Link 8 (docker0)
Current Scopes: none
Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported

解决方案与原因分析

反复排查后我注意到路由表里的virbr1有点不对劲——它居然也用了192.168.39.0这个子网,和我路由器的新子网直接冲突了!

  • 临时修复:删掉virbr1设备后,网络立刻恢复正常,但重启机器后它又会自动出现
  • 根本原因:这台机器上装了minikube,它自动创建了一个网桥并设置为开机自启,巧合的是刚好选了192.168.39.0作为子网,导致和LAN子网冲突
  • 永久解决:这个网桥的配置文件在/etc/libvirt/qemu/networks/autostart目录下,执行virsh net-edit mk-minikube命令修改子网段,让它和LAN子网错开即可

备注:内容来源于stack exchange,提问作者Tim Richardson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 12:07:38