Synology: Recibe una aviso cuando cambia tu IP pública

2021-04-05

Si estas utilizando un servicio de DDNS puede que estós interesado en saber si la dirección IP pública de tu router ha cambiado. si es así he realizado un pequeño script para que cuando ello ocurra te mande un correo electrónico avisando de que la IP ha cambiado, además, tambión mandará una notificación a DSM.

Script

Crea un fichero, por ejemplo, en /volume1/homes/usuario/scripts/synology/check-ip.sh o la ruta que más te guste y añade el siguiente código, cambia los datos relativos a las direcciones de correo electrónico de las notificaciones y el usuario de DSM que recibirá la vinificación:

#!/bin/bash

cd '/volume1/homes/usuario/scripts/'

if ! [ -f 'lastIP.txt' ]
then
    curl -silent -L http://checkip.amazonaws.com|tail -n 1 > lastIP.txt
else
    lastIP=$(cat lastIP.txt)
    currentIP=$(curl -silent -L http://checkip.amazonaws.com|tail -n 1)
    if [[ ! $currentIP == $(cat lastIP.txt) ]]
    then
	(
	  echo 'To: [email protected]'>email.txt
	  echo 'From: [email protected]'>>email.txt
	  echo 'Subject: Synology ds920+: Nueva IP'>>email.txt
	  echo 'MIME-Version: 1.0'>>email.txt
	  echo 'Content-Type: text/html; charset="utf-8"'>>email.txt
	  echo 'Content-Disposition: inline'>>email.txt
	  echo ''>>email.txt
	  echo "Nueva IP: $currentIP">>email.txt
	  echo "Vieja IP: $lastIP">>email.txt
	) | sendmail -i -t < email.txt
      echo $currentIP > lastIP.txt
      synodsmnotify usuario_dsm "IP ha cambiado" "La nueva IP es $currentIP"
    fi
fi

El script compara la dirección actual con la ultima dirección IP guardada en lastIP.txt

Por ultimo añade el script al programador de tareas y ejecútalo cada X minutos

Referencias

Ingrese la dirección de su instancia