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