我正在运行最新版本的 Pop!奥斯。
我有一台笔记本电脑通过以太网电缆连接到我的主计算机。
在连接的接口上,笔记本电脑的IP是169.254.83.40,我的主机IP是169.254.83.50。我的主电脑上的wifi接口是192.168.0.20。
当我连接到 wifi 并尝试从我的主计算机 ping 我的笔记本电脑时,我得到以下信息。
PING 169.254.83.40 (169.254.83.40) 56(84) bytes of data.
From 192.168.0.20 icmp_seq=1 Destination Host Unreachable
From 192.168.0.20 icmp_seq=2 Destination Host Unreachable
From 192.168.0.20 icmp_seq=3 Destination Host Unreachable
断开 wifi 后,我可以 ping 成功。以下是 ifconfig 的输出。
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.20 netmask 255.255.255.0 broadcast 192.168.0.255
ether e8:4e:06:7d:d7:8f txqueuelen 1000 (Ethernet)
RX packets 38305 bytes 36156135 (36.1 MB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 26255 bytes 3680006 (3.6 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.83.50 netmask 255.0.0.0 broadcast 169.255.255.255
ether a8:a1:59:2b:6c:ee txqueuelen 1000 (Ethernet)
RX packets 1294 bytes 87685 (87.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1818 bytes 121833 (121.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 12029 bytes 1257930 (1.2 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12029 bytes 1257930 (1.2 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
netstat -nr
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 enp3s0
0.0.0.0 169.254.83.50 0.0.0.0 UG 0 0 0 enp4s0
169.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 enp4s0
169.0.0.0 169.254.83.50 255.0.0.0 UG 0 0 0 enp4s0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enp3s0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp3s0
答案1
您看到此情况的原因是 wifi 连接添加了一条比有线连接上的路线更具体的路线(我用星号标注了重要的内容):
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 enp3s0
0.0.0.0 169.254.83.50 0.0.0.0 UG 0 0 0 enp4s0
**169.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 enp4s0
169.0.0.0 169.254.83.50 255.0.0.0 UG 0 0 0 enp4s0
**169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enp3s0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp3s0
(enp4s0
有线,enp3s0
无线)
您的有线网络到达 169.254.83.40 所采用的路由是169.0.0.0/255.0.0.0
(又名/8
),而 wifi 网络则添加一条路由169.254.0.0/255.255.0.0
(又名/16
)。被/16
认为更具体,因为它指的是较小的网络,因此它优先于有线网络。
至于如何解决这个问题,我会检查无线网络配置或 DHCP 服务器,看看为什么会推送额外的路由。同时,您可以使用以下命令手动删除错误的路线
ip route del 192.254.0.0/16 dev enp3s0
但这并不是真正的解决办法,只是一个创可贴。