Pointer une agence vers un concentrateur est la moitié facile de cette conception lorsque l’agence se trouve derrière une adresse mobile changeante et que le concentrateur garde un nom stable. Le concentrateur apprend alors l’agence à partir du trafic authentifié, au lieu d’un enregistrement qu’il faut maintenir à jour. Le contrat est simple : l’agence initie toujours.

Configurez-le délibérément, puis vérifiez la partie que les gens supposent fonctionner. Les deux étapes prennent quelques minutes, et c’est sur la seconde que ces conceptions échouent habituellement.

Quel côté détient le point de terminaison stable

La configuration de l’agence nomme le point de terminaison et la clé publique du concentrateur. La configuration du concentrateur nomme la clé publique de l’agence et ses préfixes internes autorisés, et elle peut ne comporter aucun point de terminaison, car l’identité vient de la clé et non de l’adresse source du dernier paquet. Cette asymétrie est tout le mécanisme, et elle élimine toute une classe de problèmes de découverte du côté du concentrateur.

Lorsque l’agence envoie un paquet authentifié, le concentrateur enregistre la source d’où il est venu et utilise cette correspondance pour les réponses. La renumérotation du lien mobile ne coûte alors rien au-delà de la prochaine poignée de main, et chaque composant dont vous n’avez plus besoin est un composant qui ne peut pas tomber en panne lors d’un basculement. Cette propriété mérite d’être testée lors d’un changement planifié plutôt que pendant un incident. Faites-le pendant que quelqu’un peut surveiller les deux extrémités à la fois.

Donnez à l’agence une configuration qui survit à la renumérotation

Gardez le point de terminaison et le keepalive du côté de l’agence, et gardez l’entrée de pair du concentrateur exempte d’adresse codée en dur. Le keepalive maintient la correspondance traduite ouverte assez longtemps pour que le concentrateur envoie du trafic non sollicité après une période d’inactivité.

[Peer]
PublicKey = HUB_PUBLIC_KEY_BASE64
Endpoint = hub.example.net:51820
AllowedIPs = 10.60.0.0/24, 10.60.10.0/24
PersistentKeepalive = 25

Vingt-cinq secondes est l’exemple souvent cité pour garder une correspondance NAT vivante, pas une exigence pour chaque pair. Réglez-le d’après le délai de correspondance que vous observez réellement, et rappelez-vous qu’il génère du trafic sur un lien à quota de données tant que l’interface est active.

Sur le concentrateur, les préfixes autorisés du pair de l’agence doivent couvrir tout ce que l’agence enverra. Un préfixe manquant se comporte comme une panne de routage à l’extrémité distante et ne produit aucun avertissement d’un côté ni de l’autre, ce qui justifie de le vérifier avant le premier paquet réel. Comparez les préfixes autorisés du concentrateur aux adresses d’interface de l’agence avant la première connexion.

Vérifiez la correspondance et le basculement

Confirmez que la poignée de main aboutit, que le concentrateur liste le point de terminaison actuel de l’agence et que les adresses internes de l’agence sont joignables via le tunnel. C’est la ligne de base, et elle devrait être consignée avant que quiconque touche au lien mobile. Deux lignes de sortie suffisent. Conservez-les dans le ticket avec l’horodatage.

wg show wg0
wg show wg0 latest-handshakes
ip route show default
ping -c 3 10.60.10.1

Testez ensuite la panne pour laquelle la conception existe. Débranchez le WAN principal et confirmez que la route sous-jacente de l’agence vers le concentrateur passe désormais par l’interface mobile. Un tunnel ne peut pas réparer un chemin physique rompu, donc une route externe pointant encore vers un lien montant mort produit un délai d’attente de poignée de main qui ressemble exactement à un problème du concentrateur.

Si le chemin externe est explicitement lié ou routé par politique, le basculement doit l’inclure. Cet écart entre une conception qui se lit correctement et une qui survit à une panne est généralement la seule chose qui manque.

Ce que cette conception ne résout pas

Rien ici n’admet de connexion entrante vers l’agence. Si quelque chose au siège doit composer le site mobile, la direction du tunnel est mauvaise pour cette exigence, et le DNS dynamique ne met à jour qu’un nom. La traduction de l’opérateur, la politique d’entrée et le rafraîchissement du point de terminaison par le client restent tous sur le chemin, et un enregistrement modifié ne peut pas ouvrir un NAT de qualité opérateur.

Gardez le préfixe de l’agence distinct de tout autre site, et limitez ce que sa passerelle transmettra. Le point de terminaison stable du concentrateur simplifie la découverte et ne fait rien pour la conception du routage, le plan d’adressage ou la question des routes applicatives qui survivent à un basculement.

Écrivez quatre choses dans le runbook : qui initie, quels préfixes sont autorisés, combien de temps dure le keepalive et ce qui se passe quand le lien principal tombe. Ces lignes sont ce dont un futur opérateur a réellement besoin à trois heures du matin.

Articles similaires