Skip to content

Utilisation des dossiers « if-pre-up » et « if-post-down »

  • by
Les scripts placés dans le dossier « /etc/network/if-post-down.d » seront lancés automatiquement après chaque arrêt d'une interface réseau.

Les scripts placés dans le dossier « /etc/network/if-pre-up.d » seront lancés automatiquement après chaque démarrage d'une interface réseau.

Mais pour que les scripts fonctionnement, il faut respecter quelques règles :
-  Il doivent être exécutables (chmod +x)
-  Ils doivent Indiquer l'interpréteur de commande sur la première ligne (ex : # !/bin/sh)
-  Le nom ne doit contenir que des caractères, chiffres, '_' et '-' (Pas de points)

Quand le script est exécuté, il peut utiliser plusieurs variables ( :
-  IFACE : Nom de l'interface physique concernée (eth0, lo,..)
-  LOGICAL : Nom de l'interface logique
-  ADDRFAM, METHOD, MODE, PHASE et VERBOSITY
Le script peut donc utiliser ces variables pour s'adapter en conséquence.

ATTENTION : En plaçant le script d'arrêt du firewall dans le dossier « if-post-down », celui-ci sera exécuté quelque soit l'interface réseau arrêté. Par exemple si le firewall est destiné à filtrer l'interface eth0, il sera désactivé lorsque l'interface lo sera arrêtée, ce qui peut entraîner une grosse faille de sécurité.

Pour remédier à ce problème, il faut ajouter au début du script un test pour qu'il s'exécute uniquement pour l'interface concernée:

if [ $IFACE != " eth2" ]; then
exit
fi

== Configuration du fichier /etc/network/interfaces ==

Une autre méthode pour arrêter et démarrer un firewall est d'utiliser les directives « pre-up » et « post-down » dans le fichier «  /etc/network/interfaces ». Exemple :
auto eth0
iface eth0 inet dhcp
 pre-up /etc/firewall-start
 post-down /etc/firewall-stop