Actualizado el miércoles, 23 noviembre, 2022
Tras recibir un correo de Dyn en el que anuncia que próximamente finaliza el servicio de DNS dinámica gratuito, me he puesto manos a la obra y he sustituido esta función utilizando la aplicación dinaIP de Dinahosting.
Aquí os dejo el minitutorial de cómo reemplazar nuestro servicio de DNS dinámico con la aplicación dinaIP y una Raspberry Pi por si a alguien le resulta útil.
Índice de contenidos
¿Qué necesitamos?
- Raspberry Pi (si no la tenemos, bastaría con el modelo A, más económico pero con menos RAM)
- Una tarjeta SD (rápida y de al menos 2 GB, aunque te recomiendo que sea mínimo de 4) con Raspbian instalada (un tutorial)
- La aplicación de dinaIP que podemos descargar en Dinahosting
- Un nombre de dominio
¿Cómo?
Accedemos por SSH a nuestra Raspberry y nos hacemos root:
pi@raspberry ~ $ sudo su - [sudo] password for pi: root@raspberry:~#
Descargamos la aplicación de dinaIP para consola y descomprimos el fichero resultante de la descarga:
root@raspberry:~# wget https://dinahosting.com/utilidades/estandar/aplicaciones/dinaIP-consola.tar.gz&& tar xzpf dinaIP-consola.tar.gz
Nos situamos en la carpeta descomprimida y ejecutamos el instalador
root@raspberry:~# cd dinaIP-consola/ root@raspberry:~/dinaIP-consola# sh install.sh root@raspberry:
Iniciamos el demonio de dinaIP de forma manual, con nuestro usuario y contraseña de acceso a los paneles:
root@raspberry:~# dinaip -u mi_usuario_molon -p ******
Añadimos nuestro dominio y la zona que queremos utilizar con dinaIP:
root@raspberry:~# dinaip -a example.com:example1
Con esto habremos iniciado el demonio de dinaIP que mantendrá nuestra IP dinámica actualizada en example1.example.com, pero tendremos que lanzarlo de forma manual cada vez que reiniciemos nuestra Raspberry, lo que nos lleva al siguiente punto…
Un poco de magia con init.d y update-rc.d
Para evitar tenemos que lanzar de forma manual cada vez que reiniciemos nuestra Raspberry vamos a hacer que el servicio se inicie de forma automática en cada arranque.
Empezaremos creando un fichero “/etc/init.d/dinaip” con el contenido que podemos ver en este gist (recordad configurar vuestra ID y contraseña) y le daremos permisos de ejecución:
root@raspberry:~# chmod +x /etc/init.d/dinaip
Ahora ya podemos arrancar y detener el servicio con el comando service, pero sigue sin iniciarse de forma automática, para esto tendremos que ejecutar estos 2 comandos (como root):
root@raspberry:~# update-rc.d dinaip defaults root@raspberry:~# update-rc.d dinaip enable
Y listo, ya tenemos nuestro servicio de DNS dinámico funcionando y arrancando de forma automática en cada inicio.
Configurar la rotación automática de logs
Como los log de dinaIP son bastante detallados y el espacio de mi SD es limitado, ha sido necesario buscar la forma de rotar estos logs, de forma fácil, rápida y que no haga fallar la escritura los mismos…
Por suerte, Raspbian (como Debian y la mayoría de distribuciones Linux) cuenta con logrotate, que nos permite configurar la rotación automática de los ficheros de log.
Creando un fichero de configuración para logrotate
Configurar logrotate es muy fácil, basta con crear un fichero de configuración dentro del directorio “/etc/logrotate.d/’, llamado, por ejemplo dinaip. Yo lo he configurado con las siguientes opciones:
– Conservar logs de los últimos 7 días
– Rotación diaria
– Copiar y truncar el fichero actual
– Comprimir el log antiguo
– Pasar al siguiente fichero si la rotación falla
– No rotar si está en blanco
Puedes consultar el contenido del fichero de configuración aquí
Con esto solucionamos los posibles problemas de espacio si el log crece demasiado, de modo que ahora no tenemos que preocuparnos por el tamaño del mismo.
¡Listo! Nuestro servicio de DNS dinámico, arrancando en cada inicio y sin problemas de espacio, está funcionando.
Deja una respuesta