AWS VPN: lokales und entferntes CIDR - welche Seite ist welche?
In den AWS VPN-Optionen ist LocalIpv4NetworkCidr die Kundenseite und RemoteIpv4NetworkCidr ist AWS. Benennen Sie beide Rollen, bevor Sie einen laufenden Tunnel anfassen.
Sie öffnen die Optionen für Site-to-Site VPN, sehen zwei CIDR-Felder mit den Bezeichnungen lokal und entfernt und greifen nach der Adresse, die Sie für lokal halten: der VPC. Das ist das Gegenteil dessen, was die API meint. In den Verbindungsoptionen benennt LocalIpv4NetworkCidr die Seite des Kundengateways und RemoteIpv4NetworkCidr die AWS-Seite, denn das Kundengateway ist der Ort, von dem aus die Verbindung aufgebaut wird. Die Konsole sagt das nie laut, und nichts weist einen plausibel aussehenden Tausch zurück.
Beginnen Sie beim API-Aufruf, nicht beim Konsolen-Label
Lesen Sie die Referenz zu den Verbindungsoptionen einmal vollständig durch und beachten Sie, dass jede Option aus Sicht des Kundengateways geschrieben ist. Das ist kein Zufall der Benennung. Der Tunnel wird so beschrieben, wie er für das Gerät aussieht, das ihn auf Ihrer Seite terminiert; lokal meint also das Netz hinter Ihrem Gateway und entfernt das Netz hinter dem AWS-Gateway. Sowohl die IPv4- als auch die IPv6-Felder folgen derselben Regel.
Schreiben Sie die beiden Bezeichnungen auf einen Haftzettel, bevor Sie etwas eintippen: Kundenseite, AWS-Seite. Ordnen Sie dann Ihre Adressen diesen zu.
Ein durchgerechnetes Beispiel mit den Rollen
Angenommen, das lokale Präfix ist 10.20.0.0/16 und das VPC-Präfix ist 10.60.0.0/16. Die Optionen lesen sich genau so, wie die Rollen es nahelegen, mit dem lokalen Bereich im lokalen Feld:
{
"LocalIpv4NetworkCidr": "10.20.0.0/16",
"RemoteIpv4NetworkCidr": "10.60.0.0/16"
}Geben Sie dasselbe Paar nun an die Person weiter, die das Peer-Gerät konfiguriert, und beobachten Sie, wie die Falle zuschnappt. Bei vielen Firewalls meint lokal die Schnittstelle, auf der der Tunnel terminiert, und entfernt das andere Ende - für die AWS-Seite die umgekehrte Zuordnung. Beide Beteiligten können recht haben und trotzdem einen Tunnel erzeugen, der nie zustande kommt, weil die beiden Begriffswelten verschiedene Endpunkte beschreiben.
Wiederholen Sie die Übung auf Papier in der Terminologie des Peers, mit beiden CIDRs und beiden Bezeichnungen, bevor ein Gerät angefasst wird.
Standardwerte sind kein Design
Dieselbe Referenz führt 0.0.0.0/0 als Standard für beide IPv4-Felder auf, mit analogen Werten für IPv6. Diese Werte in einer bestehenden Verbindung zu sehen heißt, dass das Feld nie eingegrenzt wurde - nicht, dass ein Internet-Ausgang konfiguriert ist. Routenverteilung, die Subnetz-Routentabelle und die Sicherheitskontrollen entscheiden weiterhin, welcher Verkehr tatsächlich passieren darf; die CIDR-Werte beschreiben nur, welche Bereiche der Tunnel auszuwählen bereit ist.
Einen engeren Wert durch den Standard zu ersetzen ist deshalb kein Kompatibilitätstrick, den man bei einem fehlerhaften Tunnel anwendet. Er erweitert den Selektor und lässt jede andere Schicht genau so, wie sie war.
Das Peer-Gerät verwendet die andere Sichtweise
Sobald die AWS-Seite klar ist, steckt der größte Teil der verbleibenden Verwirrung in der Peer-Konfiguration. Ein Gerät, das ein lokales Netz und ein entferntes Netz abfragt, beschreibt seine eigene Schnittstelle als lokal; Ihr VPC-Bereich gehört also in sein entferntes Feld und Ihr lokaler Bereich in sein lokales Feld. Fragt es stattdessen Verkehrsselektoren paarweise ab, schreiben Sie beide Richtungen ausdrücklich hin, und die Bezeichnungen sind weniger wichtig als die Paarung.
Lesen Sie die Feldhilfe des Geräts statt seine Feldnamen. Hersteller verwenden dieselben zwei Wörter für drei verschiedene Konzepte.
Prüfen Sie danach den Tunnelstatus für beide Phasen, denn ein unpassender Selektor zeigt sich meist als Fehler in der zweiten Phase, während die erste Phase munter etabliert bleibt.
Ändern Sie die Optionen wie eine Änderung, nicht wie eine Dokumentation
Das Bearbeiten von Verbindungsoptionen an einem laufenden VPN kann den Dienst unterbrechen; behandeln Sie es daher als Wartungsmaßnahme mit Zeitfenster, Rollback-Wert und einem Vermerk, wen es betrifft. Erfassen Sie zuerst die aktuellen Optionen, einschließlich beider CIDR-Felder und der Tunneloptionen, damit ein Zurückrollen ein Einfügen ist und kein Nachbau.
Prüfen Sie nach der Änderung von der AWS-Seite und vom Peer aus: eine Quelle in jedem Bereich, die ein Ziel im anderen erreicht, in beide Richtungen. Ein einzelner Ping von einer Seite beweist einen Selektor.
Aktualisieren Sie anschließend die Verbindungsdokumentation mit ausgeschriebenen Rollen, damit die nächste Person nicht neu entdecken muss, dass lokal Ihre Seite meint.