- Modifié
Bonjour;
Sur les conseils de @ex-rat,J'ai fait un petit tuto pour éviter l'auto-ban par portsentry ou fail2ban sur le dédié dans le cas d'une ip dynamique au domicile:
Se rendre sur https://www.noip.com/sign-up et remplir le formulaire :

Validez le choix free qui permettra ensuite de créer encore deux autres hostnames (largement suffisant..)...confirmez la vérification par retour de mail...
Au domicile sous Windows :
Se rendre à la page :
https://www.noip.com/download?page=win
Télécharger et installer l'application en laissant coché :
Au premier lancement, renseigner le mail et le mot de passe, cocher le(s) hostname(s) à mettre à jour : en général tous puis validez.c'est tout...
Il se chargera ensuite en tant que service et effectuera les maj toutes les 5 mn.
Au domicile sous linux (pc, raspberry pi, nas, etc..si c'est sur une machine en route 24/24 c'est mieux) :
Et y coller ceci :
- /etc/portsentry/portsentry.ignore.static à la ligne choisie + haut
- /etc/hosts.allow à la ligne choisie + haut
- /etc/fail2ban/jail.local ligne commençant par : "ignoreip = 127.0.0.1/8 xxx.xxx.xxx.xxx" , si d'autres ip les insérer avant l'ip 127.0.0.1/8
Puis saisir pour lancer le script toutes les 5 minutes via cron :
Par contre si noip est sur une carte type raspberry pi, et que celle ci est allumée 24/24; dans la config de noip ( +haut optionnel ), vous pouvez demander à noip de lancer un script sur la raspberry pi qui via ssh lancera noipupdate sur le dédié au moment du changement d'ip, et ça permet de s'affranchir de la tache cron qui peut avoir une latence de 5 mn dans l'update de l'ip.
Mais comme noip est lancé par nobody sur la raspberry pi, il ne faut pas oublier de rajouter dans /etc/sudoers la ligne :
Si vous avez des commentaires, des questions des suggestions...etc.. : http://mondedie.fr/d/7044
A+++
Sur les conseils de @ex-rat,J'ai fait un petit tuto pour éviter l'auto-ban par portsentry ou fail2ban sur le dédié dans le cas d'une ip dynamique au domicile:
Se rendre sur https://www.noip.com/sign-up et remplir le formulaire :

Validez le choix free qui permettra ensuite de créer encore deux autres hostnames (largement suffisant..)...confirmez la vérification par retour de mail...
Au domicile sous Windows :
Se rendre à la page :
https://www.noip.com/download?page=win
Télécharger et installer l'application en laissant coché :

