Haute disponibilité sur Vultr avec IP flottante et BGP

Vultr vous permet de combiner deux de nos fonctionnalités (IP flottantes et BGP) afin d'atteindre une haute disponibilité.

Installer

Vous aurez besoin de deux instances au même emplacement et d'une adresse IP flottante. Vous devrez également ouvrir un ticket demandant la configuration de BGP sur un ASN privé pour les IP flottantes. (Vous pouvez également utiliser cette fonctionnalité si vous exécutez BGP avec nous sur un ASN public)

Vous aurez également besoin d'un démon BGP, nous vous recommandons BIRD. BIRD est généralement disponible via le gestionnaire de packages de votre système d'exploitation.

Nous utiliserons 192.0.2.10/32notre exemple d'IP flottante et 198.51.100.99l'adresse IP de l'une de nos instances.

Remarque: Vous ne devez pas attacher l'IP flottante à une instance particulière via votre panneau de contrôle. Si une adresse IP est connectée via le panneau de commande, la haute disponibilité ne fonctionnera pas correctement.

Configuration IP

Nous allons utiliser une interface "factice" Linux pour lier l'adresse IP à. Vous pouvez le créer avec les commandes suivantes:

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

Confirmez que cela a été configuré correctement:

# 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

Configuration BIRD

Ensuite, nous allons configurer BIRD. Ces instructions varient légèrement entre les systèmes d'exploitation hôtes, voir les notes de bas de page au bas de cette section.

Créez un /etc/bird.conffichier:

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>>";
}

Vous devrez mettre à jour YOURASet YOURPASSWORDavec le numéro AS et le mot de passe BGP attribués à votre compte. Ces informations se trouvent sur l'onglet BGP d'une page d'instance dans le panneau de configuration Vultr .

Ce fichier de configuration indiquera à BIRD de rechercher l'interface dummy1 et annoncera toutes les IP qu'il trouve à notre infrastructure via BGP. Cela signifie que dès que votre instance est en cours d'exécution, vous commencerez à recevoir du trafic et s'il se bloque, le trafic s'arrêtera.

Configuration de FreeBSD

Si vous utilisez FreeBSD comme hôte au lieu de Linux, il y a quelques différences.

  1. Le noyau doit être recompilé pour la prise en charge de la signature TCP MD5. Ces instructions n'entrent pas dans le cadre de cet article. Si votre noyau BSD ne prend pas en charge les signatures TCP MD5, vous verrez la sortie suivante dans le journal BIRD.

    $ 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. Le fichier de configuration BIRD se trouve /usr/local/etc/bird.confsur BSD.

Vérifiez la connectivité BGP

Démarrez le service BIRD service bird startet attendez quelques secondes. Vérifiez que la session BGP a été établie:

# 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

Si tout fonctionne correctement, vous devriez voir "Établi" à côté de l'état BGP. Un problème courant ici est d'avoir un pare-feu bloquant le port BGP (TCP 179). De plus, si cette instance a été déployée avant que Vultr configure votre session BGP, elle devra être redémarrée via le panneau de configuration avant que BGP ne soit disponible. Si vous rencontrez toujours des problèmes, consultez /var/log/birdpour plus de détails.

Essai

Vous pouvez vous assurer que BIRD annonce la route vers votre IP flottante avec les éléments suivants:

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

Pour confirmer que cela fonctionne correctement, vous pouvez désactiver l'interface dummy1 (avec ip link set dummy1 down), puis répéter la show routecommande. BIRD aura remarqué que l'interface a disparu et retirera l'itinéraire.

Utilisation en production

Afin de vous assurer que votre site reste actif, vous souhaitez que plusieurs serveurs exécutent la même configuration BGP. Si l'une des instances tombe en panne, le trafic est redirigé dynamiquement vers l'une des autres instances. Il n'y a pas de limite au nombre d'instances que vous pouvez exécuter avec cette configuration dans un emplacement particulier, mais une seule d'entre elles sera active à un moment donné.

Dans certains de nos emplacements, le trafic sera réparti de manière aléatoire entre toutes les instances que vous avez configurées de cette façon. Finalement, tous les emplacements seront configurés de cette façon. Si vous souhaitez qu'une instance obtienne tout le trafic, sauf si elle est hors ligne, vous devez utiliser des préfixes pour diriger le trafic.

Par exemple, si vous avez deux instances:

  • Instance A - instance principale, devrait recevoir tout le trafic normalement
  • Instance B - l'instance de sauvegarde, doit recevoir du trafic uniquement si l'instance A est en panne

Pour ce faire, ajoutez la section suivante à votre configuration BIRD sur l'instance B comme suit:

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

Cela garantirait que le trafic ira toujours à l'instance A, sauf s'il est en panne.

Si vous avez une instance C, qui ne devrait recevoir du trafic que lorsque A et B sont en panne, vous pouvez simplement ajouter une autre ligne «bgp_path.prepend» pour accomplir cela.

Configuration IPv6

Ce processus fonctionnera également avec les sous-réseaux réservés IPv6, bien que vous utilisiez "bird6" au lieu de "bird" et "birdc6" au lieu de "birdc".

Laisser un commentaire

Comment générer des clés SSH?

Comment générer des clés SSH?

Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.

Créer un serveur de messagerie avec hMailServer sous Windows

Créer un serveur de messagerie avec hMailServer sous Windows

Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

LIA peut-elle lutter contre un nombre croissant dattaques de ransomware

Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau

ReactOS : est-ce lavenir de Windows ?

ReactOS : est-ce lavenir de Windows ?

ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Restez connecté via lapplication de bureau WhatsApp 24 * 7

Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Comment lIA peut-elle faire passer lautomatisation des processus au niveau supérieur ?

Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

La mise à jour du supplément macOS Catalina 10.15.4 cause plus de problèmes quelle nen résout

Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux dextraction de données de Big Data

13 outils commerciaux d'extraction de données de Big Data

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Quest-ce quun système de fichiers de journalisation et comment fonctionne-t-il ?

Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true

Singularité technologique : un futur lointain de la civilisation humaine ?

Singularité technologique : un futur lointain de la civilisation humaine ?

Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.