VPN-poorteisen: drie regels om te schrijven voor het vergelijken
Bepaal welke poortvraag u werkelijk hebt: uitgaande bestemming, inkomend publiceren of het eigen transport van de tunnel. Vraag de provider daarna alleen daarover.
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.
| Line | Who starts it | What can block it | Question for the provider |
|---|---|---|---|
| Outbound destination | Your application | Egress filter on the exit node | Is this protocol and port allowed to that destination? |
| Inbound publishing | A remote peer | No mapping, no public address, short lifetime | Which protocol, which external port, and how long does the mapping last? |
| Tunnel transport | Your client to the gateway | The access network drops that protocol | Does 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.
| Client | Outer transport | Default port | When it helps |
|---|---|---|---|
| OpenVPN | UDP | 1194 | Default mode; needs outbound UDP to pass |
| OpenVPN | TCP | 443 | UDP is dropped and TCP 443 is not |
| WireGuard | UDP | 51820 | Short handshake; there is no TCP mode |
| IKEv2/IPsec | UDP | 500 and 4500 | Mobile 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.