D'après la page man de interfaces, tu peux placer tes scripts dans les répertoires "/etc/network/if-<option>.d/" et ils sont exécutés automatiquement, pas besoin de les répéter dans le fichier interfaces (ces deux lignes sont d'ailleurs commentées dans ton message). Ces derniers, étant exécutés sans options, ont accès à une flopée de variables d'environnement définies dans cette même page de man.
As-tu cherché dans ton dmesg ou syslog une trace d'erreur d'iptables ? tu pourrais aussi utiliser "logger" dans tes scripts afin de tracer dans syslog des informations utiles à propos du déroulement de ton script...
Ceci dit, pour ma culture personnelle, si la solution te revient, ça m'intéresse aussi
]>Je vois ces modules présents, je ne sais pas s'il y en a d'autres :
23:06 root@Achille /home/bluenote# lsmod | grep iptable
iptable_nat 9872 0
nf_nat 23192 1 iptable_nat
nf_conntrack_ipv4 19352 3 iptable_nat,nf_nat
nf_conntrack 71440 4 xt_state,iptable_nat,nf_nat,nf_conntrack_ipv4
iptable_filter 7424 0
ip_tables 21520 2 iptable_nat,iptable_filter
x_tables 25224 5 ipt_REJECT,xt_tcpudp,xt_state,iptable_nat,ip_tables
Mais comme je disais, avec mon script placé dans /etc/init.d/, les règles iptables se chargent sans problème. Ceci, avant que ma carte réseau soit initialisée, en créant un lien dans /etc/rcS.d/. Si les modules étaient absents, j'aurai une erreur dès le 1er appel à iptables, non ?
J'ai déjà eu ce problème, il y a longtemps et j'avais trouvé ce qui clochait, mais là, impossible de me rappeler !
Merci pour l'aide
]>Dis moi, as-tu vérifié que les modules noyo nécessaire à tes script d'iptables sont bien chargés au boot ?
La commande lsmod te le dira, mais si ce n'est pas le cas, alors ajoute ces modules dans ton /etc/modules.
Voilà, raconte nous si c'était bien ça !
++
]>Je suis sous Debian Lenny (stable).
Mon noyau est le 2.6.26-1-amd64
Mon architecture est em64t.
J'ai le problème suivant : malgré le package iptables installé (version 1.4.2-6) et un script avec mes règles de filtrage présent dans /etc/network/if-pre-up.d/ je n'ai aucun chargement du pare-feu au démarrage de mon système. En revanche, mon script est exécuté sans erreur lors d'un redémarrage du réseau avec :
#invoke-rc.d networking restart
Je n'ai aucune ligne concernant netfilter au démarrage et aucune erreur non plus.
J'ai tenté de placer deux instructions pre-up et post-down dans /etc/network/interfaces mais c'est sans effet :
allow-hotplug eth1
auto eth1
iface eth1 inet static
# pre-up /etc/network/if-pre-up.d/iptables-start || true
# post-down /etc/network/if-post-down.d/iptables-stop || true
address ...
netmask ...
network ...
broadcast ...
gateway ...
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers ...
Evidement, je pourrai faire exécuter mon script depuis /etc/init.d mais j'aimerai comprendre ce qui empêche le chargement du pare-feu par la voie normale.
Merci pour l'aide
]>