Todos los que tenemos Internet posiblemente hemos escuchado eso de abrir los puertos de router. Pero ¿Cuál es la utilidad real de abrir los puertos y qué podemos hacer con ellos? Pues tienen bastante utilidad para aquellos que necesitan extender las funciones de su equipo no solo dentro de su LAN sino fuera de ella, por ello veremos con todo detalle cómo funcionan estos puertos y cuándo y cómo debemos abrirlos.
Índice de contenidos
Claro que no todos los routers son iguales, así que no podemos cubrir todos los casos existentes. Pero creemos que con un ejemplo bien explicado todo usuario podrá hacer lo mismo en su router con independencia de su marca y modelo. Sabed que absolutamente todos los routers del mercado ofrecen la posibilidad de abrir puertos.
¿Para qué sirve un puerto y qué es?
Sin dar demasiados detalles técnicos, un enrutador es aquel dispositivo que nos permitirá interconectar ordenadores y otros equipos informáticos en una red. Este aparato trabaja en la capa de red del modelo OSI (Open System Internconnection). Es decir, se encarga de proporcionar la conectividad a los hosts a él conectados y seleccionar la ruta correcta para el intercambio de información entre distintas redes separadas entre sí.
Estas redes pueden ser dos redes internas diferentes o subredes, o bien nuestra propia LAN e Internet, que en definitiva es una enorme red a escala mundial. De esta forma es como nosotros podemos ver una página web, enviar un correo a un contacto o hacer una llamada desde nuestro equipo.
Un router es capaz de separar físicamente Internet de nuestra red interna, y esto se hace gracias a los puertos y a la función NAT. Pero no los puertos RJ45 que tenemos en su parte trasera, sino unos puertos lógicos que solamente tienen sentido en el ámbito de intercambio de paquetes. Por estos puertos es por donde sale y entra toda la información desde nuestra red hacia Internet.
Pero los puertos no se eligen de forma arbitraria, al menos en la mayoría de casos. Y es que cada aplicación o servicio de nuestro equipo utiliza uno o varios puertos por los que enviar y recibir esta información, atendiendo a lo establecido en el modelo OSI. En muchos casos podremos elegir sobre qué puerto trabaja una aplicación en concreto, y en otros simplemente se cogerá el predefinido por convenio.
Rango de puertos
Los puertos de un router no son pocos como te podrías imaginas en principio, tenemos un total de 65536 puertos disponibles para abrir en él, es decir, 16 bits. Además veremos luego que es posible hacerlo uno a uno o mediante grupos o rangos.
La entidad IANA (Internet Assigned Numbers Authority) además de supervisar la asignación de direcciones IP a nivel mundial, también estableció tres rangos o categorías de puertos:
- Puertos bien conocidos: este rango va desde el puerto 0 al 1023 y están reservados para el sistema operativo y para servicios muy conocidos. Entre ellos por ejemplo tenemos el servicio web HTTP (80) o HTTPs (443), el servicio de correos (25), etc.
- Puertos registrados: el siguiente rango va desde el 1024 hasta el 49151, un rango bastante grueso en donde se puede utilizar cualquier aplicación y protocolo para ellos. Muchos de estos puertos son los que las aplicaciones y también juegos online utilizan de forma automática.
- Puertos privados o dinámicos: son los que quedan, desde el 49152 hasta el 65535. Este rango es utilizado de forma dinámica para aplicaciones de tipo cliente, por ejemplo los programas de descargar P2P (Peer To Peer).
Esto no es impedimento para utilizar cualquier puerto en cualquier aplicación, pero siempre que cliente y servidor se pongan de acuerdo o establezcamos la ruta en la función Port Trigger. Por ello, usar de forma arbitrario los puertos conocidos no es una buena idea.
¿Para qué sirve abrir los puertos?
De serie nuestro router no tiene ningún puerto abierto, absolutamente ninguno al menos de forma permanente. Y eso no influye para nada en la capacidad de “relacionarse” con servicios de Internet, ya que en definitiva somos meros clientes. Por ello podemos navegar por internet, ver vídeos, descargar datos, etc. Pero también enviar correos, subir ficheros a nuestra nube y otras acciones que no requieren tener abierto puertos. Luego veremos una función que permite abrirlos y cerrarlos de forma automática.
La necesidad de abrir puertos del router surge cuando un programa pretende enviar y recibir información por un puerto en concreto hacia el otro extremo de la conexión. Si esta se envía o recibe por un puerto dinámico arbitrario el programa no encontrará esta información. En este caso debemos de desbloquear nosotros el puerto correcto (el puerto) por donde esa información viajará para un host concreto.
Muchos os preguntareis si es peligroso abrir puertos en nuestro router de cara a un ataque hacker. Veamos, ciertamente existe mayor peligro que si están cerrados, especialmente en los puertos bien conocidos porque son los que más ataques reciben, pero los enrutadores ya cuentan con sus propios sistemas de protección que repelerán la mayoría de ataques.
Puede comprobar si tienes puertos abiertos desde el sitio oficial internautas.org
Función NAT
La función NAT (Network Address Translation) es un sistema implementado en todos los enrutadores que permite aislar la red LAN privada de la red pública. De esta forma es como desde nuestra casa podemos conectarnos con varios equipos a Internet a través de una sola dirección IP pública, la del enrutador.
Esto hace que los equipos de fuera no sepan nada de cómo es nuestra red interna, ellos solamente ven a un router conectado con una IP. Esta IP es entregada por el suministrador de conexión (Orange, Vodafone, o el que sea). A su vez el router de forma interna suministra IPs en su propia red y se encargará de traducir la IP privada a pública cada vez que salgamos fuera en busca de un servicio.
Cortafuegos o firewall
Además del NAT, el router también tiene un cortafuegos. Es un software que analiza el trafico que pasa por el router y decide qué paquetes entran y salen. De esta forma si un intruso intenta conectarse a nuestro ordenador será bloqueado por el cortafuegos si entiende que es sospechoso, revocando así la conexión.
A esto le sumamos la ultima capa de seguridad que nos la da el propio sistema operativo , con navegador y antivirus. Por si la conexión llega en forma de datos a priori inofensivos que luego resultan ser peligrosos.
Función DMZ
Finalmente existe una función de zona desmilitarizada o DMZ que está enfocada a sacar al exterior servidores o equipos enfocados a dar servicios a Internet. El DMZ lo que hace es permitir todas las conexiones desde la red interna a la externa en el equipo que esté dentro de esa zona. Mientras que los equipos que está fuera de ella seguirán protegidos de forma normal con el cortafuegos.
Protocolo TCP y UDP diferencias
Por último creemos recomendable conocer los dos protocolos de transmisión sobre los que tendremos que abrir puertos del router. Estos dos protocolos trabajan en la capa 4 o de transporte del modelo OSI, la cual se encarga de transportar los paquetes de datos desde el destino al origen.
TCP
Transmisión Control Protocol es uno de los protocolos más importantes en redes. Este es un protocolo orientado a conexión, por lo que emisor y receptor deben aceptar la conexión antes de intercambiar datos.
El protocolo garantiza que los datos llegarán al destino sin errores y en el mismo orden en el que se transmitieron. La comunicación se hace de forma segura independientemente de los que se utilicen en las capas inferiores. Estos paquetes TCP son más lentos por ser más pesados aunque ganan en fiabilidad
UDP
User Datagram Protocol también es un protocolo a nivel de transporte pero en este caso es no orientado a la conexión, por lo que no es necesario establecer la conexión antes de enviarse.
No garantiza que el paquete llegue a su destino ya que no hay una confirmación por parte del destinatario, no tampoco garantiza que lleguen en orden, ya que cada uno buscará la mejor ruta para llegar. Los paquetes UDP son más rápidos que los TCP al pesar menos, pero menos fiables.
Proceso para abrir puertos del router
Con todo lo anterior ya se tiene una buena idea de que nos vamos a encontrar y en qué consiste esto de abrir puertos. Así que ahora lo que tendremos que hacer es localizar la IP del router, usuario y contraseña y finalmente acceder para abrir los puertos deseados.
Localizar dirección IP del router y usuario y contraseña
Pasaremos por aquí muy rápido ya que no tiene mayor complicación. Debemos abrir el Símbolo del sistema bien desde el menú inicio escribiendo “CMD” o con la herramienta ejecutar. En todo caso escribiremos el comando:
ipconfig
debemos localizar la línea que diga “Puerta de enlace predeterminada”. Está será la dirección IP de nuestro router. Solo queda colocarla en el navegador para acceder a su configuración.
Respecto al usuario y contraseña, normalmente estará en las instrucciones de instalación del router o en una pegatina en su base junto a la información de la red Wi-Fi.
Si el router es de un suministrador de internet como Orange, Vodafone o Jazztel, entonces podemos probar con admin/admin, admin/contraseña Wi-Fi o admin/1234 o sus combinaciones. Suele estar también en una pegatina, sino pues siempre podemos contactar con soporte para que nos facilite los datos.
Vamos a abrir puertos del router Asus RT-AX88U. El procedimiento será similar en otros modelos así que sus fundamentos y opciones, aunque cada firmware será diferente en función de la marca.
Abrir puertos de forma automática con UPnP
En un router de mediana calidad como los son prácticamente todos a día de hoy, tenemos una función muy útil de apertura automática de puertos. Es un protocolo llamado UPnP o Universal Plug and Play, el cual se encarga de abrir los puertos automáticamente para las aplicaciones compatibles que estén instaladas en nuestro equipo.
Con UPnP no necesitaremos abrir ningún puerto de forma manual, ya que el router detectará la aplicación que intenta conectar con el exterior para el host concreto que la está utilizando. El puerto se mantendrá abierto mientras que la aplicación esté en funcionamiento, y tras detectar de nuevo inactividad lo cerrará automáticamente.
En el ejemplo que llevamos a cabo, la opción UPnP se encuentra en el apartado de WAN, aunque en otros routers podremos encontrarlo en opciones avanzadas, firmware o directamente en el apartado de apertura de puertos.
Desde este apartado vemos que UPnP ya lo tenemos habilitado de serie en este router así como el NAT simétrico para asegurar que nuestra red no sea visible. La opción nos permite además hacer el procedimiento en el rango de puertos que estimemos oportuno. De serie los puertos bien conocidos quedan excluidos en su apertura interna, pero perfectamente podremos extender la función a todo el rango, aunque será inseguro.
Claro que es una opción muy útil en caso de aplicaciones P2P o con ciertos juegos online que requieren de la apertura de puertos. Pero si lo que pretendemos es montar un servidor web, de correo, Plex o algo por el estilo, entonces los puertos necesitarán estar siempre abiertos, así que tendremos que abrirlos de forma manual.
Abrir puertos de forma manual con Port Trigger
En este caso tenemos el apartado de apertura de puertos en la sección WAN. Quizás el firmware de Asus sea uno de los más completos que podemos encontrar. Esto nos va a ayudar a explicar dos métodos para abrir puertos que algunos routers como éste tienen, además de la función UPnP.
Quizás esto sería mejor explicarlo con los términos en inglés ya que son los más utilizados y la traducción a español genera ciertas dudas.
Esta función de Port Trigger solamente abre los puertos cuando un dispositivo de nuestra LAN solicita el acceso al exterior. Entonces la activación de puertos se puede hacer cuando queremos solicitar un servicio del exterior, así el router abrir el puerto entrante (Incoming Port) cuando nuestro equipo LAN solicia el acceso al puerto disparador (Trigger Port). Aunque es realmente útil cuando las aplicaciones necesitan abrir puertos entrantes diferentes del puerto saliente como comunicarse fuera.
Una ventaja de ello es que no requiere IP estática como veremos en el Port Forwarding, pero solamente permitirá que un cliente a la vez utilice este puerto abierto.
El proceso de podría explicar de la siguiente forma:
- Tenemos un PC cliente en nuestra LAN que inicia una conexión a través de un rango de puertos que puede ser por ejemplo del 6660 a- 7000.
- Esta conexión pretende solicitar los servicios de un servidor FTP por el puerto de entrada 21 que está en Internet. así que el servidor recibirá la petición y creará una conexión.
- Si no tenemos Port Trigger configurado, el router rechazará la conexión porque no sabe qué equipo de la LAN es el que solicita la información.
- Ahora activamos esta función y colocamos un puerto saliente en Trigger Port que será el que dispare la conexión por así decirlo
- El puerto entrante 21 colocado en Incoming Port hará que el router acepte la conexión entrante del servidor exterior.
Para el ejemplo que hemos llevado a cabo, vamos a utilizar el puerto 80 como puerto de activación y el 21 como puerto entrante. De esta forma podemos acceder al servidor FTP Internet desde un cliente en nuestra LAN a través del navegador web por el puerto 80 y con el 21 como entrada. En este caso accederíamos al servidor ftp con “ftp://ippublica:80”
Abrir puertos de forma manual con Port Forwarding
Es el método más habitual y el que conocemos como “abrir puertos del router”. En este, abriremos los puertos especificados de forma permanente. A ellos tendremos que asociar una dirección IP, que además tendrá que ser estática si queremos evitar que el DHCP del router la cambie tras un reinicio.
También se llama servidor virtual por el hecho de estar enfocado a utilizarlo para implementar servidores en nuestra red interna y dotarlos de acceso al exterior para enviar sus servicios. Por ejemplo un servidor web, ftp, etc. En este caso cada puerto solamente puede ser utilizado por un único equipo en la LAN, es decir, solo podemos tener un ftp por el puerto 21, para un segundo utilizaríamos otro.
Lo primero que tendremos que hacer es activar el servicio, algo que también se hará en cualquier otro router que tengamos. Ahora veamos los distintos apartados:
- Nombre del servicio: se trata de escribir a modo informativo para qué servicio vamos a abrir el puerto. En este router hay predefinidos una lista de servicios que realizarán la configuración automática en el resto de apartados.
- Puerto externo (Puerto WAN): será el puerto o puerto que quieres abrir. En algunos routers tienes un puerto de inicio y otro de final, mientras que en otros como este podrás poner un rango con “:” o sea, “20:21”.
- Puerto interno (Puerto LAN): al ser puerto bien conocidos se utilizará el mismo número que en el puerto WAN o directamente se omitirá.
- Dirección IP interna (IP de LAN): es la dirección IP fija en donde tenemos ubicado el servidor en cuestión.
- Dirección IP externa (IP de WAN o source IP): será la IP del enrutador que se conecta a Internet, es decir, la IP del router. Este campo se puede obviar también.
- Protocolo: será el protocolo de comunicación por el que viaje la información, siendo TCP o UDP. Según el servicio se usa uno, otro o ambos
De esta forma estaremos configurando un servidor web en un equipo local con esta dirección IP. Para acceder a él tendremos que colocar la IP pública o DNS si tenemos desde fuera de la red.
Conclusión sobre abrir puertos del router
Aquí dejamos todas las posibilidades que podemos encontrar para abrir puertos en un router. Podemos ver que no solamente existe el tradicional Port Forwarding, sino que hay otras funciones como el UPnP y el Port Trigger que estará disponible en la mayoría de routers del mercado.
Cada cual utilizará el que crea más conveniente, aunque ciertamente lo normal será la primera opción. El proceso será similar para el resto de routers, e incluso más sencillo al haber menos opciones, pero las reglas de apertura se mantendrán exactamente iguales. Ahora os dejamos con algunos tutoriales de redes:
¿Para qué necesitas abrir puertos en el router? ¿qué método crees que es mejor? Si tienes algún problema o ves algo extraño, háznoslo saber en los comentarios.