Requisits de ports per a VPN: tres línies per escriure abans de comparar
Esbrineu quina pregunta de ports teniu realment: destinació de sortida, publicació d’entrada o el transport propi del túnel. Després pregunteu al proveïdor només això.
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.
| 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? |
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.
| 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 |
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.