Lorsqu'on a installé IPFW sur une machine, il faut parfois pas mal de temps pour réaliser de bonnes règles viables et efficaces. On teste, on modifie... mais l'on n'enregistre pas toujours à chaque fois les règles dans le fichier de configuration... et au redémarrage, tout est à refaire.
Pour permettre une sauvegarde automatique des règles du pare-feu en cas d'arrêt de la machine, il suffit d'écrire un petit shell qui va s'en occuper.
Ce script réalise une sauvegarde des règles actives de IPFW dans le répertoire /tmp, en suffixant avec la date.
Il est possible de compléter le script (avec précautions) pour que celui-ci remplace automatiquement le fichier de configuration existant. Cependant, en cas d'échec de remplacement, votre machine ne disposerait de plus aucune règle et, en cas de pare-feu fermé, vous ne pourriez plus y accéder autrement qu'en mode local.
Je me contente donc uniquement d'une sauvegarde des règles en mémoire au moment de l'arrêt afin de ne pas les perdre et, le cas échéant, intégrer les modifications dans les règles d'origine.
Pour mettre en place le script de manière automatique, nul besoin d'un cron. Il suffit d'appeler le script à la fin du rc.shutdown, script automatiquement appelé lors de l'arrêt de la machine.
A la fin du script /etc/rc.shutdown, vous disposez d'une section ou vous pouvez ajouter tous les scripts qui vous conviennent.
# Insert other shutdown procedures here
/shells/ipfw.save.sh