从Linux中的路由表中删除直接连接的路由

网络工程 路由 局域网 linux
2022-02-02 07:29:02

我有一个在路由表中添加为直接连接路由的接口。(FLAG 只有 U)如何从路由表中删除这条路由。route del 似乎不会影响直接连接的路线。

env是Linux,Ubuntu Server 14.04,接口是正常的局域网连接。

2个回答

连接的路由由内核根据与接口关联的前缀长度(或网络掩码)自动生成。为了避免连接路由,需要设置前缀长度为 /32(或 IPv6 中的 /128):

# ip addr show dev eth0
...
    inet 10.0.0.42/24 scope global eth0
...
# ip addr del 10.0.0.42/24 dev eth0
# ip addr add 10.0.0.42/32 dev eth0

关闭界面。

sudo ip link set ethX down

编辑:如果您仍然希望在接口上接收数据包,那么您需要从/etc/network/interfaces.