Re: automatiser le chargement de ip_conntrack_ftp et ip_nat_ftp
HEHO a écrit :
Au chargement du système [...] la plus simple consiste à ajouter le nom
des modules ip_conntrack_ftp et ip_nat_ftp dans /etc/modules.
bah je me disais que c'était pas terrible (cf ma réponse à frédéric)
Tu parles des dépendances ? Sur toutes les Debian que j'ai utilisées,
soit depuis potato, le chargement d'un module par /etc/modules, modprobe
ou iptables a toujours entraîné le chargement automatique des éventuels
modules dont il dépend. Seule exception que j'ai constatée : ip_nat_ftp
ne chargeait pas ip_conntrack_ftp avec le noyau 2.4.18. En fait il
n'était pas marqué comme dépendance bien que nécessaire. Ça a été
corrigé sur les noyaux récents.
[...]
je parlais du script de :
http://people.via.ecp.fr/~alexis/formation-linux/firewall.html
que j'ai mis comme spécifié dans la page dans :
/etc/network/if-pre-up.d/iptables-start
c'est pas bien le modprobe à cet endroit?
Non, je ne trouve pas. En fait je trouve carrément que c'est
/etc/network/if-pre-up.d/ qui n'est pas un endroit approprié pour un tel
script. En effet ce script est exécuté lors de l'activation de chaque
interface gérée par ifupdown, soit une fois pour lo, une fois pour eth0,
une fois pour eth1... C'est complètement inutile car ce script ne tient
pas compte de l'interface pour l'activation de laquelle il est exécuté.
A chaque fois il efface et recrée aveuglément toutes les règles.
D'autre part, il y a un détail que je trouve peu cohérent dans cette
page : l'activation du routage (ip_forward) lors du démarrage de
l'interface de loopback dans /etc/network/interfaces, alors qu'il y a
/etc/network/options ou /etc/syslog.conf pour ça.
Ma vision d'un script iptables est la suivante. Elle se décompose en
deux approches différentes au choix.
1) Un unique script monolithique exécuté une fois pour toutes au
démarrage du système grâce à un lien symbolique placé dans /etc/rcS.d/,
qui :
- initialise les politiques par défaut,
- efface les règles et chaînes préexistantes,
- crée toutes les règles pour toutes les interfaces d'un coup,
- modifie les paramètres réseau du noyau dans /proc/sys/net/ si
nécessaire et s'il n'était pas possible de le faire dans
/etc/sysctl.conf (par exemple parce qu'un paramètre n'existait pas
encore à ce stade, le module correspondant n'étant pas encore chargé).
Cette méthode est adaptée à une configuration réseau statique où les
interfaces sont permanentes et leurs configurations IP sont fixes, par
exemple seulement des interfaces ethernet statiques, pas de DHCP ni PPP.
Des modules Netfilter peuvent éventellement être chargés par ce script,
ou par /etc/modules.conf.
2) Un ensemble modulaire comprenant plusieurs scripts.
2a) Un script d'initialisation exécuté une fois pour toutes au démarrage
du système, comme dans l'approche précédente, mais qui n'effectue que
des tâches indépendantes des interfaces, c'est-à-dire :
- initialise les politiques par défaut,
- efface les règles et chaînes préexistantes,
- crée toutes les règles ne dépendant pas des interfaces,
- modifie les paramètres réseau du noyau dans /proc/sys/net/
indépendants des interfaces.
2b) Un ou plusieurs scripts spécifiques exécutés quand une interface est
activée ou désactivée, tenant compte du nom de l'interface, de ses
caractéristiques, dont le rôle est de créer et supprimer les règles
spécifiques à chaque interface. Ceux liés aux interfaces gérées par
ifupdown peuvent être placés dans /etc/network/if-pre-up.d/ et ses
voisins, ou appelés par des options de type pre-up placées dans
/etc/network/interfaces. Pour les interfaces PPP, ces scripts sont
typiquement placés dans /etc/ppp/ip-up.d/ et /etc/ppp/ip-down.d/.
Cette méthode est adaptée à une configuration réseau dynamique où les
interfaces peuvent être créées et supprimées à la volée (PPP) ou leurs
adresses peuvent être variables (DHCP).
Enfin, on peut combiner les deux approches : les règles des interfaces
permanentes (ethernet) sont créés par le script de démarrage, et les
règles des interfaces dynamiques (PPP) sont créées et effacées par des
scripts spécifiques. C'est la méthode que j'ai appliquée pour ma
passerelle qui a une deux interfaces ethernet statiques, une interface
PPP dynamique pour la connexion internet et un nombre variable
d'interfaces PPP pour le serveur PPTP.
Reply to: