In einer zunehmend vernetzten Welt wird der Schutz der eigenen Daten und der Online-Privatsphäre immer wichtiger. Virtuelle private Netzwerke, kurz VPNs, zählen zu den wichtigsten Werkzeugen, um diese Sicherheit zu gewährleisten. Doch in komplexen Umgebungen, wo mehrere VPN-Verbindungen gleichzeitig oder hintereinander genutzt werden sollen, stoßen herkömmliche VPN-Konfigurationen häufig an ihre Grenzen. Hier bieten sich gekettete VPN-Routings an, die es ermöglichen, VPNs in Serie zu schalten und so eine noch höhere Sicherheit und Flexibilität zu erreichen. Dabei spielt die Kombination verschiedener Linux-Technologien eine entscheidende Rolle.
Dieser Beitrag widmet sich ausführlich der Implementierung von VPN-Ketten unter Einsatz von Linux Netzwerk-Namespaces (netns), virtuellen Ethernet-Paaren (veth) und iptables zur Paketfilterung und NAT-Verarbeitung. Das Verfahren eröffnet besonders für Multi-Tenant-Umgebungen und Datenschutz-Projekte neue Möglichkeiten und demonstriert, wie sich komplette isolierte Netzwerkinfrastrukturen aufbauen lassen. Das Konzept der Netzwerk-Namespaces ist für diese Art von Infrastruktur grundlegender Natur. Mit netns lassen sich völlig voneinander abgeschottete Netzwerkbereiche auf einem einzelnen Linux-System realisieren. Jeder Namespace besitzt seine eigenen Netzwerkgeräte, Routingtabelle, Firewallregeln und sogar eigene IP-Konfigurationen.
Das ist die Basis für die vollständige Trennung von Netzwerkverkehr und VPN-Verbindungen, die unabhängig voneinander agieren können, ohne sich gegenseitig zu beeinflussen. Auf diese Weise können verschiedene Anwendungen oder Nutzer auf demselben Host separate VPN-Sitzungen innerhalb jeweils eigener netns nutzen. Eine zentrale Rolle spielt die Verbindung zwischen Gastgeber- und Namespace-Umgebung. Hier kommen virtuelle Ethernet-Paare, kurz veth, zum Einsatz. Sie fungieren als virtuelle Leitungen, die zwei Netzwerkgeräte miteinander verbinden und Pakete zwischen ihnen austauschen können.
Das erlaubt den Namespace-Netzwerken relativ einfach den Zugang zum Hostnetzwerk und über die Hostmaschine zur Außenwelt. Die Koppelung von netns und veth ist damit das Rückgrat für den Datenfluss durch verschiedene VPN-Instanzen. Zusätzlich ist es erforderlich, das Routing und die Paketverarbeitung auf dem Host optimal zu konfigurieren. Dabei übernimmt iptables die Aufgabe der Firewallsteuerung und NAT (Network Address Translation). Ohne solche Regeln wäre eine Weiterleitung der Pakete aus den isolierten Namespaces ins Internet oder zu den VPN-Servern nicht realisierbar.
Politikbasiertes Routing (Policy Based Routing) kann zudem dafür sorgen, dass der Datenverkehr unterschiedlichster Namespaces spezifisch und zielgerichtet behandelt wird. Ein typischer Ablauf bei der Erstellung eines VPN-Chaining-Labs beginnt mit dem Anlegen eines neuen Netzwerk-Namespaces. Dieser wird zunächst ohne jegliche Verbindung ins Außennetz sein, um im Anschluss Schritt für Schritt konfiguriert und mit dem Host vernetzt zu werden. Das Erzeugen eines veth-Paares ist ein essenzieller Zwischenschritt, wobei ein Ende im Host und das andere ins Namespace verschoben wird. Die IP-Adresse wird auf beiden Seiten gesetzt und die jeweiligen Schnittstellen aktiviert.
Danach wird eine Standardroute im Namespace festgelegt, die auf das virtuelle Kabel im Host zeigt. Die VPN-Verbindung selbst, beispielsweise WireGuard oder OpenVPN, wird innerhalb des Netzwerk-Namespaces gestartet. Dadurch wird garantiert, dass nur die Prozesse innerhalb dieses isolierten Kontexts die VPN-Verbindung nutzen und der Verkehr anderer Namespaces unberührt bleibt. Dieser Schritt garantiert eine saubere Trennung und verhindert eventuelle DNS-Leaks, falls die Namensauflösung ebenfalls innerhalb des Namespaces gesteuert wird. Für die Paketweiterleitung und Internetanbindung werden anschließend iptables-Regeln auf dem Host und im Namespace definiert.
In der NAT-Tabelle sorgt POSTROUTING dafür, dass die Quell-IP-Adresse der Pakete so angepasst wird, dass diese von externen Netzwerkkomponenten korrekt zurückgeleitet werden können. Dabei spielt das Netzwerkinterface, über das der Datenverkehr aus dem Namespace läuft, eine Rolle. PREROUTING-Regeln ermöglichen Überleitungen von eingehendem Datenverkehr an die jeweilige Namespace-IP-Adresse und Port, was insbesondere für VPN-Server wichtig ist. Mit FILTER-Regeln werden Zugriffe auf den Namespace-Netzwerksegmenten gesteuert, was zur weiteren Absicherung beiträgt. Ein weiterer zentraler Aspekt für Mehrfach-VPN-Ketten besteht darin, dass mehrere Namespaces in Reihe geschaltet werden können, sodass der Ausgang des einen VPN als Eingang für den nächsten dient.
Dies wird durch zusätzliche veth-Paare zwischen den Namespaces realisiert, entsprechende IP-Konfigurationen und die Aufsetzung von NAT und Routing innerhalb der Namespaces gewährleisten eine durchgängige und kontrollierbare Verbindungskette. Mit einem solchen Aufbau entstehen gestapelte VPN-Tunnel, die eine einzigartige Kombination aus Routing-Sicherheit und Flexibilität erlauben. Die Möglichkeiten mit dieser Infrastruktur sind vielschichtig und besonders für Projekte interessant, die eine starke Trennung von Netzwerken benötigen. Multi-Tenant-Lösungen, bei denen verschiedene Nutzer jeweils eigene isolierte VPN-Umgebungen betreiben, profitieren ebenso davon wie Unternehmen, die den Datenschutz nach strengen Vorgaben der europäischen Datenschutzgrundverordnung (GDPR) einhalten müssen. Darüber hinaus ist die Automatisierung über Shell-Skripte möglich, sodass sich diese komplexe Konfiguration wartbar und reproduzierbar hält.