2016/01/03

Tomato - Port Forwarding.



La redirección de puertos es muy útil para acceder a un servicio o dispositivo, como por ejemplo una cámara IP, un servidor FTP disponible dentro de nuestra red, desde el exterior.

Disponemos de una red domestica administrada por un router inalámbrico, para el ejemplo con Tomato pero es similar para otros Firmware y para lograr nuestro cometido, debemos realizar algunos pasos previos.


Primero (IP fija)

Los dispositivos dentro de la red deben disponer de una IP fija, esto se puede logra desde los ajustes de red de cada dispositivo o es usar el router inalámbrico para este fin, creo yo seria la mas recomendada.

Emparejando las direcciones IP con la direcciones MAC de los dispositivos, este tema ya lo tocamos aquí para Tomato y para DD-WRT.



Segundo (DNS Dinámico)

No es necesariamente obligatorio pero si recomendable, tener configurado un DNS Dinámico, ya tocamos ese tema con Tomato usando FreeDNS y DD-WRT usando DynDNS.

Estos servicios nos facilitan una dirección emparejada a la dirección IP que nos proporciona el ISP a nuestro router inalámbrico.



Para nuestro ejemplo tenemos 22xd.crabdacer.com


Tercero (Puertos y Servicios).

Debemos tener claro que puerto usa, los servicios que vamos a redireccionar por ejemplo.

  • La cámara IP para entrar a su interfaz web usando http es al puerto 80/TCP y https al 433/TCP.
  • El servidor FTP usa el puerto 21/TCP.
  • Las computadoras para el ejemplo tenemos habilitado SSH, usa el puerto 22/TCP.
  • O usar un escritorio remoto que dependerá del programa, por ejemplo VNC usa el 5900/TCP y RPD el 3389/TCP.





Manos a la obra

En Tomato nos ubicamos en Port Forwarding Basic, como lo muestra la siguiente imagen.



Encontraremos lo siguiente:

  • (1) Protocolo si TCP o UDP, Both usamos ambos.
  • (2) Si queremos fijar una dirección de entrada, pero se recomienda dejarlo en blanco y así atiende a cualquier petición de cualquier dirección.
  • (3) El puerto de entrada, podemos usar el mismo u otro que este libre para eso consultar esta lista. Tomato nos permite colocar un rango de puertos por ejemplo 3000-3100 o varios 3000,3002 o combinación 3000-3010, 3020, 4001. Lo recomendable es usar un puerto por encima de 1024 ya que estos están reservados.
  • (4) El puerto interno, podemos usar los mismo términos anteriores y si dejamos en blanco tomara los mismo de los puertos de entrada.
  • (5) La IP fija del dispositivo dentro de la red.
  • (6) Una descripción, no es obligatorio.

Por ejemplo quiero redireccionar el puerto de entrada 2002 al puerto interno 80 de la cámara IP 1 que tiene la IP 192.168.22.201 y el protocolo TPC (en la imagen coloque Both funciona, pero fue que se me paso 😋).



Nos aseguramos que este habilitado (1) ON y guardamos (2) SAVE.

Al colocar:
http://22xd.crabdancer.com:2002
Entraremos a la interfaz web de la cámara IP 1.



Si quiero entrar a la interfaz web de la cámara IP 2 usando HTTPS un protocolo seguro, seria así:
  • Protocolo TCP.
  • Puerto de entrada por ejemplo 2003
  • Puerto interno sera 443
  • La dirección IP 192.168.22.202

Al colocar:
https://22xd.crabdancer.com:2003
Entraremos a la interfaz web de la cámara IP 2.


Al servidor ftp, podemos usar el mismo puerto u otro diferente:
  • Protocolo TCP.
  • Puerto de entrada 21 (Debemos crear una regla en el cortafuego para usar este puerto)
  • Puerto interno si lo dejamos en blanco tomara el 21
  • La dirección IP 192.168.22.209

Si el router contara con un FTP incorporado y estuviera habilitado hubiera conflicto y usaríamos un puerto de entrada diferente.

En caso de los computadores que usan SSH tienen los mismo puertos internos el 22/TCP pero diferente IP interna y podemos usar puerto de entradas diferente por ejemplo:
  • Protocolo TCP para ambos ejemplos.
  • Puerto de entrada por ejemplo 22 para la laptop y 2022 para la PC.
  • Puerto internos seria 22 para ambos.
  • IP 192.168.22.5 la laptop y 192.168.22.2 la PC.

Al usar una terminal en linux para conectarnos a la laptop seria:
$ ssh login@22xd.crabdancer.com

A la pc:
$ ssh login@22xd.crabdancer.com -p 2022

De igual manera si el router tuviera SSH habilitado, usaremos un puerto de entrada diferente al que tiene habilitado para atender desde el exterior.


Y hablando del router, si tiene la interfaz Web Admin habilitada y usando el protocolo seguro https en Tomato entraríamos así.
https://22xd.crabdancer.com:8080


También te puede interesar:



Actualizado 2016.11.29
5 22XD: Tomato - Port Forwarding. La redirección de puertos es muy útil para acceder a un servicio o dispositivo, como por ejemplo una cámara IP , un servidor FTP disp...
< >