@ricardo :
Lors de l’entrée dans un runlevel N les scripts dans /etc/rcN.d/ sont exécutés dans l’ordre croissant de leurs numéros, tous ceux qui commencent par K avant tous ceux qui commencent par S, par exemple :
K40truc
K60machin
S10bidule
S30chose
Les scripts K sont exécutés avec le paramètre stop et les scripts S avec le paramètre start, sauf dans les runlevels 0 (arrêt) et 6 (redémarrage) ou tous sont exécutés avec le paramètre stop. D’après le contenu de ces deux runlevels, je suppose que c’est pour distinguer entre l’arrêt des services qui ont été démarrés dans un runlevel utilisateur (K, en premier) d’une part et l’arrêt des services démarrés dans le runlevel S et les actions propres à l’arrêt ou au redémarrage (S, en dernier).
Note : ce fonctionnement est probablement spécifique à Debian.
Comme le réseau est démarré par /etc/rcS.d/S40networking [1], il faut que le script de démarrage du pare-feu soit lancé avant, donc avec un numéro inférieur à 40. Pas trop inférieur (j’ai pris 39 pour ma part) afin d’être à peu près sûr que tout ce qui peut être nécessaire au réseau soit déjà démarré. Je n’ai pas mis d’arrêt car mon script n’en a pas besoin, il fonctionne différemment du tien.
Pourquoi 45 et 31 dans l’exemple ? Je ne sais pas, ce n’est peut-être qu’un exemple arbitraire. Normalement plus un service est démarré tôt, plus il doit être arrêté tard de sorte que les services qui en dépendent soient arrêtés avant. Traditionnellement on prend numéro d’arrêt = 100 - numéro de démarrage.
Le réseau est arrêté par /etc/rc[06].d/S35networking (voir particularité des runlevels 0 et 6 ci-dessus). Par conséquent pour arrêter le pare-feu plus tard, il faut “paradoxalement” créer dans ces deux runlevels un lien S (start) et non K (stop), avec un numéro plus grand que 35. Par exemple :
[1] Mais il peut arriver que udev, hotplug, et les gestionnaires de réseau graphiques configurent des interfaces avant ou après. De même la nouvelle gestion des scripts d’init par dépendance à partir de squeeze risque de changer les choses.