Konfigurowanie BGP za pomocą Quagga na Vultr (CentOS 7)

Funkcjonalność Vultr's Bring Your IP Space zapewnia niespotykaną swobodę w przydzielaniu własnych zasobów IP serwerom w chmurze Vultr. Zasadniczo zalecamy używanie BIRD do ogłaszania przestrzeni IP. Istnieje kilka solidnych alternatyw dla BIRD na wypadek, gdybyś nie mógł osiągnąć czegoś z BIRD (chociaż jest to bardzo rzadkie) lub po prostu chcesz użyć innego oprogramowania.

Ze względu na koszty administracyjne i techniczne odradzamy korzystanie z BIRD i Quagga (lub jakiegokolwiek innego oprogramowania do tego celu) w tej samej infrastrukturze i / lub sieci. Należy pamiętać, że poniższa konfiguracja dałaby SPOF, ponieważ instancja zapowiadająca nakładającą się podsieć nie jest redundantna. Należy jednak pamiętać, że Vultr ma wiele routerów BGP w każdym stelażu.

Mimo że ten przewodnik został napisany z myślą o CentOS 7 i przetestowany tylko w tej wersji CentOS, najprawdopodobniej zadziała również na starszych wersjach, takich jak CentOS 6. Naturalnie jednak zdecydowanie odradzamy korzystanie z przestarzałego oprogramowania i zalecamy aktualizację do nowszej, nowszej (i obsługiwanej) wersji, takiej jak CentOS 7.

Nie ma praktycznego ograniczenia liczby podsieci ani ich wielkości, które można ogłosić z jednej instancji z uruchomionym Quagga (lub dowolnym routerem BGP w tym przypadku), chociaż w dowolnej topologii sieci powinieneś mieć pewien rozkład ryzyka. Oznacza to, że należy utworzyć redundantną konfigurację lub ogłosić różne podsieci z różnych serwerów, postępując zgodnie z poniższym przewodnikiem na wielu serwerach.

Aby postępować zgodnie z tym przewodnikiem, potrzebujesz:

  • ASN, którego chcesz / potrzebujesz użyć;
  • Przestrzeń IP (podsieć), którą chcesz ogłosić;
  • BGP aktywowane na Twoim koncie Vultr

PTAK czy Quagga?

Na początek wybór pomiędzy BIRD lub Quagga może być bardzo trudny. Oba są dobrze znane i okazały się bardzo stabilne i niezawodne w wielu przypadkach użycia, w tym w środowiskach o dużym natężeniu ruchu i infrastrukturach, w których niezawodność odgrywa kluczową rolę. Główną różnicą między BIRD a Quagga jest to, że konfiguracja BIRD jest oddzielona od demona i bardziej widoczna w kierunku struktury podobnej do kodu.

Na przykład, w przypadku BIRD, jeśli chcesz osiągnąć konfigurację przełączania awaryjnego, użyjesz następującego bloku w bird.confpliku konfiguracyjnym:

export filter {
    bgp_path.prepend(asnumber);
    accept;
};

Jak widać, konfiguracja wygląda trochę jak blok kodu, tak jak wyglądałby w języku programowania. W programie Quagga można dodawać lub zmieniać ustawienia za pomocą programu w samym demonie.

Ostatecznie sprowadza się to głównie do osobistych preferencji i nie ma „zwycięzcy” ani oprogramowania, którego należy użyć. Ogólnie BIRD jest łatwiejszy do skonfigurowania ze względu na łatwy do nauczenia sposób konfiguracji i jest szeroko wspierany przez społeczność.

Co więcej, na korzyść Quagga, ogólnie rzecz biorąc, w działającym środowisku produkcyjnym, Quagga jest łatwiejsza do rekonfiguracji. W BIRD musisz edytować odpowiednie pliki konfiguracyjne, a demon przeładuje ustawienia. Za pomocą Quagga możesz wejść do jego powłoki, zmienić konfigurację bez nadmiernej pracy i zamieszania. Ciągłość odgrywa tutaj dużą rolę, ale w praktyce koszty ogólne są minimalne. W większości infrastruktur nie trzeba zbytnio konfigurować tych ustawień, więc prawdopodobnie dobrym pomysłem jest ocenianie na podstawie innych aspektów oprogramowania zamiast samych szczegółów.

