El reenvío de puertos con routers o módem / routers – Teoría

Muy buenas amigos, estoy preparando un vídeo en el que hablaré con unas presentaciones de como funcionaría un reenvío de puertos de un router a otro y que este segundo lo envíe al equipo destino el cual quedará accesible desde Internet según las reglas del reenvío definido.

¿Port forwarding?, ¿Esto qué es?
El Port Forwarding es una función mediante la que un router expone un servicio de un sistema de la red a Internet y es lo que por ejemplo hace falta cuando queremos abrir un puerto con la finalidad de exponer por ejemplo un servicio de Web, un FTP, escritorio remoto, VPN…

Pero además con este servicio podemos modificar el puerto al que se reenvia la petición, es decir, podemos hacer que reciba una petición por el puerto 5000 y que esta sea redirigida al puerto 8000 y esto trae algunas ventajas, pero antes veamos una imagen.


Port Forwarding - Reenvío de puertos

Port Forwarding – Reenvío de puertos




Esta imagen muestra como he publicado dos servicios mediante los que puedo ofrecer acceso a un escritorio remoto y conexión mediante VNC, analizaré la primera regla.

Name. Aquí le pongo un nombre a la regla para identificarla en un futuro.

IP Adress. La dirección Ip a la que se reenviará la petición, o lo que es lo mismo, la dirección del servidor que ofrece el servicio dentro de nuestra red, por ejemplo si el servidor que ofrece una Web tiene la Ip 192.168.0.3 esa sería la ip que correspondería.

Public port. Aquí vemos dos campos, esto es porque podemos escoger un rango de puertos que serán redirigidos por ejemplo, que todas las peticiones entre el puerto 1000 y el 3000 se redirijan al puerto 400 de la máquina especificada en el campo Ip Adress. En caso de indicar el mismo puerto en ambos campos se redirigirán las peticiones de ese puerto.

Private port.Este es el puerto al que se redirigirán las peticiones.

En este caso lo que le estoy diciendo al router es lo siguiente, las conexiones que entren dirigidas al puerto 5901 las reenvías al puerto 3389 del sistema con la ip, 192.168.0.1

En el ejemplo de abajo se ve un caso más normal, en este ejemplo lo que le estoy diciendo es que cuando el router reciba una petición por el puerto 5900 lo redirija al mismo puerto de la Ip 192.168.0.3

¿Como recibe el router la petición por un puerto u otro?


Comunicación a través de router

Comunicación a través de router


Bueno, este gráfico muestra algo que ya todos seguro sabemos, pero es la clave para exponer un servicio de nuestra red a Internet. El router a nivel interno consta de un servicio de NAT que permite conectar a más de 1 equipo a Internet con una única Ip pública, es por esto que 2 o más ordenadores pueden conectar a Internet y navegar con una única conexión.

Para acceder a un servicio de nuestra red bastará con utilizar nuestra Ip pública desde cualquier ubicación para acceder al servicio, pero ¿Que pasa con el puerto? bueno, esto lo vemos muy rápidamente.

Si pones la Ip pública en un navegador Web la conexión se realizará de forma predeterminada por el puerto 80 que es el utilizado por el protocolo http
Si ponemos nuestra ip pública en un cliente FTP se utilizará el puerto 21 para realizar la conexión, que es el utilizado por el protocolo FTP
Si ponemos nuestra Ip pública en un cliente de escritorio remoto se realizará la conexión por el puerto 3389 que es el utilizado por el protocolo RDP

Y de esta forma con el resto de servicios, pero…

¿Cómo podemos especificar un puerto de conexión concreto?
Hemos visto en la primera imagen del artículo que utilizaba el puerto 5901 para después reenviarlo al puerto 3389 de otro equipo y que así este pueda recibir una conexión de escritorio remoto, con este mecanismo podría acceder por escritorio remoto a infinidad de sistemas ya que solo tendría que reenviar puertos desde el router al puerto 3389, por ejemplo

Regla 1.
Petición por puerto 8001 -> Reenviar a puerto 3389 de equipo 192.168.0.1
Petición por puerto 8002 -> Reenviar a puerto 3389 de equipo 192.168.0.2
Petición por puerto 8003 -> Reenviar a puerto 3389 de equipo 192.168.0.3
Petición por puerto 8004 -> Reenviar a puerto 3389 de equipo 192.168.0.4
Petición por puerto 8005 -> Reenviar a puerto 3389 de equipo 192.168.0.5

De esta forma podría conectar a 5 escritorios remotos diferentes sin complicarme demasiado y solo necesitaría especificar un puerto diferente en el cliente de escritorio remoto, veamos una imagen.


Escritorio remoto puerto 8001

Escritorio remoto puerto 8001


¿Y si queremos acceder a una web por este mismo puerto?


IExplorer puerto 8001

IExplorer puerto 8001


Como muestra la imagen de nuevo bastará con indicar el puerto tras dos puntos ” : ” como muestran las dos últimas imágenes.

Y de esta forma podemos publicar un servicio 2, 10 o 100 veces a pesar de que utilice el mismo puerto utilizando para ello el reenvío de puertos de nuestro router o port forwarding.

Un saludo y espero que os sea de utilidad esta información.

Sin categoría

Deja una respuesta