Voici donc un petit script destiné à vérifier l'IP périodiquement, et qui va lancer le script de constitution du firewall s'il détecte un changement. Il est à lancer dans l'un des scripts de démarrage, à la place du script de chargement du firewall (car celui-ci sera lancé à la première itération).
J'attends vos remarques pour éventuellement le simplifier ;-)
check_ip.sh
#!/bin/sh
LC_ALL=C
interface=eth0
ifconfig=/sbin/ifconfig
script=/etc/init.d/rc.firewall-2.4.sh
while true ; do
new_ip=`$ifconfig $interface | awk -F ':' '$1 ~ /inet addr/ { FS = " "; $0 = $2 ; print $1 }'`
if [ "$new_ip" != "$old_ip" ] ; then
sh $script
old_ip=$new_ip
fi
sleep 60
done