Podobnie jak BIRD, Quagga jest kompatybilny krzyżowo w wielu dystrybucjach. Jeśli kiedykolwiek zechcesz zmienić dystrybucję (-y) używaną (-ych) przez routery, teoretycznie możesz po prostu przesuwać swoje konfiguracje i nic nie musiałoby być zmieniane ani się zmieniać.

W tym przewodniku opiszemy proces instalacji i konfiguracji Quagga. Jeśli chcesz również wypróbować BIRD, spróbuj postępować zgodnie z przewodnikiem „ Konfiguracja BGP na Vultr ”.

Jak wspomniano, istnieje kilka innych dobrych alternatyw, ale większość z nich ma pewne wady, uniemożliwiając ich użycie w środowisku produkcyjnym. Na przykład implementacja BGP XORP jest stosunkowo przestarzała, co zasadniczo nie jest dobrym początkiem do założenia zupełnie nowej infrastruktury (chociaż jej implementacja BGP jest stabilna).

W porównaniu z wieloma alternatywami, BIRD ma mało pamięci i nie wymaga dużych zasobów. Z drugiej strony, przekształcenie lub uaktualnienie do bardziej wydajnej instancji chmury Vultr wymaga tylko kilku kliknięć z panelu sterowania Vultr.

IPv4 i IPv6

Vultr obsługuje ogłaszanie przestrzeni IP zarówno IPv4, jak i IPv6. Implementacja BGP Quagga jest stosunkowo aktualna, co pozwala również na ogłaszanie przestrzeni IPv6.

Chociaż ten przewodnik ma na celu ogłoszenie przestrzeni IPv4, możesz użyć implementacji Quagga IPv6 i postępować zgodnie z instrukcjami tego artykułu. Nie jest to jednak wyraźnie udokumentowane, dlatego prosimy o skorzystanie z alternatywnego źródła.

Ważna uwaga

Aby móc przetrwać bez routera BGP do przesyłania ruchu, najlepszym sposobem na ogłoszenie przestrzeni IP jest:

  • Ogłoś swój / 24 (lub większy) z dedykowanej instancji Quagga;
  • Ogłoś osoby / 32 (lub więcej) z instancji ruch powinien być kierowany do siebie

W ten sposób będziesz miał jedną konfigurację instancji, aby ogłosić nakładającą się podsieć dla wszystkich adresów IP, które dzielisz na poszczególne / 32 lub więcej. Korzystając z tego projektu, możesz szybko ogłaszać adresy IP i kierować ruch do odpowiednich instancji.

Oczywiście możesz eksperymentować z wieloma podejściami do ogłaszania swojej przestrzeni IP według własnych upodobań. Teoretycznie zastosowanie jest nieograniczone i nie zna granic. Pamiętaj, że serwery Vultr są zarządzane samodzielnie i nie jesteśmy w stanie pomóc w przypadku problemów, które mogą się pojawić. Poza tym korzystanie z rozwiązania obsługiwanego przez Vultr i społeczność nie może zaszkodzić, więc jeśli pojawią się jakiekolwiek problemy, możesz szybko wskazać ich przyczynę.

Krok 1: Wyłączanie SELinux

Zdecydowanie zalecamy wyłączenie SELinux, aby zapobiec zatrzymaniu Quagga. Mamy przewodnik dotyczący wyłączania SELinuksa, postępuj zgodnie z nim i powróć do tego samouczka po wyłączeniu SELinuksa : Wyłączanie SELinuksa w CentOS 7 .

Krok 2: Instalowanie Quagga

Możemy kontynuować, instalując Quagga, używając yum:

yum install quagga

Jeśli pojawi się błąd, szczególnie w nowo wdrożonej instancji, spróbuj:

yum update

Skonfiguruj, systemdaby Zebra (główny demon) była uruchamiana automatycznie podczas rozruchu:

