Cuando tenemos un dominio registrado en OVH y el equipo al que apunta tiene una dirección IP dinámica, podemos usar la función DynHost de OVH para mantener el DNS actualizado sin tener que acceder al panel de control cada vez que cambia la IP.
Desde el manager de OVH, en la sección Zone DNS del dominio, creamos un registro DynHost
para el subdominio que queramos (por ejemplo, www.example.com). Durante la creación
asignamos un identificador y una contraseña propios (distintos de los del manager). El
identificador sigue el formato dominio.tld-SUFIJO (por ejemplo, example.com-abc123xyz).
Una vez configurado, actualizamos la IP desde la consola con wget:
wget -O- "https://DYNHOST_ID:DYNHOST_PASSWORD@www.ovh.com/nic/update?system=dyndns&hostname=www.example.com&myip=NUEVA_IP"
Para automatizarlo podemos crear un script que compruebe si la IP ha cambiado y solo actualice
en caso necesario, evitando llamadas innecesarias a la API de OVH. Para obtener la IP pública
del equipo usamos wget tal como se describe en
Dirección IP pública desde la consola:
#!/bin/bash
HOST="www.example.com"
USER="example.com-abc123xyz"
PASS="tu_contraseña"
FILE="/tmp/dynhost_ip"
MYIP=$(wget -qO- http://icanhazip.com)
if [ -f "$FILE" ]; then
IP=$(cat "$FILE")
else
IP=""
fi
if [ "$IP" != "$MYIP" ]; then
wget -qO- "https://$USER:$PASS@www.ovh.com/nic/update?system=dyndns&hostname=$HOST&myip=$MYIP"
echo "$MYIP" > "$FILE"
fi
Guardamos el script (por ejemplo en /usr/local/bin/dynhost.sh), le damos permisos de ejecución
con chmod +x dynhost.sh y lo añadimos al cron del
usuario con crontab -e:
*/5 * * * * /usr/local/bin/dynhost.sh
Esto ejecuta el script cada 5 minutos. Si la IP no ha cambiado, el script termina sin hacer nada.