Konfigurowanie BGP na Vultr

Funkcja BGP firmy Vultr umożliwia wniesienie własnej przestrzeni IP i wykorzystanie jej w dowolnej z naszych lokalizacji.

Pierwsze kroki

Aby korzystać z BGP, potrzebujesz:

  • Wdrożona instancja serwera Vultr.
  • Twoja własna przestrzeń IP (v4 lub v6). Jeśli masz własny ASN, możesz go użyć lub możemy przypisać prywatny.

Jeśli reklamujesz prefiks IPv4, instancja serwera musi mieć adres IPv4 automatycznie przypisany przez Vultr. Jeśli reklamujesz prefiks IPv6, instancja serwera musi mieć adresy IPv4 i IPv6 automatycznie przypisywane przez Vultr.

Aby rozpocząć, wypełnij formularz konfiguracji BGP . Upewnij się, że zweryfikujesz własność swojego ASN i podsieci, aby zapobiec opóźnieniom.

Po skonfigurowaniu tego na koncie możesz kontynuować konfigurowanie BGP.

Konfiguracja BGP

Uwaga: jeśli zamierzasz skonfigurować instancję, która została wdrożona przed skonfigurowaniem BGP na Twoim koncie, musisz ponownie uruchomić go za pomocą panelu sterowania. BGP nie będzie działać na żadnych istniejących instancjach, dopóki nie zostaną ponownie uruchomione (ponowne uruchomienie za pośrednictwem SSH nie jest wystarczające).

Zalecamy użycie BIRD jako demona BGP (ale możesz użyć dowolnego demona BGP). Większość systemów operacyjnych ma dostępny pakiet do tego.

Nasze przykłady zakładają, że:

  • ASN: 64512
  • Adres IP instancji :: 203.0.113.123
  • Blok IPv4: 198.51.100.0/24
  • Hasło BGP: hunter2

Aby potwierdzić łączność, skonfigurujmy sesję BGP bez podawania adresów IP. Utwórz /etc/bird.confplik z następującym tekstem. Pamiętaj, że w niektórych systemach, takich jak Ubuntu 16.04, tak będzie /etc/bird/bird.conf.

router id 203.0.113.123;

protocol bgp vultr
{
    local as 64512;
    source address 203.0.113.123;
    import none;
    export all;
    graceful restart on;
    multihop 2;
    neighbor 169.254.169.254 as 64515;
    password "hunter2";
}

Uruchom ponownie ptaka i sprawdź status sesji:

[root@vultr ~]# birdc show proto all vultr
BIRD 1.4.5 ready.
name     proto    table    state  since       info
vultr    BGP      master   up     14:11:36    Established
  Preference:     100
  Input filter:   REJECT
  Output filter:  (unnamed)
  Routes:         0 imported, 581634 filtered, 1 exported, 0 preferred
  Route change stats:     received   rejected   filtered    ignored   accepted
    Import updates:         581674          0     581674          0          0
    Import withdraws:            2          0        ---     581675          0
    Export updates:              1          0          0        ---          1
    Export withdraws:            0        ---        ---        ---          0
  BGP state:          Established
    Neighbor address: 169.254.169.254
    Neighbor AS:      64515
    Neighbor ID:      169.254.169.254
    Neighbor caps:    refresh restart-able AS4
    Session:          external multihop AS4
    Source address:   203.0.113.123
    Hold timer:       208/240
    Keepalive timer:  57/80

Stan „ustalony” BGP oznacza, że ​​wszystko działa poprawnie. Jeśli nie widzisz stanu Ustanowiony, oto kilka rzeczy do wypróbowania:

  • Czy zrestartowałeś się za pomocą panelu sterowania, ponieważ obsługa konfiguracji BGP na Twoim koncie?
  • Czy port BGP (TCP 179) jest dozwolony przez zaporę?
  • Czy twoje hasło BGP jest prawidłowe? (Można to sprawdzić w panelu sterowania, każda subskrypcja ma kartę BGP z listą szczegółów)
  • Czy używasz głównego adresu IP swojej instancji? (Nie można używać niczego innego niż główny adres IP wystąpienia z BGP)

Notatki FreeBSD

Domyślna konfiguracja FreeBSD nie będzie działać z BGP. Aby faktycznie korzystać z BGP na FreeBSD, musisz zrobić kilka rzeczy:

1) Ponownie skompiluj jądro z włączonymi tymi dodatkowymi opcjami:

device crypto
options IPSEC
options TCP_SIGNATURE

2) Skonfiguruj kartę sieciową ze statycznym adresem IP.

3) Zaktualizuj ipsec.conf hasłem BGP:

add 203.0.113.123 169.254.169.254 tcp 0x1000 -A tcp-md5 "hunter2";
add 169.254.169.254 203.0.113.123 tcp 0x1000 -A tcp-md5 "hunter2";

Ogłoszenie tras

Gdy masz już działającą sesję BGP, następnym krokiem jest rozpoczęcie ogłaszania niektórych tras. Aby przestrzeń adresowa była widoczna w Internecie, musisz podać co najmniej a / 24 (lub / 48 dla IPv6).

