Portlisten für VPN-Dienste werden zwischen Vergleichsseiten kopiert, ohne das Detail, das entscheidet, ob sie relevant sind: wer die Verbindung aufbaut. Eine Regel, die ausgehendes TCP 443 erlaubt, sagt nichts darüber, ob ein anderer Host einen Listener auf Ihrem Rechner erreicht. Schreiben Sie drei getrennte Anforderungen, bevor Sie einen einzigen Tarif vergleichen, und markieren Sie, welche Ihre Aufgabe wirklich braucht. Die meisten Vergleiche schrumpfen auf eine kurze Frage, sobald dieses Blatt existiert.

Trennen Sie die Anforderung, bevor Sie eine Portliste lesen

Drei Zeilen decken fast jeden Fall ab: ein Ziel jenseits des Tunnels erreichen, etwas veröffentlichen, damit andere hineinverbinden können, und den Tunnel selbst tragen. Jede Zeile scheitert aus einem anderen Grund, und eine Anbieterrichtlinie, die eine erfüllt, kann die anderen beiden unberührt lassen. Die eigene Aufgabe der richtigen Zeile zuzuordnen dauert fünf Minuten und erspart später eine Diskussion.

LineWho starts itWhat can block itQuestion for the provider
Outbound destinationYour applicationEgress filter on the exit nodeIs this protocol and port allowed to that destination?
Inbound publishingA remote peerNo mapping, no public address, short lifetimeWhich protocol, which external port, and how long does the mapping last?
Tunnel transportYour client to the gatewayThe access network drops that protocolDoes the client offer a fallback the local network permits?

Marketingaussagen verwischen die drei Zeilen absichtlich. Eine P2P-Freigabe beschreibt eine Zielrichtlinie, eine dedizierte Adresse beschreibt eine Adresse, und die Behauptung, es gebe keine Portbeschränkungen, bedeutet meist, dass der Tarif sie nicht auflistet. Keine dieser Wendungen beantwortet die anderen.

Wählen Sie einen konkreten Fluss und schreiben Sie ihn als Satz: Initiator, Transport, Port, Adressfamilie, Richtung. Ein nächtlicher Backup-Client, der zu einem entfernten Host hochlädt, ist nur ausgehend. Ein Spielserver auf Ihrem Schreibtisch, dem Freunde beitreten, ist eingehend. Beide durch einen Tunnel laufen zu lassen heißt, dass das Blatt beide Zeilen braucht, keinen Kompromiss zwischen ihnen.

Ausgehender Zugriff scheitert an der Zielrichtlinie, nicht am Tunnel

Ausgehender Verkehr durch ein übersetzendes Gateway erzeugt Zustand. Das erste Paket von einer internen Adresse und einem Port baut einen Übersetzungseintrag auf, und Antworten passen dazu, was dem in RFC 3022 beschriebenen Mapping-Verhalten entspricht. Dieser Mechanismus ist der Grund, warum ein Browser-Tab meist ganz ohne Portanfrage funktioniert.

Zwei Dinge brechen das weiterhin. Der Exit-Knoten kann Ziele oder Portnummern filtern, die er für missbrauchsfähig hält, und die Anwendung kann auf einem Port lauschen, den die Exit-Richtlinie nie erwartet hat. Fragen Sie nach dem Zielpaar statt nach eingehenden Regeln und rechnen Sie mit unterschiedlichen Antworten für TCP und UDP.

Messen Sie, bevor Sie argumentieren. Führen Sie dies auf dem Rechner aus, der hinter dem Tunnel stehen wird, einmal mit abgeschaltetem und einmal mit eingeschaltetem Tunnel:

ss -lntup | sort
nc -vz -w 3 203.0.113.10 443
curl -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://example.com

Dieselben Befehle, dasselbe Ziel, zwei Tunnelzustände liefern einem Betreiber einen Vorher-Nachher-Vergleich, auf den er reagieren kann. Ersetzen Sie die Dokumentationsadresse durch den Host, den Sie tatsächlich brauchen; wichtig ist, dass sich der Vergleich wiederholt, nicht dass eine Zahl beeindruckend aussieht.

Eingehendes Veröffentlichen braucht ein Mapping, eine Adresse und eine Lebensdauer

