¿Cómo configurar los DDNS de Dynu en nuestro dominio web?
Dynu es un proveedor de DNS dinámico (DDNS) que actualmente cuenta con 12 servidores DNS, de los cuales 6 están en EEUU y el resto estan repartidos por el resto del mundo. El servicio de DNS dinámico que ofrecen soporta tanto IPv4 como IPv6, servidores de nombres personalizadosm redireccionamientos, ...
Este servicio en su capa gratuita nos permite administrar hasta 4 dominios por cuenta, también nos ofrece una API para adminstrar nuestro dominio haciendo posible la actualización de los datos de nuestro dominio como la IP de forma muy sencilla.
¿Qué es el un DNS dinámico?
La tecnología de DNS dinámico nos permite dar a nuestro ordenador, servidor o dispositivo que tengamos en una red doméstica una dirección permanente en Internet. Los proveedores de servicios de Internet generalmente nos ofrecen de forma gratuita una IP dinámica (cambian nuestra ip de forma regular) esto hace que los registros DNS que configuremos se queden obsoletos, pero con los DNS dinámicos puedemos mantener nuestro nombre de dominio apuntando a la dirección IP actual en todo momento de forma mucho más fácil.
¿Cómo crear una cuenta en Dynu?
Lo primero que debemos hacer es crearnos una cuenta en la web Dynu, para ello tenemos que fijarnos en la barra superior de la web y hacer click en Create Account.
El paso siguiente consiste en cubrir el siguiente formulario para crearos la cuenta donde se nos pedirá información como nuestro nombre, apellido, nombre de usuario, contraseña y correo electrónico. Una vez completéis de cubrir la información hacer click en Submit.
⚠️ Nota: Importante no uséis la misma contraseña que podáis usar en otras webs, evitar los símbolos o caracteres especiales como la "ñ" ya que os podría dar problemas.
Recordar revisar la bandeja de entrada y el spam para activar vuestra cuenta de Dynu, esto es necesario debido a que nos mandan un email para verificar vuestro correo electrónico.
Configurando Dynu
Antes de empezar a usar Dynu tenemos dos opciones, usar un dominio propio o usar un subdominio de los que ofrecen. Recordar que hace unos minutos publique un post donde os enseñe como conseguir un dominio web gratis.
Lo primero que debemos hacer es entrar en el panel de control de Dynu, para entrar en el panel podemos hacer click en el icono de los 3 engranajes.
Una vez en el panel de control hacemos click en DDNS Services para configurar nuestro primer dominio y posteriormente pulsamos en el botón +Add. En el siguiente panel que se nos abre tendremos dos opciones entre las que nos encontramos la posibilidad de usar un subdominio (Option 1) que nos ofrecen ellos o usar nuestro dominio personalizado (Option 2).
Para este ejemplo usaremos un dominio propio (Opction 2), en este caso escribimos el nombre del dominio que tengamos por ejemplo si lo compramos en Freenom será .tk, .ml, ... Pongamos que añado un dominio con extensión .ml, una vez escrito el nombre del dominio (no poner ni http o https delante del mismo, solo el nombre con su extensión. Ejemplo: example.ml
) solo tendremos que pulsar en el botón +Add.
📝 Nota: Por defecto vienen activas las opciones "Wildcard IPv6 Alias" y "IPv6 Address", pero como en mi caso no tengo IPv6 ya que mi operador no la ofrece lo mejor es tener esas opciones desactivadas.
En el apartado "Configuration" de esa misma página puedes ver la lista de los 12 servidores DNS que tienen los de Dynu, tienes que elegir por lo menos 2 servidores DNS de la lista y asignárselos a tu dominio web.
En la siguiente imagen hacemos los cambios de DNS sobre el dominio que obtuvimos en Freenom, para ello vamos a Services > My domains > Seleccionamos nuestro dominio > Management Tools > Nameservers. Después marcamos la opción "Use custom nameservers" e introducimos los que queramos, en mi caso puse uno de USA y el resto europeos.
Una vez realizado el cambio de DNS debemos esperar entre 12 a 24h para que los cambios se propaguen por la red antes de poder usar nuestro dominio con normalidad. Una vez realizados todos estos pasos nuestro dominio ya estará bajo los dns de dynu y ahora solo nos faltaría hacer que actualice la IP de forma automática.
Creando el Script para actuliazar nuestra IP
Para poder actualizar los registros de forma automática podemos usar los programas que tiene Dynu para todas las plataformas con interfaz gráfica que podemos encontrar en este enlace, pero en este tutorial os enseñaremos a crear un script para actualizar nuestra IP.
Para crear el archivo del script primero de todo debemos elegir la ruta donde crearlo, en mi caso en el home (cd ~
) de mi usuario cree una carpeta llamada "scripts" (mkdir scripts
) y dentro cree el archivo del script usando el siguiente comando:
touch updateIP.sh
Una vez tenemos el archivo anterior creado debemos darle permisos de ejecución usando el siguiente comando:
sudo chmod +x updateIP.sh
Ahora vamos a modificar el archivo anterior que actualmente no tienen ningún contenido, para ello ponemos el comando nano updateIp.sh
para editar el archivo y le pegamos la siguiente línea:
echo url="https://api.dynu.com/nic/update?username=USERNAME&password=PASSWORD" | curl -k -o ~/dynu.log -K -
📝 Nota: Remplazar USERNAME y PASSWORD (Solo los que están en mayúsculas) por vuestro usuario y contraseña de Dynu.
Para comprobar que el Script os funciona correctamente podeís ejecutarlo poniendo la ruta completa del mismo en la terminal. Ejemplo:
/home/tecnonucleous/scripts/updateIP.sh
En este ejemplo estamos logueados en nuestra terminal con el usuario "tecnonucleous", en vuestro caso si tenéis en el script en la misma ruta que nosotros (el home de vuestro usuario) solo tendréis que cambiar "tecnonucleous" por el nombre de vuestro usuario. En el caso de que no este en la misma ruta pues poner la ruta completa donde tengáis ese archivo.
Opciones extra
El script anterior directamente actualizaría la IP en todos nuestros registros, se puede dar el caso de que solo queramos que se actualice un hostname (nombre de dominio) y que el resto no cambie de IP. Para realizar esto modificamos la url del script anterior añadiéndole el parametro &hostname=
en el cual se añade el nombre del dominio o dominios que queremos que se cambien la IP de forma automática.
echo url="https://api.dynu.com/nic/update?hostname=tecnonucleous.com&username=USERNAME&password=PASSWORD" | curl -k -o ~/dynu.log -K -
📝 Nota: En el caso de querer añadir más de un hostname separarlo por comas, ejemplo:
?hostname=dominio.com,dominio2.com&username=USERNAME&password=PASSWORD
Otra opción en vez de que obtenga nuestra IP de forma automática al hacer la petición podemos pasarle como parametro en la URL nuestra IP o cualquier otra escribiendo &myip=XXX.XXX.XXX.XX
en la dirección url del script.
Programar la tarea de actualización de IP
Una vez tenemos creado el script anterior y nos funciona correctamente tenemos que hacer que se ejecute cada X tiempo de forma automática, para ello usaremos el crontab (programador de tareas). Para abrir el archivo de configuración del crontab escribimos el siguiente comando:
crontab -e
Seguramente os preguntará con que editor queréis abrirlo si "nano" o "vim", yo personalmente prefiero nano porque es más sencillo de usar, al final del archivo solo tenemos que pegar las dos siguientes líneas para hacer que cada 5 minutos se ejecute el script de forma automática. Recordar cambiar la ruta /home/... por la ruta correcta donde tengáis el script.
# Actulizamos la IP del dominio cada 5 minutos
*/5 * * * * /home/tecnonucleous/scripts/updateIP.sh
Una vez realizado ese proceso y guardados los cambios de forma automática se iniciará ese script comprobando nuestra IP, en el caso de que la nuestra IP cambie se cambiará de forma automática la IP para todos los dominios que tengamos en nuestra cuenta de Dynu. Esto es todo por este tutorial, espero que os ayudará a usar los DDNS de Dynu y entender todo el proceso.