我有一个在 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