Ir al contenido
  1. Publicaciones/

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

··230 palabras·2 mins
Tabla de contenido

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 #