, ,

IP dinámica con NOIP + NAT de puertos

ip-dinamica-+-noip-+-nat

YouTube

Proyecto P4

Para encontrar nuestro servidor P4 desde la red local simplemente con poner la IP en el navegador ya lo vemos pero y si queremos encontrar nuestro servidor desde Internet ya es otro cantar.

Cuando alquilamos un servidor dedicado o un VPS el proveedor de servicios nos da una IP fija para que podamos apuntar los dominios que queramos hacia esa IP.

Pero cuando tenemos un servidor en casa la cosa cambia ya que contamos con un Router y una IP dinámica que nuestro proveedor de Internet nos va asignando aleatoriamente.

Hay trucos como no reiniciar el Router nunca pero no suelen funcionar porque puedes estar mucho tiempo con una misma IP y de un día para otro esa cambiar.

Como lo que estamos montando nosotros es un servidor en casa necesitamos hacernos de un dominio que pueda ir actualizando la IP que tengamos y así siempre apuntará el dominio hacia nuestro Router.

Cómo hacernos de un dominio para IP dinámica

Para hacernos de un dominio para una IP dinámica y además gratis podemos usar el servicio que nos ofrece NOIP. Esta empresa vende dominios y servicios además de dejar gratis contratar 3 dominios que pueden ser usados con una IP dinámica.

Para empezar vamos a ir a la web de noip desde aquí y nos vamos a registrar …

noip

Si hacemos click en el menú superior en la opción Language podemos cambiar el idioma …

noip

Ahora en la pantalla principal podemos seleccionar un nombre para identificar nuestra maquina y uno de los dominios gratis que hay, yo voy a elegir la dirección p4.ddns.net, una vez elijas lo que quieras haz click en el botón Regístrate

noip

En la siguiente pantalla tenemos que completar el registro añadiendo nuestro email y una contraseña. Guarda correctamente esta contraseña porque la usaremos más adelante …

noip

Marcamos la casilla aceptando los términos del servicio y hacemos click sobre el botón Registro gratuito

noip

Como podemos ver el registro ha concluido y nos pide que confirmemos nuestra cuenta …

noip

Ahora vamos al email que le indicamos en el registro y deberíamos ver un mensaje de confirmación …

noip

Hacemos click sobre el botón verde Confirm Account y ya lo tenemos …

noip

Ahora si hacemos click sobre la opción del menú superior Administrar dominios veremos lo siguiente …

noip

Ahora hacemos click sobre la opción DNS Dinámico

noip

Como podemos ver nos avisan de que de que los nombres de host gratuitos caducan cada 30 días. esto quiere decir que cada mes te envían un correo y te dicen si quieres renovarlo, le das a renovar y el nombre siempre será tuyo, tan solo hay que cumplir cada mes con ese requisito, se tarda 30 segundos en hacerlo.

Seguidamente vamos a crear un Nombre de usuario ya que lo necesitaremos cuando necesitemos actualizar la IP desde nuestro servidor.

Para ello accedemos a la sección Cuenta, bajamos hasta Información básica y agregamos un nombre de usuario haciendo click sobre la opción Agregar nombre de usuario …

noip

Agregamos un nombre de usuario y pulsamos sobre el botón Salvar. Anotar este nombre de usuario, lo necesitaremos al final del tutorial.

Bien ahora ya tenemos una dirección web llamada p4.ddns.net en mi caso que apunta hacia la IP de mi Router.

Cómo redireccionar los puertos del Router

Lo siguiente que tenemos que hacer es acceder a nuestro Router y hacer un NAT de puertos. Un NAT de puertos cumple la función de redireccionar los puertos que queramos hacia una IP especifica.

Ahora si pongo http://p4.ddns.net desde un ordenador que esté fuera de mi casa, el navegador intentará conectarse y encontrará mi Router pero mi Router aun no sabe a qué dispositivo tiene que pasarle la petición.

Nuestro Router trabaja con los teléfonos móviles, televisiones, ordenadores, tablets y cada uno de ellos tiene asignada por DHCP una IP dinámica.

Si hacemos memoria, en la guía básica de Linux Debian configuramos una IP fija así que ya sabemos hacia que IP tenemos que redireccionar el puerto, en mi caso es la 192.168.1.110.

La petición que hace el protocolo HTTP corresponde al puerto 80 y este es el que tenemos que redireccionar hacia nuestro servidor en el Router.

Os explico todo esto porque cada Router tiene una manera de llegar a la opción NAT o Redireccionamiento de puertos y quiero que tengáis claro que es lo que tenéis que hacer antes de ponernos manos a la obra.

Ahora lo que vamos a hacer es acceder a nuestro Router. Todos los Routers tienen un panel de control desde el que se puede acceder desde un navegador.

Por norma la dirección IP para acceder a el suelen ser:

  • 192.168.0.1
  • 192.168.1.1

Insertamos la IP de nuestro router en el navegador y veremos una pantalla similar a esta …

Router

Introducimos el nombre de usuario y contraseña del router. Si no lo sabes puedes buscar el modelo por Internet que seguro que lo encuentras. En mi caso tengo un Router de Adamo y el usuario es user y la contraseña por defecto es la contraseña de la wifi que está en el Router.

Adamo

En mi caso hago click en la opción NETWORK que es donde está la opción para redireccionar puertos

network

En mi caso se llama Port Forwarding y dentro podemos configurarlo …

port forwarding

Voy a agregar una nueva regla pulsando sobre el signo +

agregamos nueva regla

Cómo podemos ver le he puesto a la nueva regla el nombre Puerto 80 http, el Source Zone que es WAN osea la IP externa y Destination Zone es LAN que es nuestra red local.

En la sección Dst. IP Address he puesto la IP de mi server y he aceptado tanto el protocolo TCP como UDP desde el puerto 80 al puerto 80.

En tu Router seguramente es diferente que en el mío pero más o menos viene siendo lo mismo.

Una vez lo tenemos todo configurado hacemos click sobre la opción Save y listo …

apply

Hacemos click sobre el botón Apply y el Router tomará la nueva regla que acabamos de añadirle.

Cómo actualizar tu IP en NOIP sin cliente

Finalmente vamos a hacer que nuestro servidor envíe nuestra IP externa a NOIP. Para no usar un cliente ya que estoy intentando tener ejecutado solo lo justo vamos a hacer que envie nuestra IP via URL desde la terminal

Para ello vamos a instalar el programa Curl con …

apt install curl

Ahora si ejecutamos desde la terminal …

curl http://tuusuario:tucontraseña@dynupdate.no-ip.com/nic/update?hostname=tunombre.ddns.net

Aparecerá un mensaje en pantalla tipo good TU.IP.EXTERNA, esto quiere decir que ha enviado correctamente nuestra ip actual al servicio de noip.com.

Automatizando tareas con CronTab

Ahora para que cada 5 minutos nuestro servidor lance esta petición web vamos a automatizarlo con …

crontab -e

Y agregamos la siguiente linea …

*/5 * * * * curl http://tuusuario:tucontraseña@dynupdate.no-ip.com/nic/update?hostname=tunombre.ddns.net

Guardamos el fichero, salimos del editor y con esto cada 5 minutos nuestro servidor se encargará de hacer el trabajo.

Para que los cambios surjan cambio al instante ejecutamos …

systemctl restart cron

Hay varios clientes como el ddclient o incluso el cliente que puedes descargar desde la web de NOIP pero en este caso con curl es suficiente para que cumpla la función de ejecutar la URL. By Linux My Friend 😉