Actualiza registro DynDNS con Ubuntu
¿ Quien no se ha encontrado con el problema de querer tener acceso remoto al equipo de su casa pero tienes ip pública dinámica y no la has mirado antes de salir ? Por ejemplo, yo tengo mi servidor Ubuntu Linux y me interesa entrar en remoto desde fuera, pero no tengo ip pública estática, con lo que me puede cambiar sin previo aviso incluso sin reiniciar el router.
Pues para solucionar este problema, disponemos de servicios de registros de DNS dinámicos. Yo os voy a explicar como lo he montado con DynDNS . Pero hay muchos otros más. Básicamente, este tipo de servicios nos permite mantener un registro DNS, del tipo: NOMBRE.dyndns.org, que resolverá la IP de nuestra casa (o de donde nos interese) de forma dinámica. De esta forma: a) No tendremos que volver a memorizar IP, bastará con acceder siempre al nombre que queramos y b) tendremos un servicio que se encargue de registrar la IP que tenemos actualmente. Estos son los sencillos pasos a seguir, en mi caso, si lo quieres hacer con Ubuntu.
Creación de Registro en DynDNS
Lo primero que tenemos que hacer es crearnos una cuenta de tipo gratuita, que será suficiente para mantener un registro de un PC, en dyn.org. Tras registrarnos, entraremos en el panel de control de dyn como se muestra en la siguiente figura:
Dentro de My Services, hay que ir a My Hosts y crear un nuevo host (la versión gratuita te deja hasta 2, más que suficiente como solución para casa). Dentro de Host, hay que añadir un nuevo host, para ello, hay que rellenar un simple formulario donde se pide:
Hostname: Aquí hay que poner el nombre de dominio que queremos resolver. En el desplegable de al lado, eligiremos el domonio que dyndns nos ofrece. De esta forma, el nombre completo (llamado FQDN) será: nombre.dominio. Por ejemplo: miserver.dyndns-at-home.com
Service Type: Marcaremos “Host with IP address”.
IP Address: Debajo del cuadro donde hay que poner la IP, se nos ofrece la información de nuestra IP actual. Introduciremos dicha ip en el cuadro.
Con estas opciones, habremos creado nuestra entrada DNS. Ahora vayamos a la segunda parte: Instalar un cliente que actualice esta entrada de forma dinámica. Lo explicaré para Linux.
Configuración de cliente Linux: inadyn
DynDNS ofrece una variedad de clientes para cada plataforma: Windows, Linux y MAC OS. Estos clientes se ejecutan en modo servicio en el pc/servidor donde se instalen, y básicamente comprueban de forma periódica cual es su ip pública y actualiza el registro DNS en consecuencia.
En mi caso, he optado por el servicio que ofrece DynDNS con Ubuntu, a través de su cliente de inadyn que se encuentra en el repositorio de Ubuntu, con lo que con el comando: sudo apt-get install inadyn ya lo tendremos instalado.
Tras la difícil instalación, hay que pasar a configurarlo. El servicio lee los parámetros de un fichero de configuración localizado en: /etc/inedyn.conf:
--update_period_sec 600 # Verifica la IP cada 600 segundos
--username USUARIO #Usuario de dyndns
--password CONTRASEÑA #password de dyndns
--dyndns_system dyndns@dyndns.org
--alias NOMBRE.DOMINIO #dominio configurado en dyndns
--log_file /var/log/inadyn.log
Simplemente, sustituir las palabras en mayúsculas con vuestros propios datos: Nombre de usuario y contraseña de DynDNs, y nombre de dominio completo (por ejemplo miserver.dyndns-at-home.com). Y el periodo de actualización, que por defecto está a 5 min (600s).
Sólo queda arrancar el servicio. Para ello, ejecutamos el comando de la siguiente forma (lo enviamos al background): inadyn &
Como se trata de un comando, no tiene un modo daemon, lo más sencillo es que pongamos una entrada en el fichero /etc/rc.local para garantizar que el comando se ejecuta cada vez que arranquemos el equipo. Este es el contenido de este fichero, con la entrada del comando al final:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Comando para mantener actualizado registro DynDNS
/usr/sbin/inadyn &
exit 0
Y con estos sencillos pasos, tendremos funcionando un sistema de actualización de registro DNS dinámico de nuestro servidor de casa. A partir de ahora, podremos acceder a él a través del nombre que hayamos configurado.