systemctl enable zebra

Na koniec uruchom Zebrę:

systemctl start zebra

Musimy powtórzyć proces dla BGPd w następujący sposób:

systemctl start bgpd
systemctl enable bgpd

Zebra i BGPd

Quagga składa się z różnych demonów umożliwiających routing. Ponieważ będziemy korzystać z BGP, będziemy musieli korzystać z diamonów Zebra i BGPd. Zebra i BGPd współpracują ze sobą. Gdy którakolwiek z nich przestanie działać, Twoje trasy nie będą już reklamowane, co skutecznie uniemożliwi dostęp do całej przestrzeni IP.

Quagga obsługuje wiele protokołów routingu, między innymi OSPF i BGP. Trzon ich topologii stanowi Zebra. Zebra jest podstawowym demonem, który jest warstwą zajmującą się komunikacją jądra UNIX (TCP) z klientami Quagga. Na zapleczu Zebra prezentuje interfejs API Zserv, który pozwala tym protokołom routingu komunikować się z aktualizacjami routingu. Jedną z implementacji interfejsu API Zserv jest BGP.

Domyślna wersja używana przez Quagga dla BGP to BGPv4 +, która obejmuje obsługę rodziny adresów dla multiemisji i IPv6.

Krok 3: Konfiguracja routera BGP

Aby skonfigurować router BGP według własnych upodobań, użyjemy vtyshpowłoki. Najpierw skopiuj przykładowy plik konfiguracyjny BGP:

cp /usr/share/doc/quagga-*/bgpd.conf.sample /etc/quagga/bgpd.conf

Po skopiowaniu pliku wprowadź powłokę:

vtysh

W niektórych starszych wersjach Quagga możesz znaleźć konfigurację z AS7675. Nie potrzebujemy tego, ponieważ spowoduje to konflikt tylko z naszą konfiguracją, więc musimy go usunąć, jeśli istnieje. Sprawdź, czy ta konfiguracja istnieje w instalacji Quagga, wykonując następujące polecenie w powłoce :

show running-config

Jeśli to zwróci ciąg zawierający „router bgp 7675” lub włącznie, usuń go, wykonując:

configure terminal
no router bgp 7675
router bgp YOURAS
no auto-summary
no synchronization

Powinieneś teraz wprowadzić informacje BGP, które dostarczył ci Vultr.

neighbor NEIGHBORIP remote-as VULTRAS
neighbor NEIGHBORIP description "Vultr"

Najprawdopodobniej potrzebujesz hasła, aby ustanowić sesję BGP. Wpisz to:

neighbor NEIGHBORIP password YOURBGPPASSWORD
exit

Na koniec, jeśli masz pewność, że chcesz zapisać te zmiany (dotyczy tylko prac nad instalacją produkcyjną), wykonaj następujące czynności, aby zmiany odniosły skutek:

write

Upewnij się, że zmiany się powiodły, wykonując:

show ip bgp summary

Powinniśmy teraz pomyślnie ustanowić sesję BGP.

Krok 4: Ogłoszenie swojej przestrzeni IP

Chociaż ustanowiliśmy sesję BGP, nie ogłaszamy jeszcze żadnych tras ani adresów IP, więc w praktyce nie przyniesie to żadnego efektu. Na szczęście ustawienie przestrzeni IP do ogłaszania jest stosunkowo łatwym procesem.

W vtyshnależy wykonać następujące polecenia, aby to osiągnąć:

configure terminal
router bgp YOURAS

Jesteś teraz w konfiguracji. Upewnij się, że masz pod ręką przestrzeń IP, którą chcesz ogłosić i wprowadź ją:

network YOURSUBNET/CIDR

Na przykład prawidłowe dane wejściowe to:

network 185.92.220.0/23

Oczywiście nie będzie to działać w twojej konkretnej konfiguracji, ponieważ powyższa przestrzeń IP jest własnością Vultr. Wymień to i wszystko powinno działać dobrze.

Wyjdź i zapisz zmiany:

exit
write

