Удалить маршрут Quagga/ Zebra, используя IP-маршрут

У меня есть DHCP-клиент, работающий на eth0 и eth1. маршруты зебры появляются автоматически, когда эти интерфейсы получают аренду. Это вывод 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: как мне удалить, скажем, маршрут по умолчанию, проходящий через 192.168.53.254 с ip route?)

Теперь я делаю свою собственную балансировку нагрузки PBR, и мне нужно отключить маршрут, когда ping через него не работает в течение некоторого времени. я делаю

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

который удаляет маршрут, но, кажется, сбивает с толку зебру, потому что когда я отключаю кабель и подключаю его снова, он больше не добавляет маршрут автоматически. Я полагаю, что удаление маршрута с помощью ip route не так сильно запутает зебру, но я не могу понять правильный синтаксис.

Я старался

ip route del default via 192.168.1.1 dev eth0 proto zebra

который не дает никаких ошибок, но ничего не делает. Я могу видеть, что маршрут все еще там, если я делаю "IP-маршрут" впоследствии.

Кто-нибудь может помочь?

Заранее спасибо.

1 ответ

Если вы телнет в Quagga,

первый:

настроить терминал

затем:

нет IP-маршрута <...>

и заменить <...> в вашу предыдущую команду

Это отключит вашу предыдущую команду.

После уничтожения процесса зебры вы можете очистить маршрут зебры командой ниже:

sudo ip route flush table main proto zebra
Другие вопросы по тегам