Au premier abord, ipchains et iptables semblent assez similaires. Les deux méthodes de filtrage de paquets font appel à des chaînes de règles actives à l'intérieur du noyau Linux pour décider du traitement des paquets qui répondent à certaines règles. Cependant, la commande iptables représente une manière plus flexible de filtrer les paquets en donnant à l'administrateur un degré de contrôle plus élevé, sans pour autant ajouter un degré plus élevé de complexité.
Ainsi, les utilisateurs à l'aise avec la commande ipchains devront tenir compte des différences importantes qui existent entre les commandes ipchains et iptables, avant d'essayer de se servir d'iptables :
Sous iptables, chaque paquet filtré est traité en utilisant les règles d'une seule chaîne, plutôt que celles de chaînes multiples. Par exemple, un paquet identifié comme FORWARD pénétrant dans un système à l'aide de ipchains devrait passer à travers les chaînes INPUT, FORWARD et OUTPUT afin de pouvoir poursuivre sa progression vers sa destination. Toutefois, iptables envoie les paquets uniquement à la chaîne INPUT s'ils sont destinés au système local et les envoie seulement à la chaîne OUTPUT, s'ils ont été créés par le système local. Pour cette raison, il est très important de bien placer la règle destinée au contrôle d'un paquet spécifique dans la règle qui effectue le traitement proprement dit du paquet.
La cible DENY a été remplacée par la cible DROP. Dans ipchains, les paquets qui répondaient aux critères d'une règle présente dans une chaîne pouvaient être dirigés vers la cible DENY. Cette cible doit être remplacée par une cible DROP iptables.
Lorsque des options sont placées dans une règle, l'ordre est important. Avec ipchains, l'ordre des options s'appliquant aux règles n'est pas important. La commande iptables elle, utilise une syntaxe plus stricte. Ainsi, dans les commandes iptables le protocole spécifique (ICMP, TCP ou UDP) doit être précisé avant les ports d'origine ou de destination.
Lorsque le type d'interface réseau à utiliser dans une règle est précisé, seules des interfaces entrantes (option -i) peuvent être employées avec les chaînes INPUT ou FORWARD et des interfaces sortantes (option -o) avec les chaînes FORWARD ou OUTPUT. Ceci est nécessaire d'une part parce que les chaînes OUTPUT ne sont plus utilisées par les interfaces entrantes et d'autre part, parce que les chaînes INPUT ne sont pas vues par les paquets traverant des interfaces sortantes.
Les informations fournies ci-dessus ne constituent en aucun cas une liste complète des changements apportés car iptables est en fait un filtre réseau qui a entièrement été réécrit. Pour obtenir des informations plus spécifiques, reportez-vous au document Linux Packet Filtering HOWTO référencé dans la Section 18.7 (HOWTO Filtrage de paquets réseau sous Linux).
Précédent | Sommaire | Suivant |
iptables | Niveau supérieur | Options utilisées avec les commandes iptables |