Sprawdź, czy Twoje prefiksy zostały pomyślnie ogłoszone:

show ip bgp neighbors NEIGHBORIP advertised-routes

Spróbuj pingować adres IP z podsieci i spróbuj wykonać traceroute spoza sieci.

Rozwiązywanie problemów

Rozwiązywanie problemów Quagga jest w dużej mierze poza zakresem tego artykułu, ale jeśli masz trudności, zawsze możesz spróbować zatrzymać instancję Quagga i spróbować ogłosić przestrzeń IP za pośrednictwem BIRD, aby móc wykluczyć wiele możliwych przyczyn.

Gdy BGP nie działa poprawnie w Quagga, jak również BIRD, istnieje szansa, że ​​twoja zapora ogniowa nie została poprawnie skonfigurowana. Port 179 powinien być otwarty. W CentOS 7 spróbuj tymczasowo wyłączyć zaporę:

systemctl stop firewalld

Jeśli używasz iptables, spróbuj:

service iptables stop

Następnie spróbuj ponownie zainicjować sesję BGP. Jeśli zawiesza się na „Bezczynnym”, „Połącz” lub „Aktywnym”, istnieje możliwość, że port jest nadal zablokowany. W stanie „Ustanowiony” sesja BGP została pomyślnie skonfigurowana i wyświetlane są reklamowane trasy.

Quagga została już zainstalowana na twoim serwerze i powinna działać. W ciągu pierwszych kilku dni ogłoszenia własnej przestrzeni IP należy monitorować jej funkcjonalność, aby zapobiec awarii całej infrastruktury.

Na tym kończy się nasz samouczek Quagga, dziękuję za przeczytanie. Aby dowiedzieć się więcej o funkcji Vultr Bring Your IP Space, przejdź na stronę BGP .



Leave a Comment

Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który

Jak zaktualizować CentOS 7, Ubuntu 16.04 i Debian 8

Jak zaktualizować CentOS 7, Ubuntu 16.04 i Debian 8

Podczas konfigurowania nowego serwera Linux zaleca się aktualizację jądra systemu i innych pakietów do najnowszej stabilnej wersji. W tym artykule

Skonfiguruj klaster RethinkDB w CentOS 7

Skonfiguruj klaster RethinkDB w CentOS 7

Wprowadzenie RethinkDB to baza danych NoSQL, która przechowuje dane jako dokumenty JSON. Ma bardzo intuicyjny język zapytań i funkcje powszechnie dostępne

Skonfiguruj Magento na CentOS 6

Skonfiguruj Magento na CentOS 6

Niezależnie od tego, czy chcesz umieścić zapasy sklepów online, czy po prostu prosty sklep z akcesoriami technicznymi, Magento jest doskonałym rozwiązaniem dla eCommerce online. Ten artykuł

Jak zainstalować i skonfigurować OrientDB Community Edition na CentOS 7

Jak zainstalować i skonfigurować OrientDB Community Edition na CentOS 7

OrientDB to wielomodowy model open source NoSQL DBMS nowej generacji. Dzięki obsłudze wielu modeli danych, OrientDB może zapewnić większą funkcjonalność i elastyczność

Jak zainstalować Neos CMS na CentOS 7

Jak zainstalować Neos CMS na CentOS 7

Neos to innowacyjny system zarządzania treścią typu open source, który doskonale nadaje się do tworzenia i edytowania treści online. Z myślą o autorach i redaktorach, Neo

Jak zainstalować Vtiger CRM Open Source Edition na CentOS 7

Jak zainstalować Vtiger CRM Open Source Edition na CentOS 7

Vtiger CRM to popularna aplikacja do zarządzania relacjami z klientami, która może pomóc przedsiębiorstwom zwiększyć sprzedaż, zapewnić obsługę klienta i zwiększyć zyski. ja

Jak zainstalować MaraDNS na CentOS 6

Jak zainstalować MaraDNS na CentOS 6

MaraDNS to lekki, ale solidny program serwera DNS typu open source. W porównaniu z innymi aplikacjami tego samego rodzaju, takimi jak ISC BIND, PowerDNS i djbdns

