我在 Arch Linux 上遇到了奇怪的行为,各种虚拟网络接口导致路由表意外自动更新。例如,当我启动 KVM 时。
之前(网络正常):
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 wlp3s0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
$ ip route get 173.194.222.99
173.194.222.99 via 192.168.1.1 dev wlp3s0 src 192.168.1.89
之后(网络不正常):
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 vnet0
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 wlp3s0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 vnet0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp3s0
$ ip route get 173.194.222.99
173.194.222.99 dev vnet0 src 169.254.195.255
更新会出现一些延迟。vnet0
当我有有线连接时(其度量为 0),不会插入路由。
我思考这不是来自网络管理器.. 在调试此类问题时,还应该在哪里寻找指针?
答案1
通常是libvirtd
如果该程序正在运行。
给我们输出,ps aux
以便我们可以看到您的系统上正在运行什么。