Portlister for VPN-tenester blir kopierte mellom samanlikningssider utan detaljen som avgjer om dei har noko å seie: kven som startar sambandet. Ei regel som tillèt utgåande TCP 443 seier ingenting om ein annan vert kan nå ein lyttar på maskina di. Skriv tre skilde krav før du samanliknar éin einaste plan, og merk kva oppgåva di faktisk treng. Dei fleste samanlikningar minkar til eitt kort spørsmål når det arket finst.

Del opp kravet før du les noka portliste

Tre liner dekkjer nesten kvart tilfelle: å nå ein destinasjon utanfor tunnelen, å publisere noko slik at andre kan kopla inn, og å bera sjølve tunnelen. Kvar line sviktar av ein annan grunn, og ein leverandørpolitikk som oppfyller éi, kan la dei to andre vere urørte. Å sortere oppgåva i rett line tek fem minutt og sparar ein diskusjon seinare.

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?

Marknadsføringspåstandar gjer dei tre linene uklare med vilje. Ei P2P-løyve skildrar ein destinasjonspolitikk, ei dedikert adresse skildrar ei adresse, og påstanden om ingen portavgrensingar tyder vanlegvis at planen ikkje listar dei opp. Ingen av desse formuleringane svarar på dei andre.

Vel éin konkret flyt og skriv han som ei setning: initiator, transport, port, adressefamilie, retning. Ein nattleg tryggingskopiklient som lastar opp til ein ekstern vert, er berre utgåande. Ein speltenar på skrivebordet ditt som venner koplar til, er inngåande. Å køyre begge gjennom éin tunnel tyder at arket treng begge linene, ikkje eit kompromiss mellom dei.

Utgåande tilgang sviktar på destinasjonspolitikken, ikkje på tunnelen

Utgåande trafikk gjennom ein omsetjande gateway skapar tilstand. Den første pakken frå ei intern adresse og ein port byggjer ei omsetjingsoppføring, og svar samsvarar med henne, som er framferda skildra i RFC 3022. Den mekanismen er grunnen til at ei nettlesarfane vanlegvis fungerer heilt utan noka portførespurnad.

To ting bryt det framleis. Utgangsknuten kan filtrere destinasjonar eller portnummer han reknar som misbrukbare, og programmet kan lytte på ein port som utgangspolitikken aldri venta. Spør om destinasjonsparet i staden for om inngåande reglar, og vent ulike svar for TCP og UDP.

Mål før du diskuterer. Køyr desse på maskina som skal stå bak tunnelen, éin gong med tunnelen nede og éin gong med han oppe:

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

Dei same kommandoane, same destinasjon, to tunneltilstandar gjev ein operatør ei før-og-etter-samanlikning dei kan handle på. Bytt ut dokumentasjonsadressa med verten du faktisk treng; det viktige er at samanlikninga blir gjenteken, ikkje at noko tal ser imponerande ut.

Inngåande publisering treng ei kartlegging, ei adresse og ei levetid

Ingenting utanfrå kan starte ein samband til lyttaren din med mindre noko på den offentlege sida veit kvar det skal leverast. Ei statisk portreservering som operatøren held, ei kartlegging klienten ber om via UPnP, NAT-PMP eller PCP, og ei ruta offentleg adresse er tre ulike produkt med tre ulike grenser.

Still fem spørsmål til kven som helst av dei: kva protokoll, kva ekstern port, om den eksterne porten kan avvike frå den lokale, kva adressefamilie han dekkjer, og kor lenge kartlegginga overlever ei ny tilkopling. Ei reservering knytt til ein aktiv sesjon forsvinn når den sesjonen sluttar, kva plansida enn seier.

Stadfest den lokale halvdelen først, fordi ein død lyttar og ein blokkert inngåande veg ser like ut utanfrå:

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

Når den lokale førespurnaden returnerer 200 og ein førespurnad frå eit nettverk du ikkje kontrollerer framleis går ut på tid, sit gapet på den offentlege sida. Det er augneblinken for å oppgje protokoll og ekstern port til operatøren i staden for å skildre appen ved namn.

Transporten til sjølve tunnelen er eit eige spørsmål

Berarportane er den minste delen av problemet og den lettaste å slå opp. Standardverdiane varierer etter protokoll, og kva klienten kan forhandle om tel meir enn noka planbeskriving.

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

Eit nettverk som droppar utgåande UDP, godtek ein TCP 443-tunnel og avviser ein UDP-tunnel, så ein reserve-modus høyrer heime på kravarket. Å byte berar flyttar ikkje ein programport inne i tunnelen og utvidar ikkje ein destinasjonspolitikk; dei blir på sine eigne liner.

Fragmentering fortener éin test medan du er der, fordi ein tunnel som koplar til og deretter stoppar på store overføringar vanlegvis har feil MTU snarare enn ein lukka port:

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

På Windows er den same testen ping -f -l 1400 203.0.113.10. Set MTU-en til tunnelen under den største storleiken som passerer, og test deretter overføringa som feila på nytt.

Stadfest dei tre linene før du betaler for ein plan

Set dei tre linene på éi side og fyll kvar celle med eit målt resultat i staden for eit løfte. Desse kommandoane gjev den lokale halvdelen av den sida på om lag eitt minutt:

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

Les utdata som ei sjekkliste. Utgåande verkar når destinasjonen svarar med tunnelen oppe. Inngåande verkar berre når ein vert utanfor nettverket ditt når lyttaren på den eksterne porten. Beraren verkar når handtrykket blir fullført på ein protokoll som tilgangsnettverket ditt tillèt.

To vanar held arket ærleg. Noter datoen og klientversjonen ved sida av kvart resultat, fordi både leverandørpolitikkar og klientstandardar flyttar seg. Be deretter om den smalaste kartlegginga som tener flyten, fordi ein førespurnad om å opne alt vanlegvis gjev ei avvising eller eit mersal i staden for eit teknisk svar.

Relaterte artiklar