Au premier lancement, renseigner le mail et le mot de passe, cocher le(s) hostname(s) à mettre à jour : en général tous puis validez.c'est tout...
Il se chargera ensuite en tant que service et effectuera les maj toutes les 5 mn.
Au domicile sous linux (pc, raspberry pi, nas, etc..si c'est sur une machine en route 24/24 c'est mieux) :
cd /tmp
wget https://www.noip.com/client/linux/noip-duc-linux.tar.gz
tar -xzf noip-duc-linux.tar.gz
cd noip*
make
make install
Configuration de noip saisir :noip2 -C
Auto configuration for Linux client of no-ip.com.
Please enter the login/email string for no-ip.com xxxx@laposte.net
Please enter the password for user 'xxxx@laposte.net' ********
3 hosts are registered to this account.
Do you wish to have them all updated?[N] (y/N) y
Please enter an update interval:[30] 5
Do you wish to run something at successful update?[N] (y/N) y #optionnel
Please enter the script/program name /usr/local/bin/noipupdate #optionnel
New configuration file '/usr/local/etc/no-ip2.conf' created.
Pour le démarrage avec sysvinit :nano /etc/init.d/noip2
Et y coller ceci:
#!/bin/bash
### BEGIN INIT INFO
# Provides: noip2
# Required-Start: networking
# Required-Stop: networking
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts instance of noip2
# Description: No-IP DUC (DNS Update Client) start stop service script
### END INIT INFO
NAME="noip2"
PATH=/usr/local/bin
DAEMON=$PATH/$NAME
PID=$(/bin/pidof -s $DAEMON)
do_start()
{
echo "Starting $NAME."
echo
if [ $PID ]; then
echo " WARNING: $NAME is already running."
echo
PID=
else
$($DAEMON)
fi
}
do_stop()
{
echo "Stopping $NAME."
echo
if [ $PID ]; then
kill $PID
PID=
else
echo " WARNING: $NAME is not running."
echo
fi
}
do_status()
{
if [ $PID ]; then
echo "$NAME is running as $PID"
else
echo "$NAME is not running"
echo
fi
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
restart)
echo "Restarting $NAME."
do_stop
do_start
;;
status)
do_status
;;
*)
echo " Usage: $NAME (start|stop|restart|status)"
echo
exit 1
;;
esac
exit 0
Puis saisir:update-rc.d noip2 defaults
/etc/init.d/noip2 start
Ou avec systemd :nano /etc/systemd/system/noip2.service
Et y coller ceci :
[Unit]
Description=noip2
Requires=network.target local-fs.target
[Service]
Type=forking
ExecStart=/usr/local/bin/noip2
ExecStop=/usr/bin/killall /usr/local/bin/noip2
Restart=always
RestartSec=30
[Install]
WantedBy=multi-user.target
Puis saisir :systemctl enable noip2.service
systemctl start noip2.service
Sur le dédié saisir:nano /usr/local/bin/noipupdate
Et y coller ceci :
#!/bin/bash
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
xx=$(host xxx.ddns.net | awk '{print $4}') #récupère mon ip externe du domicile
vv=`sed -n 25p /etc/portsentry/portsentry.ignore.static` # récupère l'ip mise en whitelist de portsentry, modifier le N° de ligne en
#fonction du contenu de ce fichier
if [ "$xx" = "" ];then exit;fi #au cas ou le serveur ne soit pas joignable
sed -in "/$xx/d" /etc/hosts.deny #supprime mon ip externe d'un bannissement éventuel
if [ "$vv" != "$xx" ];then #si changement d'ip
sed -i "15d;14aALL: $xx" /etc/hosts.allow #remplace l'ancienne ip par la nouvelle, modifier N° de ligne en fonction du contenu
#actuel du fichier
sed -i -e "s/\/8.*/\/8 $xx/g" /etc/fail2ban/jail.local #idem pour fail2ban ligne : ignoreip = 127.0.0.1/8 xxx.yyy.zzz.hhh
sed -i "25d;24a$xx" /etc/portsentry/portsentry.ignore.static #idem pour portsentry, et modifier N° ligne
service fail2ban restart && service portsentry restart
fi
Manuellement avec nano par exemple en vérifiant bien ou modifiant si nécessaire les N° de lignes pour ne pas écraser des données déjà présentes, mettre en place votre ip externe domicile actuelle dans:- /etc/portsentry/portsentry.ignore.static à la ligne choisie + haut
- /etc/hosts.allow à la ligne choisie + haut
- /etc/fail2ban/jail.local ligne commençant par : "ignoreip = 127.0.0.1/8 xxx.xxx.xxx.xxx" , si d'autres ip les insérer avant l'ip 127.0.0.1/8
Puis saisir pour lancer le script toutes les 5 minutes via cron :
chmod +x /usr/local/bin/noipupdate
echo '0,5,10,15,20,25,30,35,40,45,50,55 * * * 0-6 /usr/local/bin/noipupdate' >>/var/spool/cron/crontabs/root
Alternative à cron :Par contre si noip est sur une carte type raspberry pi, et que celle ci est allumée 24/24; dans la config de noip ( +haut optionnel ), vous pouvez demander à noip de lancer un script sur la raspberry pi qui via ssh lancera noipupdate sur le dédié au moment du changement d'ip, et ça permet de s'affranchir de la tache cron qui peut avoir une latence de 5 mn dans l'update de l'ip.
Mais comme noip est lancé par nobody sur la raspberry pi, il ne faut pas oublier de rajouter dans /etc/sudoers la ligne :
nobody ALL=NOPASSWD: /usr/local/bin/script-de-lancement
Vous pouvez aussi lire le fichier "LISEZMOI.ENPREMIER" contenu dans le dossier décompressé d'installation de noip pour voir les commandes intéressantes :-noip2 -C configure un client
-noip2 Lance un client
-noip2 -S affiche des infos sur les clients lances
-....
Si vous avez des commentaires, des questions des suggestions...etc.. : http://mondedie.fr/d/7044
A+++