Een vestiging op een hub richten is de makkelijke helft van dit ontwerp wanneer de vestiging achter een wisselend mobiel adres zit en de hub een stabiele naam heeft. De hub leert de vestiging dan uit geauthenticeerd verkeer, in plaats van uit een record dat u actueel moet houden. Het contract is simpel: de vestiging begint altijd.

Configureer het bewust en verifieer daarna het deel waarvan mensen aannemen dat het werkt. Beide stappen kosten minuten, en bij de tweede falen dit soort ontwerpen meestal.

Welke kant houdt het stabiele eindpunt

De configuratie van de vestiging noemt het eindpunt en de openbare sleutel van de hub. De configuratie van de hub noemt de openbare sleutel van de vestiging en haar toegestane interne prefixen, en bevat mogelijk helemaal geen eindpunt, omdat de identiteit uit de sleutel komt en niet uit het bronadres van het laatste pakket. Die asymmetrie is het hele mechanisme, en zij haalt een hele klasse ontdekkingsproblemen aan de hubkant weg.

Wanneer de vestiging een geauthenticeerd pakket stuurt, legt de hub de bron vast waarvan het kwam en gebruikt die toewijzing voor antwoorden. Het hernummeren van de mobiele verbinding kost dan niets extra’s dan de volgende handshake, en elk onderdeel dat u niet meer nodig hebt is er een dat tijdens een omschakeling niet kan uitvallen. Die eigenschap is het waard om tijdens een geplande wijziging te testen en niet tijdens een incident. Doe het terwijl iemand beide uiteinden tegelijk kan bekijken.

Geef de vestiging een configuratie die hernummering overleeft

Houd het eindpunt en de keepalive aan de vestigingskant, en houd de peer-regel van de hub vrij van een hardgecodeerd adres. De keepalive houdt de vertaalde toewijzing lang genoeg open zodat de hub na een inactieve periode ongevraagd verkeer kan sturen.

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

Vijfentwintig seconden is het vaak genoemde voorbeeld om een NAT-toewijzing levend te houden, geen vereiste voor elke peer. Stel het in op de toewijzingstimeout die u werkelijk ziet, en bedenk dat het verkeer genereert op een verbinding met datalimiet zolang de interface actief is.

Op de hub moeten de toegestane prefixen van de peer van de vestiging alles dekken wat de vestiging zal sturen. Een ontbrekend prefix gedraagt zich als een routeringsfout aan de verre kant en levert aan geen van beide kanten een waarschuwing op, daarom is het de moeite waard om het vóór het eerste echte pakket te bekijken. Vergelijk de toegestane prefixen van de hub met de interfaceadressen van de vestiging vóór de eerste verbinding.

Verifieer de toewijzing en de failover

Bevestig dat de handshake voltooid wordt, dat de hub het huidige eindpunt van de vestiging toont en dat de interne adressen van de vestiging via de tunnel bereikbaar zijn. Dat is de basislijn, en die moet worden vastgelegd voordat iemand de mobiele verbinding aanraakt. Twee regels uitvoer zijn genoeg. Bewaar ze in het ticket met de tijdsaanduiding.

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

Test daarna de storing waarvoor dit ontwerp bestaat. Trek de primaire WAN eruit en bevestig dat de onderliggende route van de vestiging naar de hub nu via de mobiele interface loopt. Een tunnel kan een gebroken fysiek pad niet repareren, dus een buitenroute die nog naar een dode uplink wijst levert een handshake-timeout op die er precies als een hubprobleem uitziet.

Als het buitenpad expliciet gebonden of policy-geroutet is, moet de failover het meenemen. Die kloof tussen een ontwerp dat correct leest en een dat een storing overleeft is meestal het enige dat ontbreekt.

Wat dit ontwerp niet oplost

Niets hier staat een inkomende verbinding naar de vestiging toe. Als iets op het hoofdkantoor de mobiele locatie moet bellen, is de tunnelrichting verkeerd voor die eis, en dynamische DNS werkt alleen een naam bij. Vertaling door de provider, inkomend beleid en het verversen van het eindpunt door de client staan allemaal in de weg, en een gewijzigd record kan geen NAT op providerniveau openen.

Houd het prefix van de vestiging gescheiden van elke andere locatie, en beperk wat zijn gateway doorstuurt. Het stabiele hub-eindpunt vereenvoudigt ontdekking en doet niets voor routeringsontwerp, adresplanning of de vraag welke applicatieroutes een failover overleven.

Schrijf vier dingen in het runbook: wie begint, welke prefixen zijn toegestaan, hoe lang de keepalive is en wat er gebeurt als de primaire verbinding wegvalt. Die regels zijn wat een toekomstige beheerder om drie uur ’s nachts echt nodig heeft.

Gerelateerde artikelen