Requisitos de puertos para VPN: tres líneas que escribir antes de comparar
Averigüe qué pregunta de puertos tiene en realidad: destino de salida, publicación de entrada o el transporte propio del túnel. Después pregunte al proveedor solo eso.
Las listas de puertos de los servicios VPN se copian entre páginas de comparación sin el detalle que decide si importan: quién inicia la conexión. Una regla que permite TCP 443 de salida no dice nada sobre si otro host puede alcanzar un escucha en su máquina. Escriba tres requisitos separados antes de comparar un solo plan, y marque cuáles necesita realmente su tarea. La mayoría de las comparaciones se reducen a una sola pregunta corta cuando existe esa hoja.
Separe el requisito antes de leer cualquier lista de puertos
Tres líneas cubren casi todos los casos: alcanzar un destino más allá del túnel, publicar algo para que otros puedan conectar hacia dentro, y transportar el túnel mismo. Cada línea falla por un motivo distinto, y una política de proveedor que satisface una puede dejar intactas las otras dos. Ordenar su tarea en la línea correcta lleva cinco minutos y evita una discusión despué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? |
Las declaraciones de marketing difuminan las tres líneas a propósito. Un permiso P2P describe una política de destino, una dirección dedicada describe una dirección, y la afirmación de que no hay restricciones de puertos suele significar que el plan no las enumera. Ninguna de esas frases responde a las demás.
Elija un flujo concreto y escríbalo como una frase: iniciador, transporte, puerto, familia de direcciones, dirección. Un cliente de copias nocturno que sube a un host remoto es solo de salida. Un servidor de juegos en su escritorio al que se unen amigos es de entrada. Ejecutar ambos por un solo túnel significa que la hoja necesita las dos líneas, no un compromiso entre ellas.
El acceso de salida falla por la política de destino, no por el túnel
El tráfico de salida a través de una puerta de enlace que traduce crea estado. El primer paquete de una dirección y un puerto internos construye una entrada de traducción, y las respuestas coinciden con ella, que es el comportamiento de mapeo descrito en RFC 3022. Ese mecanismo es la razón por la que una pestaña del navegador suele funcionar sin ninguna petición de puerto.
Dos cosas siguen rompiéndolo. El nodo de salida puede filtrar destinos o números de puerto que considera abusables, y la aplicación puede estar escuchando en un puerto que la política de salida nunca esperó. Pregunte por el par de destino en lugar de por las reglas de entrada, y espere respuestas distintas para TCP y UDP.
Mida antes de discutir. Ejecute esto en la máquina que estará detrás del túnel, una vez con el túnel apagado y otra con él encendido:
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
Los mismos comandos, el mismo destino, dos estados del túnel, dan a un operador una comparación antes y después sobre la que puede actuar. Sustituya la dirección de documentación por el host que realmente necesita; lo que importa es que la comparación se repita, no que algún número parezca impresionante.
La publicación de entrada necesita un mapeo, una dirección y una duración
Nada de fuera puede iniciar una conexión hacia su escucha a menos que algo en el lado público sepa dónde entregarla. Una reserva de puerto estática que mantiene el operador, un mapeo solicitado por el cliente mediante UPnP, NAT-PMP o PCP, y una dirección pública enrutada son tres productos distintos con tres límites distintos.
Haga cinco preguntas a cualquiera de ellos: qué protocolo, qué puerto externo, si el puerto externo puede diferir del local, qué familia de direcciones cubre y cuánto sobrevive el mapeo a una reconexión. Una reserva ligada a una sesión activa desaparece cuando esa sesión termina, diga lo que diga la página del plan.
Confirme primero la mitad local, porque un escucha muerto y una ruta de entrada bloqueada se ven iguales desde fuera:
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
Cuando la petición local devuelve 200 y una petición desde una red que usted no controla sigue agotando el tiempo, la brecha está en el lado público. Ese es el momento de decir al operador el protocolo y el puerto externo en lugar de describir la aplicación por su nombre.
El transporte propio del túnel es una pregunta aparte
Los puertos del portador son la parte más pequeña del problema y la más fácil de consultar. Los valores por defecto varían según el protocolo, y lo que el cliente puede negociar importa más que cualquier descripción del plan.
| 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 red que descarta UDP de salida aceptará un túnel TCP 443 y rechazará uno de UDP, así que un modo alternativo pertenece a la hoja de requisitos. Cambiar el portador no mueve un puerto de aplicación dentro del túnel ni amplía una política de destino; esos se quedan en sus propias líneas.
La fragmentación merece una sonda mientras está allí, porque un túnel que se conecta y luego se atasca en transferencias grandes suele tener un MTU equivocado más que un puerto cerrado:
ping -M do -s 1400 203.0.113.10 ping -M do -s 1372 203.0.113.10
En Windows la misma sonda es ping -f -l 1400 203.0.113.10. Fije el MTU del túnel por debajo del tamaño mayor que pasa, y luego vuelva a probar la transferencia que falló.
Verifique las tres líneas antes de pagar un plan
Ponga las tres líneas en una página y rellene cada celda con un resultado medido en lugar de una promesa. Estos comandos producen la mitad local de esa página en aproximadamente un minuto:
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
Lea la salida como una lista de comprobación. La salida funciona cuando el destino responde con el túnel activo. La entrada solo funciona cuando un host fuera de su red alcanza el escucha en el puerto externo. El portador funciona cuando el saludo inicial se completa en un protocolo que su red de acceso permite.
Dos hábitos mantienen la hoja honesta. Anote la fecha y la versión del cliente junto a cada resultado, porque tanto las políticas del proveedor como los valores por defecto del cliente se mueven. Luego pida el mapeo más estrecho que sirva al flujo, porque una petición de abrirlo todo suele cosechar un rechazo o una venta adicional en lugar de una respuesta técnica.