Instalowanie Netdata na CentOS 7

Instalowanie Netdata na CentOS 7

Używasz innego systemu? Netdata jest wschodzącą gwiazdą w dziedzinie monitorowania wskaźników systemowych w czasie rzeczywistym. W porównaniu z innymi narzędziami tego samego rodzaju, Netdata:

Jak zainstalować Starbound Server na CentOS 7

Jak zainstalować Starbound Server na CentOS 7

Używasz innego systemu? W tym samouczku wyjaśnię, jak skonfigurować serwer Starbound na CentOS 7. Wymagania wstępne Musisz mieć tę grę na sobie

Clustering RabbitMQ na CentOS 7

Clustering RabbitMQ na CentOS 7

RabbitMQ to broker komunikatów typu open source, który obsługuje AMQP, STOMP i inne technologie komunikacyjne. Jest szeroko stosowany w aplikacjach dla przedsiębiorstw

Skonfiguruj SA-MP San Andreas Multiplayer Server na CentOS 6

Skonfiguruj SA-MP San Andreas Multiplayer Server na CentOS 6

Witamy w innym samouczku Vultr. Tutaj dowiesz się, jak zainstalować i uruchomić serwer SAMP. Ten przewodnik został napisany dla CentOS 6. Wymagania wstępne Będziesz potrzebował

Zainstaluj Elgg na CentOS 7

Zainstaluj Elgg na CentOS 7

Używasz innego systemu? Elgg to silnik sieci społecznościowych typu open source, który umożliwia tworzenie środowisk społecznościowych, takich jak kampusowe sieci społecznościowe

Jak zainstalować serwer RStudio na CentOS 7

Jak zainstalować serwer RStudio na CentOS 7

RStudio Server to internetowa wersja RStudio, która jest serią narzędzi zaprojektowanych w celu ułatwienia kodowania przy użyciu języka programowania R. W thi

Instalowanie Bolt CMS na CentOS 7

Instalowanie Bolt CMS na CentOS 7

Bolt to open source CMS napisany w PHP. Kod źródłowy Bolts jest hostowany na GitHub. Ten przewodnik pokaże Ci, jak zainstalować Bolt CMS na nowym CentOS 7 Vult

Jak zainstalować Elasticsearch na instancji serwera Vultr CentOS 7

Jak zainstalować Elasticsearch na instancji serwera Vultr CentOS 7

Elasticsearch to popularny wyszukiwarka pełnotekstowa i silnik analityczny typu open source. Dzięki swojej wszechstronności, skalowalności i łatwości użytkowania, Elasticsearch jest szeroko rozpowszechniony

Wdróż Kubernetes za pomocą Kubeadm na CentOS 7

Wdróż Kubernetes za pomocą Kubeadm na CentOS 7

Omówienie Ten artykuł ma na celu pomóc ci w szybkim uruchomieniu klastra Kubernetes z kubeadm. W tym przewodniku zostaną wdrożone dwa serwery

Sails.js należy skonfigurować do programowania w CentOS 7

Sails.js należy skonfigurować do programowania w CentOS 7

Używasz innego systemu? Wprowadzenie Sails.js to framework MVC dla Node.js, podobny do Ruby on Rails. Umożliwia tworzenie nowoczesnych aplikacji wer

Jak zainstalować PufferPanel (bezpłatny panel sterowania Minecraft) na CentOS 7

Jak zainstalować PufferPanel (bezpłatny panel sterowania Minecraft) na CentOS 7

Wprowadzenie W tym samouczku zainstaluj PufferPanel na naszym Vultr VPS. PufferPanel to otwarty, darmowy panel kontrolny do zarządzania tobą

Lepsze narzędzia monitorowania dla Ubuntu i CentOS

Lepsze narzędzia monitorowania dla Ubuntu i CentOS

Wprowadzenie Systemy Linux są domyślnie dostarczane z narzędziami do monitorowania, takimi jak top, df i du, które pomagają monitorować procesy i miejsce na dysku. Często jednak są

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.