Iptables: No chain/target/match by that name

Bonsoir,

vous comprenez tous, mon probleme est dû aux iptables. Je suis passe du noyau 2.6.18 au 2.6.21 et mon script ne marche plus.

J’ai deja resolu quelques problemes en rapport à ip_conntrack, mais j’ai toujours l’erreur du titre. Voici le script :

[code]#!/bin/sh

************************************************

** Script de configuration d’iptables **

** Créé par Ced le 08/05/2007 **

************************************************

#******************

Déclaration **

#******************

inet=wlan0
ilan=eth0

#******************

Modules **

#******************

Pour 2.6.18

    # modprobe ip_conntrack_ftp

Pour 2.6.21

    modprobe nf_conntrack_ipv4

modprobe ip_tables

Pour 2.6.18

    #modprobe ip_nat_ftp
    #modprobe ip_nat_irc

Pour 2.6.21

    # ???

modprobe iptable_filter
modprobe iptable_mangle
modprobe iptable_nat

#******************

Mise a zero **

#******************

Supprime les chaînes de la table filter (INPUT, FORWARD et OUTPUT)

    iptables -F

Supprime les chaînes personnelles de la table filter

    iptables -X

Supprime les chaînes de la table nat (PREROUTING, OUTPUT et POSTROUTING)

    iptables -t nat -F

Supprime les chaînes personnelles de la table nat

    iptables -t nat -X

Supprime les chaînes de la table mangle # -> PREROUTING, OUTPUT, INPUT, FORWARD et POSTROUTING

    iptables -t mangle -F

Supprime les chaînes personnelles de la table mangle

    iptables -t mangle -X

#******************

Regles/Défault **

#******************

Définition du comportement par défaut pour les chaines de la table filter # -> On bloque les entrées et on autorise tout le reste

    iptables -P INPUT   DROP
    iptables -P OUTPUT  ACCEPT
    iptables -P FORWARD ACCEPT

#******************

Regles pour l0 **

#******************

Autoriser les paquets pour lo

    iptables -A INPUT  -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT
    #iptables -A FORWARD -i lo -j ACCEPT
    #iptables -A FORWARD -o lo -j ACCEPT

#******************

Accept le lan **

#******************

    iptables -A INPUT -s 192.169.0.0/24 -j ACCEPT
    iptables -A FORWARD -s 192.169.0.0/24 -j ACCEPT
    iptables -A FORWARD -d 192.169.0.0/24 -j ACCEPT

#******************

Accept HTTP **

#******************

    iptables -A INPUT -i wlan0 -p tcp --sport www -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#******************

Accept SSH **

#******************

#On accepte en entrée uniquement si une connexion est déjà établie
#iptables -A INPUT -i wlan0 -p tcp --sport ssh -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#On accepte en entrée et sortie dans tous les cas
iptables -A INPUT -p tcp --dport ssh -i wlan0 -j ACCEPT
iptables -A OUTPUT -p tcp --sport ssh -o wlan0 -j ACCEPT

#******************

Accept SMTP **

#******************

    #iptables -A OUTPUT -o ppp0 -p tcp --sport 1024: -d smtp.wanadoo.fr --dport 25 -m state --state ! INVALID -j ACCEPT
    #iptables -A INPUT -i ppp0 -p tcp -s smtp.wanadoo.fr --sport 25 --dport 1024: -m state --state RELATED,ESTABLISHED -j ACCEPT

#******************

Accept DNS **

#******************

    iptables -A OUTPUT -o ppp0 -p udp --sport 1024: --dport 53 -m state --state ! INVALID -j ACCEPT
    iptables -A INPUT -i ppp0 -p udp --sport 53 --dport 1024: -m state --state RELATED,ESTABLISHED -j ACCEPT

#******************

Accept FTP **

#******************

iptables -A INPUT -i wlan0 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o wlan0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i wlan0 -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o wlan0 -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i wlan0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o wlan0 -p tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT

#********************

Accept emule **

#********************

iptables -A INPUT -i wlan0 -p tcp --sport 4662 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o wlan0 -p tcp --dport 4662 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i wlan0 -p udp --sport 4672 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o wlan0 -p udp --dport 4672 -m state --state NEW,ESTABLISHED -j ACCEPT

#******************

AntiScanPort **

#******************

    iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT

#******************

AntiPingDead **

#******************

    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

#******************

Accept ICMP **

#******************

#Autoriser le ping sans restriction
#iptables -A INPUT -p icmp -j ACCEPT

#Autoriser le ping, mais dans la limite de 2 pings par seconde (. limit 2/s).
iptables -A OUTPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p icmp -m limit --limit 2/s -j ACCEPT

#Pour SMTP & Passerelle DNS
iptables -A INPUT -p icmp -m state --state RELATED -j ACCEPT

#******************

Accept IGMP **

#******************

#Muticast
iptables -A INPUT -p igmp -j ACCEPT

#******************

Deja etablies **

#******************

    iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT

#******************

Refus Machines **

#******************
#iptables -I INPUT -s 12.13.14.15 -j DROP

#Refus acces web sauf pour le root
#iptables -A OUTPUT -o eth0 -p tcp --dport http -j REJECT --reject-with tcp-reset
#iptables -I OUTPUT -o eth0 -p tcp --dport http -m owner --uid-owner root -j ACCEPT

