Les llistes de ports dels serveis VPN es copien entre pàgines de comparació sense el detall que decideix si importen: qui inicia la connexió. Una regla que permet TCP 443 de sortida no diu res sobre si un altre amfitrió pot arribar a un receptor a la vostra màquina. Escriviu tres requisits separats abans de comparar un sol pla, i marqueu quins necessita realment la vostra tasca. La majoria de comparacions es redueixen a una pregunta curta quan existeix aquest full.

Separeu el requisit abans de llegir qualsevol llista de ports

Tres línies cobreixen gairebé tots els casos: arribar a una destinació més enllà del túnel, publicar alguna cosa perquè altres hi puguin connectar i transportar el túnel mateix. Cada línia falla per un motiu diferent, i una política de proveïdor que en satisfà una pot deixar les altres dues intactes. Ordenar la tasca a la línia correcta costa cinc minuts i estalvia una discussió després.

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?

Les declaracions de màrqueting difuminen les tres línies a propòsit. Un permís P2P descriu una política de destinació, una adreça dedicada descriu una adreça, i l’afirmació que no hi ha restriccions de ports normalment vol dir que el pla no les enumera. Cap d’aquestes frases respon a les altres.

Trieu un flux concret i escriviu-lo com una frase: iniciador, transport, port, família d’adreces, direcció. Un client de còpia nocturna que puja a un amfitrió remot només és de sortida. Un servidor de jocs al vostre escriptori al qual s’uneixen els amics és d’entrada. Fer passar tots dos per un túnel vol dir que el full necessita les dues línies, no un compromís entre elles.

L’accés de sortida falla per la política de destinació, no pel túnel

El trànsit de sortida a través d’una passarel·la que tradueix crea estat. El primer paquet d’una adreça i un port interns crea una entrada de traducció, i les respostes hi coincideixen, que és el comportament de mapatge descrit a RFC 3022. Aquest mecanisme és per què una pestanya del navegador sol funcionar sense cap petició de port.

Encara hi ha dues coses que ho trenquen. El node de sortida pot filtrar destinacions o números de port que considera abusius, i l’aplicació pot estar escoltant en un port que la política de sortida no esperava. Pregunteu pel parell de destinació en lloc de per les regles d’entrada, i espereu respostes diferents per a TCP i UDP.

Mesureu abans de discutir. Executeu això a la màquina que estarà darrere del túnel, un cop amb el túnel desactivat i un cop activat:

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

Les mateixes ordres, la mateixa destinació, dos estats del túnel, donen a l’operador una comparació abans i després sobre la qual pot actuar. Substituïu l’adreça de documentació per l’amfitrió que realment necessiteu; el que importa és que la comparació es repeteixi, no que cap número sembli impressionant.

La publicació d’entrada necessita un mapatge, una adreça i una durada

Res de fora no pot iniciar una connexió al vostre receptor tret que alguna cosa al costat públic sàpiga on lliurar-la. Una reserva de port estàtica que manté l’operador, un mapatge sol·licitat pel client mitjançant UPnP, NAT-PMP o PCP, i una adreça pública encaminada són tres productes diferents amb tres límits diferents.

Feu cinc preguntes de qualsevol d’ells: quin protocol, quin port extern, si el port extern pot diferir del local, quina família d’adreces cobreix i quant dura el mapatge després d’una reconnexió. Una reserva lligada a una sessió activa desapareix quan aquesta sessió acaba, digui el que digui la pàgina del pla.

Confirmeu primer la meitat local, perquè un receptor mort i un camí d’entrada bloquejat es veuen iguals des de fora:

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

Quan la petició local retorna 200 i una petició des d’una xarxa que no controleu encara expira, la bretxa és al costat públic. Aquest és el moment de dir a l’operador el protocol i el port extern en lloc de descriure l’aplicació pel nom.

El transport propi del túnel és una pregunta a part

Els ports del portador són la part més petita del problema i la més fàcil de consultar. Els valors per defecte varien segons el protocol, i el que el client pot negociar importa més que qualsevol descripció del pla.

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

Una xarxa que descarta UDP de sortida acceptarà un túnel TCP 443 i refusarà un d’UDP, així que un mode alternatiu pertany al full de requisits. Canviar el portador no mou un port d’aplicació dins del túnel ni amplia una política de destinació; aquests es queden a les seves línies.

La fragmentació mereix una sonda mentre hi sou, perquè un túnel que es connecta i després s’encalla en transferències grans sol tenir un MTU equivocat més que un port tancat:

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

A Windows la mateixa sonda és ping -f -l 1400 203.0.113.10. Fixeu l’MTU del túnel per sota de la mida més gran que passa, i després torneu a provar la transferència que va fallar.

Verifiqueu les tres línies abans de pagar un pla

Poseu les tres línies en una pàgina i ompliu cada cel·la amb un resultat mesurat en lloc d’una promesa. Aquestes ordres produeixen la meitat local d’aquesta pàgina en un minut aproximadament:

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

Llegiu la sortida com una llista de comprovació. La sortida funciona quan la destinació respon amb el túnel actiu. L’entrada només funciona quan un amfitrió fora de la vostra xarxa arriba al receptor al port extern. El portador funciona quan l’establiment de connexió es completa en un protocol que la vostra xarxa d’accés permet.

Dos hàbits mantenen el full honest. Anoteu la data i la versió del client al costat de cada resultat, perquè tant les polítiques del proveïdor com els valors per defecte del client es mouen. Després demaneu el mapatge més estret que serveixi el flux, perquè una petició d’obrir-ho tot sol rebre un refús o una oferta de venda addicional en lloc d’una resposta tècnica.

Articles relacionats