Назад | Перейти на главную страницу

Удалить маршрут quagga / zebra с помощью ip route

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

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

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 route".

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

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

Если вы подключитесь к quagga через telnet,

первый:

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

затем:

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

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

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

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

sudo ip route flush table main proto zebra