#******************
#Translation addr**
#******************

#Le masquerading permet aux ordinateurs d.un réseau de se connecter à internet en utilisant l.adresse publique du routeur Internet.
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

#Nous pourrions restreindre le masquerading à une plage d.IPs du réseau local :
#iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE

#La même règle écrite différemment pour le masque de sous-réseau :
#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

#Ou même à une liste d.IP bien définie :
#iptables -t nat -A POSTROUTING -s 192.168.0.10 -o ppp0 -j MASQUERADE
#iptables -t nat -A POSTROUTING -s 192.168.0.11 -o ppp0 -j MASQUERADE

#******************

Transfert port **

#******************
#Refus acces web sauf pour le root
#iptables -A OUTPUT -o eth0 -p tcp --dport http -j REJECT --reject-with tcp-reset
#iptables -I OUTPUT -o eth0 -p tcp --dport http -m owner --uid-owner root -j ACCEPT

#******************
#Translation addr**
#******************

#Le masquerading permet aux ordinateurs d.un réseau de se connecter à internet en utilisant l.adresse publique du routeur Internet.
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

#Nous pourrions restreindre le masquerading à une plage d.IPs du réseau local :
#iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE

#La même règle écrite différemment pour le masque de sous-réseau :
#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

#Ou même à une liste d.IP bien définie :
#iptables -t nat -A POSTROUTING -s 192.168.0.10 -o ppp0 -j MASQUERADE
#iptables -t nat -A POSTROUTING -s 192.168.0.11 -o ppp0 -j MASQUERADE

#******************

Transfert port **

#******************

#Dans certain cas, il peut-être intéressant de rediriger un port particulier sur un autre port. Par exemple, la commande suivante permet de rediriger les $
#iptables -t nat -I PREROUTING -p tcp --dport 1000 -j REDIRECT --to-ports 200

[/code]

Bien entendu, c’est piqué un peu de partout :smiley:.
Je pense que c’est un module a charger (qui remplacerait ip_nat_ftp et ip_nat_irc) , mais lequel ???

Merci
cc

ah oui, dsl de poster encore, mais juste une petite question. Pourquoi n’ai je plus de loopback quand je fais un ifconfig ??? Pourtant mon etc/network/interface est bon …

Tu devrais au moins le voir avec un :

Pour le noyau 2.6.21 et iptables, vérifie la configuration de ton noyau pour les options netfilter.

Autres remarques :
[ul]

  • Les modules iptables* sont chargés automatiquement.
  • Tu peux ajouter iptables -Z(compteurs de paquets) et ses amis pour la section “remise à zéro des tables”.
  • Tu ne préfèrerais pas mettre iptables -F FORWARD DROP plutôt que ACCEPT pour la politique par défaut.
  • Je ne pense pas que la chaine FORWARD soit utile pour l’interface de loopback
  • Dans la section Lan, tu mentionnes 192.168.0.0/24. Ce serait mieux de matcher les paquets suivant l’interface car une adresse ip n’appartient pas à une interface. Tu peux pinger deux adresses ip différentes sur une même interface.
  • Pour les requetes HTTP, l’état RELATED existe ?
  • Pour le SSH, afin d’eviter les attaques, il pourrait être intéressant de (changer de port si tu veux) mettre en place quelques limitations sur le nombre de connexions autorisées, voir aussi du Portknocking ou SPA.
  • Le type icmp ne correspond pas uniquement aux pings :p!
  • Pour la section “liaisons déjà établies”, il y a de la redondance avec les règles précédentes. Tu pourrais autoriser toutes les connexions ESTABLISHED, RELATED pour les chaines INPUT, OUTPUT et FORWARD. Cela serait plus simple. Les états ESTABLISHED et RELATED n’existent qu’à la suite de la prise en compte d’un état NEW. Pour quoi donc les traités ? Bien qu’un traitement du protocole icmp peut-être envisageable à ce niveau par mesure de sécurité.[/ul]

Merci de ta réponse thialme,

J’ai beaucoup de choses a reprndre si je comprend bien. C’est pas facile toutes ces regles, mais je vais prendre toutes tes remarques en comptes.

A++

ced

C’est à dire qu’il y a sûrement une option netfilter coché par défaut sur le 2.6.18 qui ne l’est plus pour le 2.6.21.
Tu n’oublies pas de nous dire que tu as compilé un des noyaux toi-même n’est-ce-pas ?

C’est dommage que d’autre part tu ne nous mettes pas la chain qui n’est plus matchée, c’est laquelle ?


lol, oui, bon, j'avoue tout. Confessez moi svp, c'est moi même qui est compilé, mais je vous jure, c t la 1ere fois ....

en fait, plus serieuseument, j'ai testé toutes les regles l'une apres l'autre en ligne de commande, apres avoir poste hier.

Il apparait que ce sont tous les "-m", les "--state" et le "-j MASQUERADE" qui buggue.

Merci de cette confession. lol 

Ced

lol, oui, bon, j’avoue tout. Confessez moi svp, c’est moi même qui est compilé, mais je vous jure, c t la 1ere fois …

en fait, plus serieuseument, j’ai testé toutes les regles l’une apres l’autre en ligne de commande, apres avoir poste hier.

Il apparait que ce sont tous les “-m”, les “–state” et le “-j MASQUERADE” qui buggue.

Merci de cette confession. lol

Ced