Voici un script qui m’a demandé pas mal de recherches afin de régler mon problème d’ip dynamique sous Yunohost, et oui des FAI qui propose des ip dynamiques ça existe encore…
Avec Portsentry & Fail2Ban souvent mon ip est bannie et c’est super lourd surtout à distance alors afin d’éviter d’être ban soit en réseau local ou à distance j’utilise désormais ce script !
On doit pouvoir adapter ce script pour les ipv6
On commence d’abord par être connecter à son serveur en root et en ligne de commande
On créer un fichier dans le répertoire “root”
touch ip.txt
On créer ensuite un fichier par exemple ipdynamique.sh dans /usr/local/bin donc
touch /usr/local/bin/ipdynamique.sh
Un bon nano et on colle le texte ci dessous dans le fichier
nano /usr/local/bin/ipdynamique.sh
###########################################################################
#! /bin/bash
#Version 2 By AntiCitoyen
#recuperation de l’ancienne ip
adrip=$(grep [1-9] < /root/ip.txt)#recuperation de la nouvelle ip
adrip2=$(dig +short myip.opendns.com @resolver1.opendns.com)test de l’ip
if [ $adrip != $adrip2 ]
then
echo $adrip2 | mail -s “nouvelle ip” moncourriel@domaine.fr
fi#mise a jour adresse dans le fichier
echo $adrip2 > /root/ip.txt
#mise a jour des fichiers portsentry et hosts.allow
echo -e “127.0.0.1/32\n192.168.0.15\n192.168.0.254\n$adrip2” > /etc/portsentry/portsentry.ignore.static
echo -e “ALL : 127.0.0.1\nALL : 192.168.0.0/255.255.255.0 localhost\nALL : 192.168.0.15\nALL : >192.168.0.254\nALL : $adrip2” > /etc/hosts.allow
#On efface l’ip dans le hosts.deny
sed -in “/$adrip2/d” /etc/hosts.deny
#on redemarre les services portsentry & fail2ban
systemctl restart portsentry
systemctl restart fail2ban
###########################################################################
Il ne reste plus qu’à rendre ipdynamique.sh exécutable
chmod +x /usr/local/bin/ipdynamique.sh
Afin d’avoir l’esprit tranquille le crontab va l’exécuter automatiquement régulièrement à adapter selon vos besoins
crontab -e
00 0,4,8,12,16,20 * * * sh /usr/local/bin/ipdynamique.sh
Et voilà en espérant que cela vous soit utile
Merci par avance pour vos commentaires et ou corrections