如何删除默认的“范围链接”路线?

如何删除默认的“范围链接”路线?

我的设备上列出了以下路线:

pi@raspberrypi:~ $ ip route list
default dev enxb827eb4e4311 scope link
default via 192.168.1.5 dev wlan0 proto dhcp src 192.168.1.197 metric 303
169.254.0.0/16 dev enxb827eb4e4311 scope link src 169.254.207.114 metric 202
192.168.1.0/24 dev wlan0 proto dhcp scope link src 192.168.1.197 metric 303

列出的第一个路线是不正确。此设备无法通过其以太网端口访问世界其他地方,只能通过 wifi 访问。但是,我似乎无法删除此路由:

pi@raspberrypi:~ $ sudo ip route del default scope link && ip route
default dev enxb827eb4e4311 scope link
default via 192.168.1.5 dev wlan0 proto dhcp src 192.168.1.197 metric 303
169.254.0.0/16 dev enxb827eb4e4311 scope link src 169.254.207.114 metric 202
192.168.1.0/24 dev wlan0 proto dhcp scope link src 192.168.1.197 metric 303
pi@raspberrypi:~ $ sudo ip route del default dev enxb827eb4e4311 scope link && ip route
default dev enxb827eb4e4311 scope link
default via 192.168.1.5 dev wlan0 proto dhcp src 192.168.1.197 metric 303
169.254.0.0/16 dev enxb827eb4e4311 scope link src 169.254.207.114 metric 202
192.168.1.0/24 dev wlan0 proto dhcp scope link src 192.168.1.197 metric 303
pi@raspberrypi:~ $ sudo ip route del 0.0.0.0/0 dev enxb827eb4e4311 scope link && ip route
default dev enxb827eb4e4311 scope link
default via 192.168.1.5 dev wlan0 proto dhcp src 192.168.1.197 metric 303
169.254.0.0/16 dev enxb827eb4e4311 scope link src 169.254.207.114 metric 202
192.168.1.0/24 dev wlan0 proto dhcp scope link src 192.168.1.197 metric 303

这条路线会干扰接触更广阔世界的能力:

pi@raspberrypi:~ $ ip route get 8.8.8.8
8.8.8.8 dev enxb827eb4e4311 src 169.254.207.114 uid 1000
    cache

我认为我正确指定了路线,因为如果我指定了不存在的路线,我会收到此错误:

pi@raspberrypi:~ $ sudo ip route del 0.0.0.0/1 dev enxb827eb4e4311 scope link && ip route
RTNETLINK answers: No such process

我从另一个答案中得到了提示ip addr flush dev enxb827eb4e4311,但我不想删除设备上的 IP 地址,也不想删除度量为 202 的路由。

我该如何删除这条错误路线,或者获取有关为什么我无法删除的有用信息?

答案1

一个链接范围路由是根据为接口分配地址时提供的前缀长度(即子网掩码)生成的enx。拥有链接范围“默认”路由(即路由)几乎总是意味着您在分配地址时提供了前缀长度- 因此如果您不希望发生这种情况,则需要提供除 /0 之外的前缀长度。0.0.0.0/0/0

例如,这将导致生成 172.16.5.0/24 路由​​:

ip 地址 del 172.16.5.7 dev enx && ip 地址添加 172.16.5.7/24开发

如果您想要分配单个地址而不暗示子网,通常应使用全长 /32 前缀(/0 的对立面)。

相关内容