如何摆脱 169.254.0.0 路由?

use*_*551 11 networking routing 16.04

这是从route -n命令。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.x     0.0.0.0         UG    600    0        0 <wifi>
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 <wifi>
192.168.1.0     0.0.0.0         255.255.255.0   U     600    0        0 <wifi>
Run Code Online (Sandbox Code Playgroud)

我试过了:

1)禁用ufw并从终端运行(与启用ufw相同):

sudo route del -net 169.254.0.0 gw 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

得到了 SIOCDELRT: Invalid argument

2)link-local 169.254.0.0/etc/networks文件中注释行并重新启动。

3)禁用,avahi-deamon因为它似乎是相关的。

没有任何效果,我使用静态 IP,但是当我连接到我的路由器并运行route -n command它时,它总是出现在那里。所以。你们有其他想法吗?

更新:

由于下面的答案,我查看了avahi-autoipd联机帮助页并设法找到了解决方案。要删除路由:

sudo route del -net 169.254.0.0 netmask 255.255.0.0 dev <interface> metric 1000
Run Code Online (Sandbox Code Playgroud)

<interface>您的网络接口在哪里,例如 wlan0。但是,这只会在下一次网络关联之前将其删除,因为它会重新生成。因此,要使其永久化,您需要修改/etc/network/if-up.d/avahi-autoipd文件,即生成的根目录。

我注释掉了代码的最后一部分:

#if [ -x /bin/ip ]; then
    # route already present?
    #ip route show | grep -q '^169.254.0.0/16[[:space:]]' && exit 0

    #/bin/ip route add 169.254.0.0/16 dev $IFACE metric 1000 scope link
#elif [ -x /sbin/route ]; then
    # route already present?
    #/sbin/route -n | egrep -q "^169.254.0.0[[:space:]]" && exit 0

    #/sbin/route add -net 169.254.0.0 netmask 255.255.0.0 dev $IFACE metric 1000
#fi
Run Code Online (Sandbox Code Playgroud)

chi*_*555 12

您无需做任何事情。169.254.0.0 路由通常适用于具有 Internet 连接的每个人。这是我机器上的路线信息:

chili@T440p:~$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0 wlp3s0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlp3s0
192.168.0.0     0.0.0.0         255.255.255.0   U     600    0        0 wlp3s0
Run Code Online (Sandbox Code Playgroud)

请参阅:https : //serverfault.com/questions/132657/where-route-to-169-254-0-0-comes-from

特别看:

169.254.0.0/16 网络用于自动专用 IP 寻址或 APIPA。如果 DHCP 客户端尝试获取地址,但在超时和重试期后未能找到 DHCP 服务器,它将随机假定来自该网络的地址。这允许与未能获得 DHCP 地址的主机进行通信。

总之,进入是完全正常的。