使用 ip route 删除 quagga/zebra 路由

使用 ip route 删除 quagga/zebra 路由

我有一个在 eth0 和 eth1 上运行的 DHCP 客户端。当这些接口获得租约时,zebra 路由会自动显示。这是 ip route 的输出:

root@localhost:~# ip route
default  proto zebra 
  nexthop via 192.168.53.254  dev eth1 weight 1
  nexthop via 192.168.1.1  dev eth0 weight 1
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.133 
192.168.53.0/24 dev eth1  proto kernel  scope link  src 192.168.53.42 

(TL;DR:我如何使用 ip route 删除通过 192.168.53.254 的默认路由?)

现在,我正在做自己的 PBR 负载平衡,当 ping 一段时间后无法正常工作时,我需要关闭一条路由。我正在做

vtysh -c "configure terminal" -c "no ip route 0.0.0.0/0 $ROUTER"

这会删除路由,但似乎会让 zebra 感到困惑,因为当我拔下电缆并重新插入时,它不会再自动重新添加路由。我认为使用 ip route 删除路由不会让 zebra 感到困惑,但我实在想不出正确的语法。

我试过

ip route del default via 192.168.1.1 dev eth0 proto zebra

它没有给出任何错误,但它什么也没做。如果我之后执行“ip route”,我可以看到路由仍然存在。

有人可以帮忙吗?

提前致谢。

答案1

如果你通过 telnet 进入 quagga,

第一的:

配置终端

然后:

没有 IP 路由 <...>

并替换<...>为你之前的命令

这将禁用您之前的命令。

答案2

当 zebra 进程被杀死后,你可以使用下面的命令来刷新 zebra 路由:

sudo ip route flush table main proto zebra

相关内容