Wer antwortet tatsächlich auf der dedizierten VPN-Adresse?
Eine Adresse in Ihrer Zuteilung ist kein Listener. Entscheiden Sie, ob das Gateway sie besitzt oder ein vorgelagertes Gerät sie übersetzt, und prüfen Sie dann Identität und Richtlinie.
Eine Adresse, die in der Zuteilung der Organisation ungenutzt liegt, ist kein Listener, und sie einer Firewall hinzuzufügen erzeugt keinen. Irgendetwas muss IKE auf dieser Adresse terminieren, und der Mechanismus unterscheidet sich danach, ob das Gateway die Adresse besitzt oder ein vorgelagertes Gerät sie übersetzt. Der Paketpfad ist es, was die beiden Fälle unterscheidet, und er entscheidet, welche Plattformfunktion Sie brauchen, bevor jemand einen Änderungsantrag öffnet. Modellieren Sie zuerst den Pfad, dann wählen Sie.
Der Paketpfad hinter der Adresse
Ein Peer sendet IKE an die Adresse, die er erhalten hat, auf UDP 500 oder auf UDP 4500, wenn NAT-Traversal im Spiel ist. Welches Gerät diese Adresse auf dem Pfad auch hält, es empfängt das Datagramm entweder lokal und beantwortet es, oder es leitet es woandershin weiter. Das sind die einzigen zwei Möglichkeiten, und alles Weitere in diesem Artikel folgt daraus, welche zutrifft.
Lokaler Empfang bedeutet, dass auf diesem Gerät ein Socket existiert, der an diese Adresse gebunden ist. Weiterleitung bedeutet, dass das Datagramm umgeschrieben und zu einem anderen Endpunkt geschickt wird, der dann den Socket hat. Eine Firewall-Regel, die UDP 500 erlaubt, sagt Ihnen nichts darüber, welcher der beiden Fälle eintritt.
Schreiben Sie den Eintrag, bevor Sie irgendetwas anfassen: die Adresse, die Peers kontaktieren, wie das vorgelagerte Netz sie zustellt, die lokale Schnittstelle oder den logischen Endpunkt, der sie empfängt, und den Prozess, der IKE beantwortet. Vier Zeilen, und jede lässt sich prüfen. Ist eine davon unbekannt, ist dieses Unbekannte die Designarbeit und kein Implementierungsdetail, das später geklärt wird. Sie nach Genehmigung des Änderungsantrags auszufüllen ist der Weg, auf dem eine Übersetzungsregel beim falschen Gerät landet.
Modell A: das Gateway besitzt die Adresse
Im ersten Modell hält das Gateway die Adresse selbst, entweder als Sekundäradresse auf einer bestehenden Schnittstelle, als Adresse auf einer dedizierten Schnittstelle oder als Loopback, den die Plattform als Tunnelendpunkt unterstützt. Das sind drei verschiedene Funktionen mit drei verschiedenen Konfigurationswegen, und eine Plattform, die eine unterstützt, unterstützt vielleicht die anderen nicht.
Bestätigen Sie, dass Plattform und Release genau diese Anordnung unterstützen, bevor Sie darum herum entwerfen. Ein gerouteter Block, eine zusätzliche Adresse auf einer Schnittstelle und ein Loopback-Endpunkt sind nicht austauschbar, und die Dokumentation eines Releases verspricht nicht, dass das nächste sich gleich verhält.
ip -br addr show ss -lunp | grep -E ':500|:4500' sudo tcpdump -ni eth0 'udp port 500 or udp port 4500'
Der lauschende Socket ist der Beweis. Wenn nichts an die Adresse gebunden ist, ist das Gateway nicht der Terminator, egal was die Routing-Tabelle sagt, und ein Paketmitschnitt zeigt die Datagramme ankommen, ohne dass etwas sie beantwortet.
Setzen Sie keine zweite Schnittstelle in ein Subnetz, das anderswo in der Topologie bereits existiert, und nehmen Sie nicht an, dass die Plattform das regelt. Überlappende Schnittstellen-Subnetze erzeugen mehrdeutige Quellauswahl und auf vielen Plattformen eine rundheraus verweigerte Konfiguration.
Modell B: ein vorgelagertes Gerät übersetzt sie
Im zweiten Modell hält eine vorgelagerte Firewall die dedizierte Adresse und leitet den Verkehr an ein anderes VPN-Gateway weiter. Das ist eine Zielübersetzung mit Rückweg, und es ist ein vollkommen gültiges Design, solange es als solches dokumentiert ist.
Was es nicht ist, ist ein Beleg dafür, dass das vorgelagerte Gerät einen lokalen VPN-Socket erworben hat. Die Übersetzung leitet Pakete weiter; sie macht die obere Box nicht zum IKE-Responder. Wird die vorgelagerte Regel entfernt oder bricht ihr Rückweg, stoppt das VPN, obwohl das Gateway gesund ist und seine eigenen Listener intakt sind.
Halten Sie beide Adressen fest: die, die Peers kontaktieren, und die, die das Gateway tatsächlich sieht. Halten Sie dann den Transport und den Rückweg fest, denn eine Übersetzung, die für UDP 500 funktioniert, aber nicht für gekapseltes ESP, baut die Verbindung auf und trägt dann keinen Verkehr, was ein verwirrender Fehler zum späteren Debuggen ist.
Identität ist nicht die äußere Adresse
IPsec trennt den Tunnelendpunkt von dem Verkehr, den er schützt, und die Architektur hält diese Entscheidungen an verschiedenen Stellen. Die Adresse zu ändern, die Peers kontaktieren, ändert nicht automatisch, welche inneren Präfixe erlaubt sind, welche Routen installiert werden oder welche Ressourcen die Sitzung erreichen darf.
Die authentifizierte Identität ist wiederum getrennt. IKEv2 trägt eine Identitätsnutzlast und einen Authentifizierungsaustausch, die nicht zur äußeren Paketadresse passen müssen, und genau deshalb kann ein übersetztes Design sich weiterhin korrekt authentifizieren.
Diese Unabhängigkeit ist nützlich und zugleich eine Falle. Zwei DNS-Namen, die auf einen gewöhnlichen Listener auflösen, wählen keine verschiedenen VPN-Backends, und ein Zertifikat, das eine Identität nennt, wird einen Peer nicht zufriedenstellen, der eine andere erwartet. Bestätigen Sie, was der Peer validiert, bevor Sie annehmen, dass allein die Adresse es entscheidet.
Nehmen Sie das Design an, indem Sie eine Verbindung beobachten
Prüfen Sie, wo eine neue autorisierte Verbindung tatsächlich zugestellt wird, welche Identität antwortet und welcher private Fluss dann erlaubt ist. Drei Beobachtungen, drei verschiedene Schichten, und ein erfolgreicher öffentlicher Abruf der Adresse prüft keine davon.
Behalten Sie auch den Negativfall bei: einen Peer, der nicht akzeptiert werden sollte, oder ein inneres Präfix, das nicht erreichbar sein sollte, nach der Änderung verifiziert. Der Eintrag, den Sie am Anfang geschrieben haben, macht diesen Test möglich, ohne das Design aus dem Gedächtnis zu rekonstruieren.
Der Sinn all dessen ist, dem Netzwerkeigentümer die Wahl einer unterstützten Zuteilungsmethode zu lassen, statt sich auf eine allgemeine Behauptung zu verlassen, was jede Firewall mit einer zusätzlichen Adresse tun kann. Genau diese Behauptung ist der Punkt, an dem diese Designs schiefgehen, weil sie auf jeder Plattform plausibel klingt und im Allgemeinen auf keiner zutrifft. Der Eintrag aus vier Zeilen klärt es für Ihre Plattform in zehn Minuten.