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

2021-04-05

Índice

  1. Script
  2. Referencias

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