DNS dinámico desde Raspberry Pi mediante Cloudflare

Cuando montamos un servidor en casa existe el inconveniente de que nuestra dirección IP pública cambia después de unos días, por lo que necesitamos actualizar el registro DNS asociado a nuestro servidor para que siga siendo accesible desde el exterior.

Requisitos

  • Un servidor con GNU/Linux (utilizaré una Raspberry Pi como ejemplo)
  • Una conexión a internet que permita abrir puertos para conexiones entrantes (de preferencia fibra óptica)
  • Un nombre de dominio administrado mediante Cloudflare
  • Una clave de acceso para poder modificar los registros DNS de nuestro dominio (consultar este enlace para más información)

Instalamos los paquetes necesarios

sudo apt install git python3-venv

Descargamos el código fuente del script requerido

git clone https://github.com/timothymiller/cloudflare-ddns.git
sudo mv cloudflare-ddns /opt
cd /opt/cloudflare-ddns
cp config-example.json config.json
cp requirements.txt ~

Modifcamos el archivo de configuración

nano config.json

Lo llenamos con los datos correspondientes y lo probamos

cd ~
/opt/cloudflare-ddns/start-sync.sh

Si funciona agregaremos una tarea programada para actualizar los registros DNS cada 15 minutos editando el archivo crontab de la siguiente forma

crontab -e

Agregaremos la siguiente línea

*/15 * * * * /opt/cloudflare-ddns/start-sync.sh

Referencias

https://github.com/timothymiller/cloudflare-ddns

Dejar un comentario