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

2 minutos de lectura

Introducción

Si no 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: destinatario0@correp.com'>email.txt
	  echo 'From: tu.correo@dominio.com'>>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

Espero que te haya gustado, pasa un buen día… :penguin:

Referencias