Jak uruchomić redundantne BGP przez Quagga na / 30 netblock?

9

Mój nowy BGP upstream przydzielił blokadę IPv4 / 30 jako blok kleju do podłączenia naszych routerów. Chcę jednak uruchomić dwa routery i przełączać awaryjnie między nimi. Gdyby netblock był większy (/ 29), mógłbym z łatwością uruchomić sesje BGP z obu moich routerów, z VRRP lub bez (mogą one również uruchamiać VRRP).

Czy istnieje rozsądna konfiguracja przełączania awaryjnego VRRP / keepalived, którą mogę wdrożyć, nie zmuszając ich do rozszerzenia bloku kleju?

Oba routery używają Linuksa (jeden Ubuntu, jeden Gentoo) z Quagga; podstawowa konfiguracja działa dobrze.

robbat2
źródło

Odpowiedzi:

8

Masz wiele rozwiązań Linux dla redundancji pierwszego przeskoku z sieci LAN do dwóch routerów (sama Quagga nie obsługuje VRRP, ale możesz używać Quagga w połączeniu z dowolnym z nich bez żadnych problemów):

  • keepalived (jak już wspomniałeś)
  • uCARP - Port Linuksowy CARP OpenBSD (Common Address Redundancy Protocol)
  • vrrpd - rzadko udokumentowany i w dużej mierze niesprawdzony demon VRRP, ale mimo to opcja

Zauważ, że żadne z nich nie ma nic wspólnego z redundancją BGP, która moim zdaniem jest prawdziwym problemem, który próbujesz rozwiązać. Jednak powinno być całkiem możliwe uruchomienie VRRP po stronie dostawcy dwóch hostów Quagga i skonfigurowanie wirtualnego adresu IP VRRP jako „twojej strony” przypisanego przez ISP / 30 i użycie go do peerowania z twoim ISP. Czas przełączania awaryjnego byłby prawdopodobnie zbliżony do tego samego (jeśli nie tylko o włos szybszego niż) rozwiązania z Linux-HA poniżej. Powiedziawszy to, osobiście uważam, że rozwiązanie Linux-HA byłoby czystsze i prostsze, ale może to również zależeć od topologii.

Jeśli chodzi o twoje opcje z BGP, istnieje szkic IETF dla „multisesssion BGP”, który wprowadza nowy kod możliwości BGP, który ma na celu wsparcie wielu sesji BGP z tym samym partnerem w tym samym adresie, ale ten projekt zakłada, że ​​obie sesje byłyby być na tym samym urządzeniu, jednak wersja robocza jest zupełnie nowa i wsparcie dla tego prawdopodobnie nie będzie w bieżących wersjach Quagga.

Inną opcją jest użycie Linux-HA do skonfigurowania klastra pulsu między dwoma urządzeniami i skonfigurowanie go w taki sposób, aby w przypadku awarii routera podstawowego pulsu rozpoznało to i uruchomiło Quagga / BGPd / etc na routerze rezerwowym kiedy to się dzieje.

John Jensen
źródło