Nichts von außen kann eine Verbindung zu Ihrem Listener aufbauen, es sei denn, etwas auf der öffentlichen Seite weiß, wohin es sie liefern soll. Eine statische Portreservierung des Betreibers, ein vom Client angefordertes Mapping über UPnP, NAT-PMP oder PCP und eine geroutete öffentliche Adresse sind drei verschiedene Produkte mit drei verschiedenen Grenzen.

Stellen Sie fünf Fragen zu jedem davon: welches Protokoll, welcher externe Port, ob der externe Port vom lokalen abweichen darf, welche Adressfamilie er abdeckt und wie lange das Mapping einen Neuverbindung übersteht. Eine an eine aktive Sitzung gebundene Reservierung verschwindet, wenn diese Sitzung endet, was auch immer die Tarifseite sagt.

Bestätigen Sie zuerst die lokale Hälfte, denn ein toter Listener und ein blockierter eingehender Weg sehen von außen gleich aus:

ss -lntup | grep -E ':(8080|51820)\b'
python3 -m http.server 8080 --bind 0.0.0.0
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080

Wenn die lokale Anfrage 200 zurückgibt und eine Anfrage aus einem Netz, das Sie nicht kontrollieren, weiterhin in die Zeitüberschreitung läuft, sitzt die Lücke auf der öffentlichen Seite. Das ist der Moment, dem Betreiber Protokoll und externen Port zu nennen, statt die App beim Namen zu beschreiben.

Der eigene Transport des Tunnels ist eine separate Frage

Trägerports sind der kleinste Teil des Problems und der am leichtesten nachzuschlagende. Die Standardwerte unterscheiden sich je nach Protokoll, und was der Client aushandeln kann, zählt mehr als jede Tarifbeschreibung.

ClientOuter transportDefault portWhen it helps
OpenVPNUDP1194Default mode; needs outbound UDP to pass
OpenVPNTCP443UDP is dropped and TCP 443 is not
WireGuardUDP51820Short handshake; there is no TCP mode
IKEv2/IPsecUDP500 and 4500Mobile clients; 4500 carries NAT traversal

Ein Netz, das ausgehendes UDP verwirft, akzeptiert einen TCP-443-Tunnel und lehnt einen UDP-Tunnel ab, deshalb gehört ein Ausweichmodus auf das Anforderungsblatt. Den Träger zu wechseln verschiebt keinen Anwendungsport innerhalb des Tunnels und erweitert keine Zielrichtlinie; die bleiben in ihren eigenen Zeilen.

Fragmentierung verdient eine Probe, solange Sie dort sind, denn ein Tunnel, der sich verbindet und dann bei großen Übertragungen stockt, hat meist die falsche MTU statt eines geschlossenen Ports:

ping -M do -s 1400 203.0.113.10
ping -M do -s 1372 203.0.113.10

Unter Windows ist dieselbe Probe ping -f -l 1400 203.0.113.10. Setzen Sie die MTU des Tunnels unter die größte Größe, die durchgeht, und testen Sie dann die fehlgeschlagene Übertragung erneut.

Prüfen Sie die drei Zeilen, bevor Sie für einen Tarif zahlen

Legen Sie die drei Zeilen auf eine Seite und füllen Sie jede Zelle mit einem gemessenen Ergebnis statt mit einem Versprechen. Diese Befehle erzeugen die lokale Hälfte dieser Seite in etwa einer Minute:

ss -lntup | sort
nc -vz -w 3 203.0.113.10 443
python3 -m http.server 8080 --bind 0.0.0.0
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080
ping -M do -s 1400 203.0.113.10

Lesen Sie die Ausgabe als Checkliste. Ausgehend funktioniert, wenn das Ziel bei aktivem Tunnel antwortet. Eingehend funktioniert nur, wenn ein Host außerhalb Ihres Netzes den Listener am externen Port erreicht. Der Träger funktioniert, wenn der Handshake über ein Protokoll abgeschlossen wird, das Ihr Zugangsnetz zulässt.

Zwei Gewohnheiten halten das Blatt ehrlich. Notieren Sie Datum und Clientversion neben jedem Ergebnis, denn Anbieterrichtlinien und Client-Standardwerte bewegen sich beide. Bitten Sie dann um das engste Mapping, das dem Fluss dient, denn eine Anfrage, alles zu öffnen, erntet meist eine Ablehnung oder einen Zusatzverkauf statt einer technischen Antwort.

Ähnliche Artikel