Ein physischer Adapter genügt für viele VPN-Server, und er ist auch kein universelles Design. Die verschlüsselte Verbindung kommt an diesem Adapter an, der VPN-Prozess entschlüsselt sie, und der innere Verkehr verlässt den Host über eine virtuelle Schnittstelle, bevor er einen lokalen Dienst oder ein geroutetes LAN erreicht. Ob das funktioniert, hängt von drei Bedingungen ab: wo das Ziel liegt, ob das LAN einen Rückweg zum Client-Pool hat und ob eine gemeinsam genutzte physische Strecke die Isolation liefert, die Sie behaupten. Beantworten Sie diese drei, und die Anzahl der Adapter folgt.

Die drei Bedingungen, die es entscheiden

Die erste Bedingung ist das Ziel. Ein Dienst auf dem VPN-Host selbst ist nur über die Tunnelschnittstelle erreichbar, während ein Host im LAN Weiterleitung und einen Rückweg benötigt. Die zweite Bedingung ist dieser Rückweg, weil das LAN-Gerät wissen muss, wie es den Client-Pool erreicht, sei es über eine Route oder über Übersetzung am Server.

Die dritte Bedingung ist die Trennung. Ein Adapter bedeutet, dass jedes Paket, verschlüsselt oder nicht, eine Strecke und meist eine Policy-Kette teilt, sodass eine Isolationsbehauptung, die auf getrennter Hardware beruht, von einer einzigen Schnittstelle nicht erfüllt wird. Das ist eine Tatsache über den Pfad, nicht darüber, wie das Betriebssystem konfiguriert ist. Sie können den Tunnelverkehr weiterhin filtern, aber keine Grenze behaupten, die Sie nicht haben.

Keine der drei dreht sich um die Anzahl der Ports am Gehäuse. Sie drehen sich um Routing, Adresseigentum und darum, wie stark das Design von physischer Trennung abhängt.

Zwei Adapter bleiben eine legitime Wahl, wenn physische Zonen, getrennte Uplinks, Durchsatz oder ein Out-of-Band-Wiederherstellungspfad sie rechtfertigen. Das sind konkrete Anforderungen, und sie sollten genannt werden, bevor jemand Hardware bestellt.

Wenn der Dienst auf dem VPN-Host läuft

Der einfachste Fall braucht überhaupt keine Weiterleitung. Der Daemon empfängt die Pakete des Clients an der Tunnelschnittstelle und übergibt sie an einen lokalen Socket, und die Antwort folgt derselben Schnittstelle zurück. Die Adresse aus dem Client-Pool ist aus Sicht des Hosts eine echte lokale Adresse.

Zwei Dinge müssen trotzdem stimmen: Der Dienst muss auf einer Adresse lauschen, die der Tunnel erreichen kann, und die Firewall des Hosts muss Verkehr annehmen, der an der Tunnelschnittstelle ankommt. Beides ist in den Befehlen unten sichtbar.

ss -lntup | grep -E "5432|8080"
ip -brief addr show
ip route get 10.8.0.6 from 10.8.0.1

Einen Dienst nur an die öffentliche Adresse zu binden oder die Tunnelschnittstelle versehentlich zu filtern, erzeugt eine Verbindung, die den Host erreicht und dann stirbt. Das sieht wie ein VPN-Fehler aus und ist meist eine Socket- oder Firewallentscheidung.

Wenn das Ziel im LAN liegt

Hier verdient sich ein Einzeladapter-Design seinen Ruf, fummelig zu sein. Der Server muss die Pakete des Clients Richtung LAN weiterleiten, und das LAN-Gerät muss Antworten zurück in den Client-Pool schicken. Entweder tragen Sie diesen Pool als Route im LAN, oder Sie übersetzen die Quelladresse am Server, damit Antworten zum Server selbst zurückkommen.

Beide Antworten sind legitim, und sie scheitern unterschiedlich. Eine Rückroute hält die ursprüngliche Clientadresse für das Ziel sichtbar, was für Protokolle gut und für Firewallregeln schlecht ist, die LAN-Adressen voraussetzen. Übersetzung hält das LAN einfach und verbirgt die Identität des Clients vor dem Ziel.

sysctl net.ipv4.ip_forward
nft list ruleset | grep -A4 'chain forward'
ip route show table main | grep 10.8.0

Ein asymmetrischer Pfad ist das klassische Symptom: Die Anfrage des Clients kommt an, die Antwort verlässt über einen anderen Router, und die Verbindung läuft an beiden Enden ohne Fehler ab. Erfassen Sie auf beiden Seiten, bevor Sie irgendetwas über den Tunnel schließen.

Warum ein Alias keine zweite Zone erzeugt

Eine zweite Adresse auf denselben Adapter zu legen oder eine Dummy-Schnittstelle anzulegen, die einen zweiten Port nachahmt, ändert sehr wenig. Die Pakete verlassen weiterhin dieselbe physische Strecke, denselben Switch-Port und meist dieselbe Firewallkette, es entsteht also keine neue Grenze zwischen ihnen. Das ist Konfigurationskomfort, keine Segmentierung. Es als Zonengrenze zu behandeln, ist der Weg, wie eine Isolationsbehauptung nur auf dem Papier überlebt.

Eine getrennte Zone braucht eine echte Trennung im Pfad, und das ist die Anforderung, die ein zweiter Adapter erfüllt. Wenn eine Regel davon abhängt, dass VPN-seitiger Verkehr nie eine Broadcast-Domäne mit LAN-seitigem Verkehr teilt, kann ein Kabel diese Eigenschaft nicht liefern, egal wie der Host adressiert ist.

Wo ein Produkt eine Multi-Interface-Topologie für einen bestimmten Modus dokumentiert, folgen Sie der Dokumentation dieses Produkts, statt einen Workaround zu erfinden. Hersteller ändern ihre unterstützten Topologien auch zwischen Releases, ein weiterer Grund, den aktuellen Leitfaden zu lesen statt einen alten Assistenten-Screenshot.

Prüfen Sie das Layout gegen den Verkehr, den Sie zulassen

Listen Sie die Verkehrsklassen auf, die der Server tragen soll: Client zum Host, Client zum LAN, Host zum LAN und die verschlüsselte äußere Verbindung. Jede Klasse hat eine Quelle, ein Ziel und eine Schnittstelle, und das Layout muss alle vier gleichzeitig erfüllen. Ein Design, das drei davon abdeckt, erzeugt meist die Tickets.

Bestätigen Sie dann die tatsächlichen Schnittstellen und die tatsächliche Aufzeichnung, nicht das Diagramm im Designdokument. Die Befehle unten geben beide Ansichten aus.

ip -brief addr
ip route
tcpdump -ni any udp port 51820 -c 5
tcpdump -ni tun0 -c 5

Wenn die äußere Aufzeichnung den verschlüsselten Verkehr zeigt und die innere Aufzeichnung den entschlüsselten Verkehr an der Tunnelschnittstelle, während der physische Adapter beides trägt, erledigt eine NIC die Aufgabe. Wenn die innere Aufzeichnung leer ist, liegt das Problem im Tunnel oder in den Weiterleitungsregeln, nicht in der Anzahl der Adapter. Entscheiden Sie die Topologie anhand dieser beiden Aufzeichnungen und der Routingtabelle, dann hat die nächste Änderung etwas, woran sie gemessen werden kann.

Ähnliche Artikel