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.

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?

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.

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 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.

Artículos relacionados