Notification automatique sur modification d'IP avec dynDNS
... / Notification automatique ...
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
question

Notification automatique sur modification d'IP avec dynDNS

Par
SteveO
Créé le 2022-08-14 17:27:34 (edited on 2024-09-04 11:46:22) dans Noms de domaine-old

Bonjour,
Je souhaiterai savoir s'il est possible et comment faire pour envoyer une **notification** ou autre (webhook, mail, api...) lorsque l'IP associée au sous domaine "xxxxx.domaine.com" gérer par dynDNS change.
Ceci, afin d'éviter l'utilisation d'une tache exécutée toutes les 5 minutes sur différents serveurs pour aller vérifier si l'IP a été modifié.
Merci.


3 réponses ( Latest reply on 2022-08-17 10:30:55 Par
SteveO
)


lorsque l'IP associée au sous domaine "xxxxx.domaine.com" gérer par dynDNS change.


Bonjour,

Je verrais plutôt ça dans le rôle de votre client dynDNS , c'est lui qui détecte le changement d'IP.

d'une tache exécutée toutes les 5 minutes sur différents serveurs pour aller vérifier si l'IP a été modifié.


Est-ce nécessaire si vous utilisez le hostname plutôt qu'une IP ?

le "Client dynDNS", enfin le programme qui prévient le "dynDNS d'OVH" que l'IP change, ce trouve
dans un Router Synology. Mais, il y a peu de d'options sur ce service appelé "DDNS" par Synology...

----------

Sinon, l'IP est utilisé a des fin de sécurisation de serveurs, un script est chargé de modifier la configuration du FireWall pour autoriser uniquement l'IP a ce connecter en ssh (mais, cela fonctionne très bien)
En fait, ce que je cherche à faire, c'est de prévenir le plus tôt possible des serveurs dès que l'IP public du routeur change (via un BOX 4G)...

Bonjour,

votre script fonctionne comment ?
Vous ne pouvez pas interroger le DNS pour vérifier si le serial à changer, et si oui récupérer l'IP ?

Cordialement, janus57

Bonjour Janus,

C'est bien ce que fait mon script que j'ai mis ci-dessous.
Il fonctionne très bien, mais mon problème c'est que (pour le moment), il est exécuté via le "crontab" toutes les 5 minutes,

`*/5 * * * * bash /home/steve/dyndns-ufw.sh >> /home/steve/dyndns-ufw.log 2>&1`

et j'aimerai qui soit exécuté seulement et uniquement dès que l'IP est modifié (une à deux fois par jours) sans être obligé de passer par le crontab, qui exécute 288 fois le script chaque jour.
Et en plus, j'ai potentiellement une fenêtre de 5 minutes dans laquelle je peux plus me reconnecter sur le serveur...

Voilà mon script: dyndns-ufw.sh

#!/usr/bin/env bash

HOSTNAME=home4g.xxxxxxx.com

if [ $EUID -ne 0 ]; then
echo "This script must be run as root"
exit 1
fi
new_ip=$(host $HOSTNAME | head -n1 | cut -f4 -d ' ')
old_ip=$(/usr/sbin/ufw status | grep $HOSTNAME | head -n1 | tr -s ' ' | cut -f3 -d ' ')
if [ "$new_ip" = "$old_ip" ] ; then
echo .
else
if [ -n "$old_ip" ] ; then
old_ip_num=$(/usr/sbin/ufw status numbered | grep $HOSTNAME | head -n1 | grep -oP '^\[ *\K\d+(?=\])')
echo "supprime l'ancienne IP : $old_ip (NUM:$old_ip_num)"
echo "y" | /usr/sbin/ufw delete $old_ip_num
fi
/usr/sbin/ufw allow proto tcp to any port 22 from $new_ip comment $HOSTNAME
echo [$(date '+%Y-%m-%d %H:%M')] UFW have been updated, nouvelle IP : $new_ip
fi

Bonjour,

Y a pas vraiment de meilleur solution, car vous voulez notifier comment votre serveur que votre IP à changé ?

Car le seule capable de le dire immédiatement c'est votre client DDNS mais une fois son IP changé il ne peut plus se connecter a votre serveur.

Cordialement, janus57

En fait, il me faut juste une notification comme quoi IP à changé,
par exemple, par l'envoie de mail ou la génération d'un "webhook"...
Après, il est assez facile de lancer l’exécution du script via N8N par exemple ou autre...

Je pensais qu'il y avais peut-être une solution avec l’API de OVH, car en fait "OVH" sait aussi quasi instantanément que IP a changé car il est averti directement par le Router Synology pour changer IP du sous-domaine lié par le service DDNS (DynDNS)...

J'ai fait une demande à Synology, ils m'ont répondu que c'est une très bonne idée à rajouter dans le SRM. ils l'ont demandé en tant évolution à développer... mais cela risque de prendre pas mal de temps...