Как запустить избыточный BGP через Quagga на / 30 нетблоках?

9

Мой новый вышестоящий BGP выделил сетевой блок IPv4 / 30 в качестве связующего блока для подключения наших маршрутизаторов. Однако я хочу запустить два маршрутизатора и переключение между ними. Если бы сетевой блок был больше (/ 29), я мог бы легко запустить сеансы BGP с обоих моих маршрутизаторов, с или без VRRP (они могли бы также запустить VRRP).

Существует ли разумная конфигурация аварийного переключения VRRP / keepalived, которую я могу реализовать, не заставляя их расширять блок клея?

Оба моих маршрутизатора работают под управлением Linux (один Ubuntu, один Gentoo) с Quagga; базовая конфигурация работает нормально.

robbat2
источник

Ответы:

8

У вас есть несколько Linux-решений для резервирования первого прыжка из вашей локальной сети на два маршрутизатора (Quagga сама не поддерживает VRRP, но вы можете использовать Quagga вместе с любым из них без каких-либо проблем):

  • keepalived (как вы уже упоминали)
  • uCARP - Linux-порт OpenBSD CARP (Common Address Redundancy Protocol)
  • vrrpd - редко документированный и в значительной степени непроверенный демон VRRP, но, тем не менее, опция

Обратите внимание, что ни один из них не имеет ничего общего с избыточностью BGP, что, я считаю, является реальной проблемой, которую вы пытаетесь решить. Однако должно быть вполне возможно запустить VRRP на стороне провайдера двух ваших хостов Quagga и настроить виртуальный IP-адрес VRRP как «вашу сторону» вашего назначенного провайдера / 30 и использовать его для взаимодействия с вашим провайдером. Время восстановления при сбое, вероятно, будет близко к тому же (если не на волосок быстрее) решению с Linux-HA ниже. С учетом сказанного я лично считаю, что решение Linux-HA будет чище и проще, но это также может зависеть от топологии.

Что касается ваших вариантов с BGP, существует проект IETF для «многосессионного BGP», который вводит новый код возможности BGP, целью которого является поддержка нескольких сеансов BGP с одним и тем же узлом по одному и тому же адресу, но в этом проекте предполагается, что оба сеанса будут быть на том же устройстве, однако проект является совершенно новым, и поддержка этого вряд ли будет в текущих версиях Quagga.

Еще один вариант - использовать Linux-HA для настройки кластера пульса между вашими двумя блоками и настроить его так, чтобы в случае сбоя основного маршрутизатора пульс распознал это и включил Quagga / BGPd / etc на резервном маршрутизаторе. когда это произойдет.

Джон Дженсен
источник