Hoge beschikbaarheid op Vultr met drijvende IP en BGP

Met Vultr kunt u twee van onze functies (zwevende IP's en BGP) combineren om een ​​hoge beschikbaarheid te bereiken.

Opstelling

U heeft twee instanties op dezelfde locatie en een zwevend IP-adres nodig. U moet ook een ticket openen waarin wordt gevraagd of BGP moet worden ingesteld op een privé-ASN voor zwevende IP's. (U kunt deze functie ook gebruiken als u BGP bij ons uitvoert op een openbare ASN)

Je hebt ook een BGP-daemon nodig, we raden BIRD aan. BIRD is meestal beschikbaar via de pakketbeheerder van uw besturingssysteem.

We gebruiken 192.0.2.10/32als voorbeeld een zwevend IP-adres en 198.51.100.99als het IP-adres van een van onze instanties.

Opmerking: Je moet niet de drijvende IP hechten aan een bepaald geval via uw control panel. Als een IP is aangesloten via het bedieningspaneel, zal hoge beschikbaarheid niet goed werken.

IP-configuratie

We gaan een Linux "dummy" interface gebruiken om het IP-adres aan te binden. Je kunt dit maken met de volgende opdrachten:

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

Controleer of dit correct is geconfigureerd:

# 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 192.0.2.10/32 scope global dummy1

BIRD-configuratie

Vervolgens configureren we BIRD. Deze instructies verschillen enigszins tussen hostbesturingssystemen, zie de voetnoten onderaan dit gedeelte.

Maak een /etc/bird.confbestand aan:

log "/var/log/bird" all;

router id 198.51.100.99;

protocol device
{
    scan time 60;
}

protocol direct
{
    interface "dummy1";
}

protocol bgp vultr
{
    local as <<YOURAS>>;
    source address 198.51.100.99;
    import none;
    export all;
    graceful restart on;
    next hop self;
    multihop 2;
    neighbor 169.254.169.254 as 64515;
    password "<<YOURPASSWORD>>";
}

U moet updaten YOURASen YOURPASSWORDmet het AS-nummer en het BGP-wachtwoord toegewezen aan uw account. Deze informatie is te vinden op het BGP-tabblad van een exemplaarpagina in het Vultr-configuratiescherm .

Dit configuratiebestand zal BIRD vertellen om naar de dummy1-interface te zoeken en alle IP's die het via BGP vindt aan onze infrastructuur te adverteren. Dit betekent dat zodra uw instantie actief is, u verkeer zult gaan ontvangen en als het ooit crasht, zal het verkeer stoppen.

FreeBSD-configuratie

Als je FreeBSD als host gebruikt in plaats van Linux, zijn er een paar verschillen.

  1. De kernel moet opnieuw worden gecompileerd voor ondersteuning van TCP MD5-handtekeningen. Deze instructies vallen buiten het bestek van dit artikel. Als uw BSD-kernel geen TCP MD5-handtekeningen ondersteunt, ziet u de volgende uitvoer in het BIRD-logboek.

    $ cat /var/log/bird
    2017-12-15 01:35:00 <INFO> Started
    2017-12-15 01:35:00 <ERR> vultr: Socket error: Kernel does not support TCP MD5 signatures
    
  2. Het BIRD-configuratiebestand bevindt zich /usr/local/etc/bird.confop BSD.

Controleer BGP-connectiviteit

Start de BIRD-service service bird starten wacht een paar seconden. Controleer of de BGP-sessie tot stand is gekomen:

# birdc show proto all vultr
BIRD 1.5.0 ready.
name     proto    table    state  since       info
vultr    BGP      master   up     2016-01-15  Established
  Preference:     100
  Input filter:   REJECT
  Output filter:  ACCEPT
  Routes:         0 imported, 1 exported, 0 preferred
  Route change stats:     received   rejected   filtered    ignored   accepted
    Import updates:      255919581          0  255919581          0          0
    Import withdraws:      1905513          0        ---  257825094          0
    Export updates:              1          0          0        ---          1
    Export withdraws:            0        ---        ---        ---          0
  BGP state:          Established
    Neighbor address: 169.254.169.254
    Neighbor AS:      YOURAS
    Neighbor ID:      x.x.x.x (Host IP)
    Neighbor caps:    refresh enhanced-refresh restart-able AS4
    Session:          external multihop AS4
    Source address:   198.51.100.99
    Hold timer:       184/240
    Keepalive timer:  30/80

Als alles naar behoren werkt, ziet u 'Opgericht' naast de BGP-status. Een veelvoorkomend probleem hier is dat een firewall de BGP-poort blokkeert (TCP 179). Als deze instantie is geïmplementeerd voordat Vultr uw BGP-sessie heeft ingesteld, moet deze opnieuw worden opgestart via het configuratiescherm voordat BGP beschikbaar is. Als je nog steeds problemen ondervindt, kijk dan /var/log/birdvoor meer details.

Testen

U kunt ervoor zorgen dat BIRD de route naar uw zwevende IP adverteert met het volgende:

# birdc show route
BIRD 1.5.0 ready.
192.0.2.10/32    dev dummy1 [direct1 2015-12-29] * (240)

Om te bevestigen dat dit goed werkt, kunt u de dummy1-interface (met ip link set dummy1 down) uitschakelen en vervolgens de show routeopdracht herhalen . BIRD zal hebben opgemerkt dat de interface is verdwenen en zal de route intrekken.

Productiegebruik

Om ervoor te zorgen dat uw site actief blijft, wilt u dat meer dan één server dezelfde BGP-configuratie uitvoert. Als een van de instanties uitvalt, wordt het verkeer dynamisch omgeleid naar een van de andere instanties. Er is geen limiet aan het aantal instanties dat u met deze configuratie op een bepaalde locatie kunt uitvoeren, maar slechts één ervan zal op elk moment actief zijn.

Op sommige van onze locaties wordt het verkeer willekeurig verdeeld over alle instanties die u op deze manier heeft geconfigureerd. Uiteindelijk worden alle locaties op deze manier geconfigureerd. Als u wilt dat één exemplaar al het verkeer krijgt, tenzij het offline is, wilt u prepends gebruiken om het verkeer te sturen.

Als u bijvoorbeeld twee instanties heeft:

  • Instantie A - hoofdinstantie, moet al het verkeer normaal ontvangen
  • Instance B - backupinstantie, mag alleen verkeer ontvangen als Instance A niet actief is

Om dit te bereiken, voegt u de volgende sectie als volgt toe aan uw BIRD-configuratie op instantie B:

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

Dit zou ervoor zorgen dat het verkeer altijd naar instantie A gaat, tenzij het uitvalt.

Als u een instantie C heeft, die alleen verkeer zou moeten ontvangen als A en B niet beschikbaar zijn, kunt u eenvoudig een andere regel 'bgp_path.prepend' toevoegen om dit te bereiken.

IPv6-installatie

Dit proces werkt ook met gereserveerde IPv6-subnetten, hoewel u "bird6" gebruikt in plaats van "bird" en "birdc6" in plaats van "birdc".



Leave a Comment

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.