Poortenlijsten voor VPN-diensten worden tussen vergelijkingspagina’s gekopieerd zonder het detail dat bepaalt of ze ertoe doen: wie de verbinding start. Een regel die uitgaand TCP 443 toestaat, zegt niets over de vraag of een andere host een luisteraar op uw machine kan bereiken. Schrijf drie afzonderlijke eisen op voordat u één abonnement vergelijkt, en markeer welke uw taak echt nodig heeft. De meeste vergelijkingen vallen uiteen in één korte vraag zodra dat blad bestaat.

Splits de eis voordat u welke poortenlijst dan ook leest

Drie regels dekken bijna elk geval: een bestemming voorbij de tunnel bereiken, iets publiceren zodat anderen naar binnen kunnen verbinden, en de tunnel zelf dragen. Elke regel faalt om een andere reden, en een providerbeleid dat er één vervult, kan de andere twee ongemoeid laten. Uw taak in de juiste regel onderbrengen kost vijf minuten en bespaart later een discussie.

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?

Marketinguitspraken vertroebelen de drie regels met opzet. Een P2P-toestemming beschrijft een bestemmingsbeleid, een toegewezen adres beschrijft een adres, en de bewering dat er geen poortbeperkingen zijn betekent meestal dat het abonnement ze niet opsomt. Geen van die formuleringen beantwoordt de andere.

Kies één concrete stroom en schrijf die als een zin: initiator, transport, poort, adresfamilie, richting. Een nachtelijke back-upclient die naar een externe host uploadt, is alleen uitgaand. Een spelserver op uw bureau waar vrienden bij aansluiten, is inkomend. Beide door één tunnel laten lopen betekent dat het blad beide regels nodig heeft, niet een compromis ertussen.

Uitgaande toegang faalt op bestemmingsbeleid, niet op de tunnel

Uitgaand verkeer via een vertalende gateway creëert toestand. Het eerste pakket van een intern adres en een poort bouwt een vertaalregel op, en antwoorden passen daarbij, wat het mappinggedrag is dat in RFC 3022 wordt beschreven. Dat mechanisme is de reden dat een browsertabblad meestal zonder enig poortverzoek werkt.

Twee dingen breken het nog steeds. Het uitgangsknooppunt kan bestemmingen of poortnummers filteren die het als misbruikbaar ziet, en de toepassing kan luisteren op een poort die het uitgangsbeleid nooit verwachtte. Vraag naar het bestemmingspaar in plaats van naar inkomende regels, en verwacht verschillende antwoorden voor TCP en UDP.

Meet voordat u discussieert. Voer deze uit op de machine die achter de tunnel komt te staan, één keer met de tunnel uit en één keer met de tunnel aan:

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

Dezelfde opdrachten, dezelfde bestemming, twee tunneltoestanden geven een operator een voor-en-na-vergelijking waarop hij kan handelen. Vervang het documentatieadres door de host die u echt nodig hebt; belangrijk is dat de vergelijking wordt herhaald, niet dat een getal indrukwekkend lijkt.

Inkomend publiceren vereist een mapping, een adres en een levensduur

Niets van buiten kan een verbinding naar uw luisteraar starten tenzij iets aan de openbare kant weet waar het die moet afleveren. Een statische poortreservering die de operator aanhoudt, een door de client aangevraagde mapping via UPnP, NAT-PMP of PCP, en een gerouteerd openbaar adres zijn drie verschillende producten met drie verschillende grenzen.

Stel vijf vragen aan elk daarvan: welk protocol, welke externe poort, of de externe poort van de lokale mag afwijken, welke adresfamilie het dekt, en hoe lang de mapping een herverbinding overleeft. Een reservering die aan een actieve sessie is gebonden, verdwijnt wanneer die sessie eindigt, wat de abonnementspagina ook zegt.

Bevestig eerst de lokale helft, want een dode luisteraar en een geblokkeerd inkomend pad zien er van buiten hetzelfde uit:

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

Wanneer het lokale verzoek 200 teruggeeft en een verzoek uit een netwerk dat u niet beheert nog steeds afloopt, zit de kloof aan de openbare kant. Dat is het moment om protocol en externe poort aan de operator te noemen in plaats van de app bij naam te beschrijven.

Het eigen transport van de tunnel is een aparte vraag

Dragerpoorten zijn het kleinste deel van het probleem en het makkelijkst op te zoeken. Standaardwaarden verschillen per protocol, en wat de client kan onderhandelen telt zwaarder dan welke abonnementsbeschrijving dan ook.

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

Een netwerk dat uitgaand UDP weggooit, accepteert een TCP 443-tunnel en weigert een UDP-tunnel, dus een terugvalmodus hoort op het eisenblad. De drager wisselen verplaatst geen applicatiepoort binnen de tunnel en verbreedt geen bestemmingsbeleid; die blijven op hun eigen regels.

Fragmentatie verdient één test terwijl u er bent, want een tunnel die verbindt en daarna vastloopt op grote overdrachten heeft meestal de verkeerde MTU in plaats van een gesloten poort:

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

Op Windows is dezelfde test ping -f -l 1400 203.0.113.10. Zet de MTU van de tunnel onder de grootste maat die doorkomt, en test daarna de mislukte overdracht opnieuw.

Controleer de drie regels voordat u voor een abonnement betaalt

Zet de drie regels op één pagina en vul elke cel met een gemeten resultaat in plaats van een belofte. Deze opdrachten leveren de lokale helft van die pagina in ongeveer een minuut:

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

Lees de uitvoer als een controlelijst. Uitgaand werkt wanneer de bestemming antwoordt met de tunnel aan. Inkomend werkt alleen wanneer een host buiten uw netwerk de luisteraar op de externe poort bereikt. De drager werkt wanneer de handdruk slaagt op een protocol dat uw toegangsnetwerk toestaat.

Twee gewoonten houden het blad eerlijk. Noteer de datum en de clientversie naast elk resultaat, want zowel providerbeleid als standaardwaarden van clients bewegen. Vraag daarna om de smalste mapping die de stroom dient, want een verzoek om alles open te zetten levert meestal een weigering of een extra verkoop op in plaats van een technisch antwoord.

Gerelateerde artikelen