Port-Triggering gegenüber Port-Weiterleitung für einen VPN-Server zu Hause
Triggering öffnet eine Zuordnung erst nach ausgehendem Verkehr; Weiterleitung bildet den Port dauerhaft ab. Ein VPN-Server zu Hause braucht Letzteres, begrenzt auf den tatsächlichen Listener.
Port-Weiterleitung und Port-Triggering stehen auf den meisten Heimroutern im selben Menü, weshalb sie als zwei Wege für dieselbe Aufgabe gelten. Weiterleitung ist eine statische Regel: Eine eingehende Verbindung auf einen WAN-Port wird auf eine feste interne Adresse und einen festen Port übersetzt, egal ob sonst etwas passiert. Triggering ist bedingt: Der Router beobachtet ausgehenden Verkehr und öffnet eine eingehende Zuordnung erst, nachdem eine passende Verbindung hinausgeht. Ein VPN-Server wartet darauf, dass sich jemand anderes zuerst verbindet, also ist genau diese Bedingung das Einzige, was er nie erfüllen kann.
Zwei Regeln mit unterschiedlichen Lebenszyklen
IPv4-NAT ist zustandsbehaftet. Wenn ein interner Host ein Paket nach außen sendet, legt der Router eine Zuordnung an, damit Antworten zurückfinden; ein eingehendes Paket ohne passende Zuordnung wird verworfen, und dieses Verhalten hält einen Rechner ohne Updates vom Internet fern. Weiterleitung ist ein dauerhafter Übersetzungseintrag, der von Hand hinzugefügt wird. Triggering ist ein temporäres Loch, das ein Verkehrsmuster bewacht.
Der praktische Unterschied ist die Zeit. Eine Weiterleitung besteht von dem Moment an, in dem sie gespeichert wird, bis sie jemand löscht. Eine ausgelöste Zuordnung besteht nach dem Auslösen und schließt über einen Leerlauf-Timer, auf Verbraucherhardware in Minuten gemessen, oder sofort beim Neustart.
Keine von beiden ist abstrakt sicherer. Eine Weiterleitung legt einen Port dauerhaft offen; ein Trigger legt ihn erst nach bestimmtem ausgehenden Verkehr offen. Für einen Dienst, der das erste Paket von einem Fremden annehmen muss, passt nur eine der beiden Möglichkeiten zur Aufgabe.
Warum Triggering keinen Server veröffentlicht
Ein VPN-Server ist von Natur aus passiv. Die Gegenstelle, ob Laptop im Café oder Telefon im Mobilfunknetz, sendet das erste Paket, und der Router hat keine Zuordnung dafür. Nichts im Inneren hat Verkehr zum Trigger-Port begonnen, also löst die Regel nie aus und die Verbindung stirbt, bevor der Handshake beginnt.
Wo Triggering zu funktionieren scheint, erzeugt etwas anderes Verkehr auf dem Trigger-Port: ein Client im LAN, eine Überwachungssonde oder die eigenen ausgehenden Prüfungen des Servers. Dann öffnet sich die Zuordnung für diesen einen Host und schließt, wenn der Verkehr endet, sodass die nächste externe Gegenstelle wieder scheitert, während der erste Erfolg im Protokoll liegt und wie ein Beweis aussieht.
Triggering ist außerdem meist auf einen Host beschränkt. Viele Implementierungen lassen nur ein internes Gerät die Zuordnung zugleich halten, was für einen Server, der mehreren Gegenstellen antworten soll, genau falsch ist. Die Funktion wurde für Anwendungen gebaut, die ausgehend eine Steuerverbindung öffnen und eingehende Daten auf einem zweiten Port erwarten, und sie passt noch immer zu dieser Form.
Was eine Weiterleitung tatsächlich abbildet
Eine Weiterleitung ist ein Übersetzungseintrag: WAN-Port und Protokoll auf interne Adresse und Port. Sie braucht einen Listener, der am anderen Ende bereits läuft, und sie braucht eine interne Adresse, die bleibt, wo sie ist. Ein DHCP-Lease, der auf eine andere Maschine wandert, schickt jeden Tunnel stillschweigend an den falschen Host, also legen Sie die Reservierung vor der Regel an.
| Rule | Opens when | Closes when | Fits a VPN listener |
|---|---|---|---|
| Port forward | Saved, at boot | You delete it | Yes |
| Port trigger | Matching outbound traffic | Idle timeout or reboot | No |
Das Protokoll ist wichtiger, als das Formular vermuten lässt. OpenVPN über UDP braucht eine UDP-Weiterleitung, WireGuard braucht UDP, und IPsec-Daten kommen als ESP, IP-Protokoll 50, das überhaupt keine Ports hat. Ein Weiterleitungsformular, das nur TCP oder UDP akzeptiert, kann das nicht ausdrücken, also braucht IPsec Passthrough oder eine statische Eins-zu-eins-Zuordnung statt einer Portregel.
Die Ebene über Ihrem Router
Eine Weiterleitung steuert nur die Übersetzung, die Ihnen gehört. Ist die WAN-Adresse nicht Ihre, was hinter Carrier-Grade-NAT der Fall ist, wo Teilnehmer 100.64.0.0/10 teilen, wie in RFC 6598 beschrieben, erreicht die eingehende Verbindung Ihren Router nie, weil der Anbieter zuerst übersetzt hat. Keine Regel auf Ihrem Gerät kann diese Reihenfolge reparieren.
Doppeltes NAT ist dasselbe Problem im Kleinen. Ihr Router leitet an den ISP-Router weiter, der keine passende Regel hat und das Paket verwirft. Fügen Sie die Regel entweder auf dem äußeren Gerät hinzu, oder setzen Sie das äußere Gerät in den Bridge-Modus und lassen Sie Ihres die öffentliche Adresse halten.
Deshalb muss der Test von außen kommen. Ein Test aus demselben LAN über die öffentliche Adresse hängt von Hairpin-NAT-Unterstützung ab und kann aus Gründen bestehen oder scheitern, die mit der Regel nichts zu tun haben; ein Telefon im Mobilfunknetz oder ein Freund in einem anderen Netz ist die sauberere Prüfung.
Begrenzen Sie die Regel, dann prüfen Sie beide Hälften
Leiten Sie einen Port auf eine Adresse weiter. Ein Bereich, der hinzugefügt wurde, weil die ersten Versuche scheiterten, ist der Weg, auf dem Verwaltungsoberflächen im Internet landen, und der VPN-Listener braucht die Admin-Seite des Routers nicht daneben veröffentlicht.
Behalten Sie alles, was diesen Listener schon geschützt hat: Zertifikats- oder Schlüsselidentität, Host-Firewall, aktuelle Paketversionen. Eine Weiterleitung lässt ein Paket herein; die Authentifizierung entscheidet, ob das Paket zu einem Tunnel wird, und das sind zwei getrennte Fehler, wenn etwas schiefgeht.
Die Prüfung hat zwei Hälften. Der Handshake muss aus einem externen Netz vollständig durchlaufen, und dann muss eine private Ressource hinter dem Server durch den Tunnel antworten. Weiterleitung lässt die Tunnelverbindung herein und nichts weiter; Routing und Autorisierung für 10.8.0.0/24 sind eine andere Einstellung auf einem anderen Bildschirm.
Entscheiden Sie mit drei Fragen
Drei Fragen klären die Wahl schneller als jede Vergleichstabelle:
- Verbindet sich etwas von außen als erstes Paket? Dann nutzen Sie Weiterleitung oder ein Relay. Triggering kann sich ohne ausgehenden Verkehr, der nie entstehen wird, nicht öffnen.
- Muss das Loch die Leerlaufzeit überleben? Dann nutzen Sie Weiterleitung, weil eine ausgelöste Zuordnung nach eigenem Zeitplan schließt.
- Ist die WAN-Adresse Ihre, um sie zu veröffentlichen? Wenn nicht, reparieren Sie die Ebene darüber, bevor Sie eine Regel bearbeiten.
Ist die Antwort auf alle drei Fragen nein, was für einen Laptop gilt, der selbst bei einem kommerziellen Anbieter anruft, ist keine der beiden Regeln nötig. Ein Client hinter NAT funktioniert, weil er die zustandsbehaftete Zuordnung selbst anlegt, und das deckt die meisten Menschen ab, die um Mitternacht eine Seite über Port-Weiterleitung lesen.