Najłatwiejszym sposobem na rozpoczęcie jest dodanie trasy statycznej do konfiguracji BIRD, na przykład:

protocol static
{
    route  198.51.100.0/24 via 203.0.113.123;
}

protocol device
{
    scan time 5;
}

Blok „urządzenia protokołu” pozwala BIRD zbierać informacje o kartach sieciowych podłączonych do twojej instancji. Bez niego trasy statyczne nie pojawią się.

Załaduj ponownie BIRD, a następnie sprawdź, czy trasa działa poprawnie:

[root@vultr ~]# birdc show route
BIRD 1.4.5 ready.
198.51.100.0/24    via 203.0.113.123 on eth0 [static1 14:22:12] * (200)

W tym momencie ruch w twojej podsieci powinien teraz płynąć w kierunku twojej instancji. Nie będzie można pingować żadnych adresów IP, dopóki nie zostaną one skonfigurowane w systemie operacyjnym. Jednym ze sposobów sprawdzenia tego byłoby użycie tcpdump, 'tcpdump -i eth0 -n net 198.51.100.0/24'.

Konfigurowanie adresów IP

Jedną z powszechnych konfiguracji, jaką widzimy, jest używanie indywidualnych adresów IP w różnych instancjach. Jest to możliwe, chociaż każda instancja musiałaby mieć własny serwer BGP.

Aby to zrobić, ogłosimy / 32 trasy z poszczególnych instancji, oprócz pokrycia / 24. Możemy to zrobić za pomocą tras statycznych, ale zamiast tego zalecamy używanie fałszywych interfejsów. Użyjemy adresu 198.51.100.100 jako adresu IP, który chcemy trasować.

Skonfiguruj to w interfejsie:

# ip link add dev dummy1 type dummy
# ip link set dummy1 up
# ip addr add dev dummy1 198.51.100.100/32

Potwierdź, że został poprawnie skonfigurowany:

# ip addr show dev dummy1
5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether ba:23:57:2c:ad:bc brd ff:ff:ff:ff:ff:ff
    inet 198.51.100.100/32 scope global dummy1

Uwaga: Należy zapoznać się z dokumentacją systemu operacyjnego, aby ustalić, jak skonfigurować ten interfejs, aby był uruchamiany podczas rozruchu.

Teraz skonfigurujemy BIRD tak, aby skanował w poszukiwaniu wszelkich atrapy interfejsów i ogłaszał wszelkie znalezione na nich adresy IP. Dodaj następujące elementy do konfiguracji BIRD i załaduj ponownie BIRD:

protocol direct
{
    interface "dummy*";
    import all;
}

Sprawdź, czy BIRD ogłasza trasę:

[root@vultr ~]# birdc show route
BIRD 1.4.5 ready.
198.51.100.0/24    via 203.0.113.123 on eth0 [static1 14:22:12] * (200)
198.51.100.100/32  dev dummy1 [direct1 14:36:56] * (240)

Możesz powtórzyć ten proces w innych instancjach z innymi adresami IP. Co się stanie, nasze routery wykorzystają najbardziej konkretną trasę, jaką mają dla danego adresu IP. Kiedy jest / 24 i / 32, / 32 jest najbardziej konkretną trasą, więc wszelki ruch dla tego adresu IP będzie podążał tą trasą.

Możesz mieć wiele wystąpień ogłaszających to samo / 32. Zapewniłoby to wysoką dostępność (w przypadku awarii dowolnego wystąpienia jego trasy zniknęłyby, a ruch zostałby przełączony w tryb failover do drugiego wystąpienia).

Nasze lokalizacje nie są powiązane, więc musisz upewnić się, że ogłaszasz / 24 (lub IPv6 / 48) z każdej lokalizacji, w której chcesz użyć adresów IP. Nie możesz użyć jednego / 24 do przypisania adresów IP dla wielu lokalizacji, chyba że próbujesz skonfigurować sieć anycast.

Niektóre z naszych lokalizacji obsługują ECMP, w którym to przypadku ruch zostanie losowo rozdzielony między maksymalnie 8 instancji, które ogłaszają ten sam adres IP. Lokalizacje obecnie obsługujące ECMP to:

  • New Jersey
  • Chicago
  • Dallas
  • Atlanta
  • Tokio
  • Singapur
  • Los Angeles
  • Miami
  • Dolina Krzemowa
  • Paryż
  • Londyn

Powiązane dokumenty

Notatki

W przypadku BIRD 1.5 i nowszych może być konieczna zmiana routeskładni linii z:

route  198.51.100.0/24 via 203.0.113.123;

do:

route  198.51.100.0/24 via "203.0.113.123";

** Rozwiązywanie problemów **

Nasze systemy wymagają uwierzytelnienia TCP MD5 w celu nawiązania połączenia. Oznacza to, że nie można przetestować łączności przy użyciu czegoś takiego jak telnet. Ogólnie zalecamy obserwowanie ruchu za pomocą tcpdump w celu rozwiązania problemów z łącznością.



Leave a Comment

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.