iptables-extensions(8)          iptables 1.8.10         iptables-extensions(8)

NOM
       iptables-extensions -- Liste des extensions dans la distribution
       standard d'iptables

SYNOPSIS
       ip6tables [-m nom [options_module...]] [-j nom_action
       [options_action...]

       iptables [-m nom [options_module...]] [-j nom_action
       [options_action...]

EXTENSIONS DE COMPARAISON
       iptables peut utiliser des modules de comparaison etendue de paquets a
       l'aide des options -m ou --match suivies du nom du module de
       comparaison ; differentes options de ligne de commande complementaires
       sont alors disponibles en fonction du module specifique. Vous pouvez
       specifier plusieurs modules de comparaison etendue sur une seule ligne,
       et vous pouvez utiliser l'options -h ou --help, une fois le module
       specifie, afin d'obtenir une aide specifique a ce dernier. Les modules
       de comparaison etendue sont pris en compte dans l'ordre selon lequel
       ils sont specifies dans la regle.

       Si l'option -p ou --protocol a ete specifiee et si et seulement si une
       option inconnue est rencontree, iptables va essayer de charger un
       module de comparaison de meme nom que celui du protocole pour tenter de
       rendre l'option disponible.

   addrtype
       Ce module verifie la correspondance des paquets en fonction de leur
       type d'adresse. Les types d'adresse sont utilises dans la pile reseau
       du noyau et classent les adresses en plusieurs groupes. La definition
       exacte de ces groupes depend du protocole specifique de couche trois.

       Les types d'adresse valables sont les suivants :

       UNSPEC une adresse non specifiee (par exemple 0.0.0.0)

       UNICAST
              une adresse unicast (connexion point-a-point)

       LOCAL  une adresse locale

       BROADCAST
              une adresse de broadcast (diffusion generale)

       ANYCAST
              un paquet anycast (une adresse pour plusieurs destinataires)

       MULTICAST
              une adresse multicast (diffusion vers un groupe de
              destinataires)

       BLACKHOLE
              une adresse blackhole (trou noir)

       UNREACHABLE
              une adresse inaccessible

       PROHIBIT
              une adresse interdite

       THROW  FIXME

       NAT    FIXME

       XRESOLVE

       [!] --src-type type
              Verifier si l'adresse source est du type donne

       [!] --dst-type type
              Verifier si l'adresse de destination est du type donne

       --limit-iface-in
              La verification du type d'adresse peut etre limitee a
              l'interface par laquelle entre le paquet. Cette option n'est
              valable que dans les chaines PREROUTING, INPUT et FORWARD. Elle
              ne peut pas etre specifiee en combinaison avec l'option
              --limit-iface-out.

       --limit-iface-out
              La verification du type d'adresse peut etre limitee a
              l'interface par laquelle sort le paquet. Cette option n'est
              valable que dans les chaines POSTROUTING, OUTPUT et FORWARD.
              Elle ne peut pas etre specifiee en combinaison avec l'option
              --limit-iface-in.

   ah (specifique a IPv6)
       Ce module verifie la correspondance des parametres dans l'en-tete
       Authentication des paquets IPsec.

       [!] --ahspi spi[:spi]
              Verifier la correspondance des SPI (Security Parameters Index
              -- Index des Parametres de Securite).

       [!] --ahlen taille
              Taille totale de cet en-tete en octets.

       --ahres
              Correspondance si le champ reserve est rempli avec des zeros.

   ah (specifique a IPv4)
       Ce module verifie la correspondance des SPI (Security Parameters Index
       -- Index des Parametres de Securite) dans l'en-tete Authentication des
       paquets IPsec.

       [!] --ahspi spi[:spi]

   bpf
       Verifier les correspondances en utilisant un filtre de socket Linux.
       Prend comme parametre le chemin d'un objet eBPF (Extended Berkeley
       Packet Filter) ou d'un programme cBPF (Classic Berkeley Packet Filter)
       au format decimal.

       --object-pinned chemin
              Specifier le chemin vers un objet eBPF epingle.

       Les applications chargent les programmes eBPF dans le noyau a l'aide de
       l'appel systeme bpf() et de la commande BPF_PROG_LOAD, et peuvent les
       epingler (referencer) dans un systeme de fichiers virtuel a l'aide de
       BPF_OBJ_PIN. Pour utiliser un objet epingle dans iptables, montez le
       systeme de fichiers bpf en utilisant

              mount -t bpf bpf ${BPF_MOUNT}

       puis inserez le filtre dans iptables avec son chemin :

              iptables -A OUTPUT -m bpf --object-pinned
              ${BPF_MOUNT}/{PINNED_PATH} -j ACCEPT

       --bytecode code
              Passer le format de bytecode (code intermediaire) BPF tel que
              genere par l'utilitaire nfbpf_compile.

       Le format de code est similaire a la sortie de la commande << tcpdump
       -ddd >> : une ligne qui indique le nombre d'instructions suivie d'une
       ligne pour chaque instruction. Les lignes d'instruction respectent le
       motif << u16 u8 u8 u32 >> en notation decimale. Les champs codent
       l'operation, le decalage de saut si vrai, le decalage de saut si faux
       et le champ multi-usage generique << K >>. Les commentaires ne sont pas
       pris en charge.

       Par exemple, pour ne lire que les paquets correspondant a << ip proto
       6 >>, inserez ce qui suit, sans commentaires, ni blancs a la fin :

              4 # nombre d'instructions
              48 0 0 9 # charger le bytecode ip->proto
              21 0 1 6 # saut egal a IPPROTO_TCP
              6 0 0 1 # renvoyer reussite (different de zero)
              6 0 0 0 # renvoyer echec (zero)

       Vous pouvez transmettre ce filtre a la verification de correspondance
       bpf a l'aide de la commande suivante :

              iptables -A OUTPUT -m bpf --bytecode '4,48 0 0 9,21 0 1 6,6 0 0
              1,6 0 0 0' -j ACCEPT

       A la place, vous pouvez invoquer l'utilitaire nfbpf_compile.

              iptables -A OUTPUT -m bpf --bytecode "`nfbpf_compile RAW 'ip
              proto 6'`" -j ACCEPT

       Ou alors, utilisez tcpdump -ddd. Dans ce cas, generez un BPF ciblant un
       dispositif avec le meme type de liaison de donnees que la
       correspondance de xtables. iptables transmet les paquets de la couche
       reseau a la couche superieure, sans couche MAC. Selectionner un
       dispositif ayant pour type de liaison de donnees RAW, comme un
       dispositif << tun >> :

              ip tuntap add tun0 mode tun
              ip link set tun0 up
              tcpdump -ddd -i tun0 ip proto 6

       Utilisez la commande << tcpdump -L -i $dev >> pour obtenir la liste des
       types de liaison de donnees connus pour un dispositif donne.

       Pour en apprendre davantage a propos de BPF, lisez la page de manuel
       bpf(4) de FreeBSD.

   cgroup
       [!] --path chemin
              Verifier la correspondance de l'appartenance a cgroup2.

              Chaque socket est associe au cgroup version 2 des processus de
              creation. Les paquets qui correspondent viennent de (ou vont
              vers) tous les sockets de la sous-hierarchie du chemin specifie.
              Le chemin doit etre relatif a la racine de la hierarchie
              cgroup2.

       [!] --cgroup identifiant_classe
              Verifier la correspondance a l'identifiant de classe net_cls de
              cgroup.

              L'identifiant de classe est le marqueur defini a l'aide du
              controleur net_cls de cgroup. Cette option ne peut pas etre
              utilisee en combinaison avec l'option --path.

       Exemple :

              iptables -A OUTPUT -p tcp --sport 80 -m cgroup ! --path
              service/serveur_HTTP -j DROP

              iptables -A OUTPUT -p tcp --sport 80 -m cgroup ! --cgroup 1 -j
              DROP

       IMPORTANT : lorsqu'il est utilise dans la chaine INPUT, le verificateur
       de correspondance cgroup n'est pas actuellement d'une grande utilite,
       car il ne verifie que la correspondance des paquets qui sont traites
       pour les sockets locaux a l'aide d'un demultiplexage de socket precoce.
       C'est pourquoi son utilisation dans la chaine INPUT n'est pas
       recommandee, sauf si ses implications sont bien comprises.

       Disponible a partir de Linux 3.14.

   cluster
       Ce module permet de deployer des grappes de passerelles et de dorsaux a
       partage de charge sans avoir besoin de repartiteurs de charge.

       Cette recherche de correspondance necessite que tous les noeuds voient
       les memes paquets. La correspondance << cluster >> pourra alors decider
       si ce noeud doit gerer un paquet en fonction des options suivantes :

       --cluster-total-nodes nombre
              Definir le nombre total de noeuds dans la grappe.

       [!] --cluster-local-node numero
              Definir l'identifiant du numero de noeud local.

       [!] --cluster-local-nodemask masque
              Definir le masque de l'identifiant du numero de noeud local.
              Vous pouvez utiliser cette option a la place de
              --cluster-local-node.

       --cluster-hash-seed valeur
              Definir la valeur de germe du hachage de Jenkins.

       Exemple :

              iptables -A PREROUTING -t mangle -i eth1 -m cluster
              --cluster-total-nodes 2 --cluster-local-node 1
              --cluster-hash-seed 0xdeadbeef -j MARK --set-mark 0xffff

              iptables -A PREROUTING -t mangle -i eth2 -m cluster
              --cluster-total-nodes 2 --cluster-local-node 1
              --cluster-hash-seed 0xdeadbeef -j MARK --set-mark 0xffff

              iptables -A PREROUTING -t mangle -i eth1 -m mark ! --mark 0xffff
              -j DROP

              iptables -A PREROUTING -t mangle -i eth2 -m mark ! --mark 0xffff
              -j DROP

       Et les commandes suivantes pour faire que tous les noeuds voient les
       memes paquets :

              ip maddr add 01:00:5e:00:01:01 dev eth1

              ip maddr add 01:00:5e:00:01:02 dev eth2

              arptables -A OUTPUT -o eth1 --h-length 6 -j mangle
              --mangle-mac-s 01:00:5e:00:01:01

              arptables -A INPUT -i eth1 --h-length 6 --destination-mac
              01:00:5e:00:01:01 -j mangle --mangle-mac-d 00:zz:yy:xx:5a:27

              arptables -A OUTPUT -o eth2 --h-length 6 -j mangle
              --mangle-mac-s 01:00:5e:00:01:02

              arptables -A INPUT -i eth2 --h-length 6 --destination-mac
              01:00:5e:00:01:02 -j mangle --mangle-mac-d 00:zz:yy:xx:5a:27

       NOTE : les commandes arptables ci-avant utilisent la syntaxe courante.
       Si vous utilisez arptables-jf fournie avec certaines versions de
       RedHat, CentOS et Fedora, vous ferez face a des erreurs de syntaxe.
       Dans ce cas, vous devrez adapter ces exemples a la syntaxe
       d'arptables-jf pour qu'ils puissent fonctionner.

       Dans le cas des connexions TCP, la fonctionnalite pickup doit etre
       desactivee pour eviter de marquer les paquets TCP ACK entrant dans le
       sens de la reponse comme valables.

              echo 0 > /proc/sys/net/netfilter/nf_conntrack_tcp_loose

   comment
       Cette extension permet d'ajouter des commentaires (jusqu'a 256
       caracteres) a toute regle.

       --comment commentaire

       Exemple :
              iptables -A INPUT -i eth1 -m comment --comment "mon reseau
              local"

   connbytes
       Verifier la correspondance en fonction du nombre d'octets ou de paquets
       qu'une connexion (ou un des deux flux constituant la connexion) a deja
       transmis, ou en fonction du nombre moyen d'octets par paquet.

       Les compteurs sont sur 64 bits et ne risquent donc pas de deborder ;)

       La principale utilisation consiste a detecter les telechargements de
       longue duree et a les marquer pour etre programmes avec une priorite
       inferieure dans le controle de trafic.

       Le nombre d'octets transferes par connexion peut etre visualise a
       l'aide de << conntrack -L >> et accede a l'aide de ctnetlink.

       Notez que pour les connexions qui ne possedent pas d'informations de
       comptage, la verification de correspondance renverra toujours faux. Le
       drapeau de sysctl << net.netfilter.nf_conntrack_acct >> definit si les
       nouvelles connexions feront l'objet d'un comptage d'octets et de
       paquets. Les flux des connexions existantes ne gagneront/perdront pas
       une/leur structure de comptage apres une bascule du drapeau de sysctl.

       [!] --connbytes mini[:maxi]
              Verifier la correspondance des paquets issus d'une connexion
              dont le nombre de paquets ou d'octets transmis, ou la taille
              moyenne des paquets est superieure a mini et inferieure a maxi
              octets. Si maxi est omis, seule la superiorite de la valeur a
              mini est verifiee. << ! >> permet de verifier la correspondance
              des paquets qui ne correspondent pas a l'intervalle specifie.

       --connbytes-dir {original|reply|both}
              Paquets a prendre en compte

       --connbytes-mode {packets|bytes|avgpkt}
              Cette option permet de definir s'il faut verifier le nombre de
              paquets ou d'octets transmis, ou la taille moyenne (en octets)
              de tous les paquets deja recus. Notez que lorsque << both << est
              utilise en combinaison avec << avgpkt >>, et si les donnees
              transitent principalement dans une seule direction (comme par
              exemple avec HTTP), la taille moyenne des paquets sera a peu
              pres egale a la moitie de celle des paquets de donnees
              proprement dits.

       Exemple :
              iptables .. -m connbytes --connbytes 10000:100000
              --connbytes-dir both --connbytes-mode bytes ...

   connlabel
       Ce module fait correspondre ou ajoute des connlabels (etiquettes de
       connexion) a une connexion. Les connlabels sont similaires aux
       connmarks, sauf que les etiquettes sont basees sur des bits ;
       c'est-a-dire que toutes les etiquettes peuvent etre attachees a un flux
       en meme temps. Ce module prend actuellement en charge jusqu'a 128
       etiquettes uniques.

       [!] --label nom
              Correspondance si l'etiquette nom a ete definie pour la
              connexion. On peut utiliser un nombre a la place d'un nom
              (lequel sera converti en nombre, voir EXEMPLE ci-apres).
              Utiliser un nombre outrepasse toujours le fichier
              connlabel.conf.

       --set  Definir une etiquette pour une connexion si elle ne l'est pas
              deja. Noter que definir une etiquette peut echouer, car le noyau
              alloue la zone de stockage de l'etiquette conntrack a la
              creation de la connexion, et il ne reserve que la quantite de
              memoire requise par le jeu de regles existant a la creation de
              la connexion. Dans ce cas, la correspondance echouera (ou
              reussira en cas de negation de l'option --label).

       Cette verification de correspondance requiert libnetfilter_conntrack
       version 1.0.4 ou ulterieure. La traduction d'etiquette est effectuee a
       l'aide du fichier de configuration /etc/xtables/connlabel.conf.

       Exemple :

              0    eth0-in
              1    eth0-out
              2    ppp-in
              3    ppp-out
              4    bulk-traffic
              5    interactive

   connlimit
       Ce module vous permet de limiter le nombre de connexions simultanees a
       un serveur par adresse IP client (ou bloc d'adresses client).

       --connlimit-upto n
              Correspondance si le nombre de connexions existantes est
              inferieur ou egal a n.

       --connlimit-above n
              Correspondance si le nombre de connexions existantes est
              strictement superieur a n.

       --connlimit-mask taille_prefixe
              Regrouper les hotes en fonction de la taille du prefixe. Pour
              IPv4, cette taille doit etre un nombre entre 0 et 32 inclus (ou
              entre 0 et 128 pour IPv6). Par defaut, c'est la taille maximale
              de prefixe pour le protocole applicable qui sera utilisee.

       --connlimit-saddr
              Appliquer la limite au groupe source. Il s'agit du comportement
              par defaut si --connlimit-daddr n'est pas specifiee.

       --connlimit-daddr
              Appliquer la limite au groupe destination.

       Exemples :

       # permettre 2 connexions telnet par hote client :
              iptables -A INPUT -p tcp --syn --dport 23 -m connlimit
              --connlimit-above 2 -j REJECT

       # vous pouvez aussi utiliser l'option inverse :
              iptables -A INPUT -p tcp --syn --dport 23 -m connlimit
              --connlimit-upto 2 -j ACCEPT

       # limiter le nombre de requetes HTTP simultanees a 16 par reseau source
       de classe C (masque reseau de 24 bits) :
              iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above
              16 --connlimit-mask 24 -j REJECT

       # limiter le nombre de requetes HTTP simultanees a 16 pour le reseau de
       liaison locale (link local) :
              (ipv6)  ip6tables -p tcp --syn --dport 80 -s fe80::/64 -m
              connlimit --connlimit-above 16 --connlimit-mask 64 -j REJECT

       # limiter le nombre de connexions vers un hote particulier :
              ip6tables -p tcp --syn --dport 49152:65535 -d 2001:db8::1 -m
              connlimit --connlimit-above 100 -j REJECT

   connmark
       Ce module recherche une correspondance du champ << mark >> de netfilter
       associe a une connexion (et qui peut etre defini a l'aide de l'action
       CONNMARK ci-apres).

       [!] --mark valeur[/masque]
              Verifier la correspondance des paquets dans les connexions
              possedant la valeur de << mark >> donnee (si un masque est
              specifie, il est combine a l'aide d'un ET logique avec la valeur
              de << mark >> avant la comparaison).

   conntrack
       Ce module, lorsque combine avec le tracage de connexion, permet
       d'acceder a l'etat du tracage de connexion pour ce paquet ou cette
       connexion.

       [!] --ctstate liste_etats
              liste_etats est une liste, separee par des virgules, des etats
              de connexion a comparer. Les etats possibles sont enumeres
              ci-apres.

       [!] --ctproto l4proto
              Protocol de la couche 4 a comparer (sous forme de numero ou de
              nom).

       [!] --ctorigsrc adresse[/masque]

       [!] --ctorigdst adresse[/masque]

       [!] --ctreplsrc adresse[/masque]

       [!] --ctrepldst adresse[/masque]
              Comparaison avec l'adresse originelle/reponse
              source/destination.

       [!] --ctorigsrcport port[:port]

       [!] --ctorigdstport port[:port]

       [!] --ctreplsrcport port[:port]

       [!] --ctrepldstport port[:port]
              Comparaison avec le port originel/reponse source/destination
              (TCP/UDP/etc.)  ou la cle GRE. La comparaison avec des plages de
              port n'est prise en charge que pour les versions du noyau
              superieures a 2.6.38.

       [!] --ctstatus liste_etats
              statuslist est une liste, separee par des virgules, des etats de
              connexion a comparer. Les etats possibles sont enumeres
              ci-apres.

       [!] --ctexpire duree[:duree]
              Comparaison entre la duree de vie restante en secondes et la
              valeur ou l'intervalle de valeurs (incluses) donne.

       --ctdir {ORIGINAL|REPLY}
              Verifier la correspondance des paquets qui cheminent dans la
              direction specifiee. Si ce drapeau n'est pas specifie, les
              paquets qui cheminent dans les deux directions correspondent.

       Etats pour --ctstate :

       INVALID
              Le paquet n'est associe a aucune connexion connue.

       NEW    Le paquet a initie une nouvelle connexion ou est associe a une
              connexion qui n'a pas vu de paquets dans les deux directions.

       ESTABLISHED
              Le paquet est associe a une connexion qui a vu des paquets dans
              les deux directions.

       RELATED
              Le paquet initie une nouvelle connexion mais est deja associe a
              une connexion existante, telle qu'un transfert de donnees FTP ou
              une erreur ICMP.

       UNTRACKED
              Le paquet n'est pas trace, ce qui se produit si vous indiquez
              explicitement de ne pas le tracer en utilisant
              << -j CT --notrack >> dans la table << raw >>.

       SNAT   Un etat virtuel qui correspond si l'adresse source originelle
              differe de l'adresse destination de reponse.

       DNAT   Un etat virtuel qui correspond si l'adresse destination
              originelle differe de l'adresse source de reponse.

       Etats pour --ctstatus :

       NONE   Aucun des etats ci-apres.

       EXPECTED
              Il s'agit d'une connexion attendue (c'est-a-dire qu'un assistant
              de conntrack l'a etablie).

       SEEN_REPLY
              Conntrack a vu des paquets dans les deux directions.

       ASSURED
              L'entree de conntrack ne doit jamais etre perimee prematurement.

       CONFIRMED
              La connexion est confirmee : le paquet qui en est a l'origine a
              quitte la boite.

   cpu
       [!] --cpu numero
              Verifier le numero de CPU (central processing unit
              -- processeur) qui traite ce paquet. Les CPU sont numerotes de 0
              a nombre_CPU - 1. Peut etre utilise en combinaison avec RPS
              (Remote Packet Steering -- Pilotage de paquets a distance) ou
              les cartes reseau a files d'attente multiples (multiqueue NIC)
              pour repartir le trafic reseau sur differentes files d'attente.

       Exemple :

       iptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 0 -j
       REDIRECT --to-ports 8080

       iptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 1 -j
       REDIRECT --to-ports 8081

       Disponible depuis Linux 2.6.36.

   dccp
       [!] --source-port,--sport port[:port]

       [!] --destination-port,--dport port[:port]

       [!] --dccp-types masque
              Correspondance si le type de paquet DCCP (Datagram Congestion
              Control Protocol -- Protocole de Controle de Congestion des
              Datagrammes) fait partie de masque. masque est une liste de
              types de paquet separes par des virgules. Les types de paquets
              sont : REQUEST, RESPONSE, DATA, ACK, DATAACK, CLOSEREQ, CLOSE,
              RESET, SYNC, SYNCACK et INVALID.

       [!] --dccp-option nombre
              Correspondance si l'option DCCP est definie.

   devgroup
       Verifier la correspondance du groupe de dispositifs de l'interface d'un
       paquet entrant/sortant.

       [!] --src-group nom
              Verifier la correspondance du groupe de dispositifs du
              dispositif entrant.

       [!] --dst-group nom
              Verifier la correspondance du groupe de dispositifs du
              dispositif sortant.

   dscp
       Ce module verifie la correspondance du champ DSCP (Differentiated
       Services Code Point -- champ permettant de differencier les services)
       sur 6 bits a l'interieur du champ TOS (Type Of Service) de l'en-tete
       IP. DSCP a supplante TOS au sein de l'IETF (Internet Engineering Task
       Force).

       [!] --dscp valeur
              Verifier la correspondance avec une valeur decimale ou
              hexadecimale comprise entre 0 et 63.

       [!] --dscp-class classe
              Verifier la correspondance avec la classe DiffServ
              (Differentiated Services -- Services Differencies). Les classes
              valables sont BE, EF, AFxx ou CSx. Elles sont ensuite converties
              vers leurs valeurs numeriques respectives.

   dst (specifique a IPv6)
       Ce module verifie la correspondance des parametres de l'en-tete
       << Destination Options >>.

       [!] --dst-len taille
              Taille totale de cet en-tete en octets.

       --dst-opts type[:taille][,type[:taille]...]
              Type numerique de l'option et taille des donnees de l'option en
              octets.

   ecn
       Ce module permet de verifier la correspondance des bits ECN de
       l'en-tete IPv4/IPv6 et TCP. ECN (Explicit Congestion Notification) est
       le mecanisme de notification explicite de congestion decrit dans la
       RFC 3168.

       [!] --ecn-tcp-cwr
              Correspond si le bit TCP ECN CWR (Congestion Window Received
              -- fenetre de congestion recue) est positionne.

       [!] --ecn-tcp-ece
              Correspond si le bit TCP ECN ECE (ECN Echo -- paquet recu avec
              le bit CE positionne) est positionne.

       [!] --ecn-ip-ect nombre
              Verifie la correspondance d'un point de code IPv4/IPv6 ECT
              (ECN-Capable Transport) particulier. Vous devez specifier un
              nombre entre 0 et 3.

   esp
       Ce module verifie la correspondance des SPI (Security Parameters Index
       -- index des parametres de securite) de l'en-tete ESP (Encapsulation
       Security Payload -- encapsulation securisee de charge utile) des
       paquets IPsec.

       [!] --espspi spi[:spi]

   eui64 (Extended Unique Identifier -- identifiant unique etendu) ;
       specifique a IPv6.
       Ce module verifie la correspondance de la partie EUI-64 d'une adresse
       IPv6 autoconfiguree sans conservation d'etat (stateless). Il compare
       cette partie EUI-64 derivee de l'adresse MAC source dans la trame
       Ethernet avec les 64 bits les moins significatifs de l'adresse IPv6
       source. Le bit << Universal/Local >> n'est cependant pas compare. Ce
       module ne verifie pas la correspondance d'autres trames de la couche
       liaison et n'est valable que dans les chaines PREROUTING, INPUT et
       FORWARD.

   frag (specifique a IPv6)
       Ce module verifie la correspondance des parametres de l'en-tete
       Fragment.

       [!] --fragid id[:id]
              Verifie la correspondance de l'identifiant ou de la plage
              d'identifiant donne.

       [!] --fraglen taille
              Cette option ne peut pas etre utilisee avec un noyau de
              version 2.6.10 ou ulterieure. La taille de l'en-tete Fragment
              est statique et cette option n'est donc pas pertinente.

       --fragres
              Correspond si les champs reserves sont remplis de zeros.

       --fragfirst
              Verifier s'il s'agit du premier fragment.

       --fragmore
              Correspond s'il y a encore des fragments.

       --fraglast
              Correspond s'il s'agit du dernier fragment.

   hashlimit
       hashlimit utilise des compartiments de hachage (hash buckets) pour
       exprimer une correspondance de limitation de debit (comme la
       correspondance de limit) pour un groupe de connexions utilisant une
       seule regle iptables. Le groupement peut s'effectuer par groupe d'hotes
       (adresse source et/ou destination) et/ou par port. Ce module permet
       d'exprimer << N paquets par unite de temps et par groupe >> ou
       << N octets par seconde >> (voir les exemples ci-apres).

       Les options de limite de hachage (--hashlimit-upto, --hashlimit-above)
       et --hashlimit-name sont obligatoires.

       --hashlimit-upto quantite[/second|/minute|/hour|/day]
              Correspond si le debit est inferieur ou egal a quantite/unite de
              temps. Ce debit est specifie sous la forme d'un nombre avec un
              suffixe d'unite de temps facultatif (la valeur par defaut est
              3/hour), ou sous la forme quantiteb/second (nombre d'octets par
              seconde).

       --hashlimit-above quantite[/second|/minute|/hour|/day]
              Correspond si le debit est superieur a quantite/unite de temps.

       --hashlimit-burst quantite
              Nombre initial maximal de paquets a comparer : ce nombre est
              incremente de 1 tant que la limite specifiee ci-avant n'est pas
              atteinte, et ce jusqu'a ce que cette limite soit atteinte ; la
              valeur par defaut est 5. Lorsqu'une verification de
              correspondance de debit en octets est demandee, cette option
              specifie la quantite d'octets dont le debit donne peut exceder.
              Cette option doit etre utilisee avec precaution -- si l'entree
              arrive a expiration, cette valeur est aussi reinitialisee.

       --hashlimit-mode {srcip|srcport|dstip|dstport},...
              Une liste, separee par des virgules, d'objets a prendre en
              consideration. Si aucune option --hashlimit-mode n'est
              specifiee, hashlimit agit comme limit, au prix de devoir faire
              le menage du hachage.

       --hashlimit-srcmask prefixe
              Lorsque << --hashlimit-mode srcip >> est specifie, toutes les
              adresses source rencontrees seront regroupees en fonction de la
              taille du prefixe donne, et le sous-reseau ainsi cree sera
              soumis a hashlimit. prefixe doit etre entre 0 et 32 inclus.
              Notez que << --hashlimit-srcmask 0 >> produit le meme effet que
              ne pas specifier srcip pour --hashlimit-mode, mais consomme plus
              de ressources.

       --hashlimit-dstmask prefixe
              Comme --hashlimit-srcmask, mais pour les adresses destination.

       --hashlimit-name nom_limite
              Le nom pour l'entree /proc/net/ipt_hashlimit/nom_limite

       --hashlimit-htable-size compartiments
              Le nombre de compartiments dans la table de hachages.

       --hashlimit-htable-max entrees
              Le nombre maximal d'entrees dans le hachage.

       --hashlimit-htable-expire msec
              Delai d'expiration des entrees du hachage en millisecondes.

       --hashlimit-htable-gcinterval msec
              Nombre de millisecondes entre chaque ramassage des dechets.

       --hashlimit-rate-match
              Categoriser le flux au lieu de limiter son debit. L'action de
              cette option consiste a evaluer a vrai ou faux le fait que le
              debit est au-dessus ou en-dessous d'une certaine valeur.

       --hashlimit-rate-interval sec
              Combinee avec --hashlimit-rate-match, cette option permet de
              specifier le pas selon lequel le debit doit etre echantillonne.

       Exemples :

       correspondance au niveau de l'hote source
              << 1000 paquets par seconde pour chaque hote de
              192.168.0.0/16 >> => -s 192.168.0.0/16 --hashlimit-mode srcip
              --hashlimit-upto 1000/sec

       correspondance au niveau du port
              << 100 paquets par seconde pour chaque service de 192.168.1.1 >>
              => -s 192.168.1.1 --hashlimit-mode srcport --hashlimit-upto
              100/sec

       correspondance au niveau du sous-reseau
              << 10000 paquets par minute pour chaque sous-reseau /28 (groupes
              de 8 adresses) de 10.0.0.0/8 >> => -s 10.0.0.0/8
              --hashlimit-mask 28 --hashlimit-upto 10000/min

       correspondance au niveau du debit en octets par seconde
              << debits excedant 512 ko/s >> => --hashlimit-mode
              srcip,dstip,srcport,dstport --hashlimit-above 512kb/s

       correspondance au niveau du debit en octets par seconde
              << debits excedant512 ko/s, mais permission d'aller jusqu'a 1 Mo
              sans recherche de correspondance >> => --hashlimit-mode dstip
              --hashlimit-above 512kb/s --hashlimit-burst 1mb

   hbh (specifique a IPv6)
       Ce module verifie la correspondance des parametres de l'en-tete des
       options Hop-by-Hop.

       [!] --hbh-len taille
              Taille totale de cet en-tete en octets.

       --hbh-opts type[:taille][,type[:taille]...]
              Type numerique de l'option et taille des donnees de l'option en
              octets.

   helper
       Ce module verifie la correspondance des paquets en relation avec un
       assistant de conntrack (conntrack-helper) specifique.

       [!] --helper chaine
              Correspond aux paquets en relation avec l'assistant de conntrack
              specifie.

              chaine peut contenir << ftp >> pour les paquets en relation avec
              une session ftp sur le port par defaut. Pour un port different,
              ajoutez << -num_port >> a la chaine (par exemple,
              << ftp-2121 >>).

              Les memes regles s'appliquent pour les autres assistants de
              conntrack.

   hl (specifique a IPv6)
       Ce module verifie la correspondance du champ Hop Limit de l'en-tete
       IPv6.

       [!] --hl-eq valeur
              Correspond si le champ Hop Limit contient la valeur specifiee.

       --hl-lt valeur
              Correspond si la valeur contenue dans le champ Hop Limit est
              inferieure a valeur.

       --hl-gt valeur
              Correspond si la valeur contenue dans le champ Hop Limit est
              superieure a valeur.

   icmp (specifique a IPv4)
       Cette extension peut etre utilisee si << --protocol icmp >> est
       specifie. Elle fournit l'option suivante :

       [!] --icmp-type {type[/code]|nom_type}
              Cette option permet de specifier le type ICMP sous la forme d'un
              type ICMP numerique, d'une paire type/code ou d'un des noms de
              type ICMP nom_type affiches par la commande
               iptables -p icmp -h

   icmp6 (specifique a IPv6)
       Cette extension peut etre utilisee si << --protocol ipv6-icmp >> ou
       << --protocol icmpv6 >> est specifie. Elle fournit l'option suivante :

       [!] --icmpv6-type type[/code]|nom_type
              Cette option permet de specifier le type ICMPv6 sous la forme
              d'un type ICMPv6 numerique, d'une paire type/code ou d'un des
              noms de type ICMPv6 nom_type affiches par la commande
               ip6tables -p ipv6-icmp -h

   iprange
       Ce module verifie la correspondance de la plage d'adresses IP
       arbitraire donne.

       [!] --src-range de[-a]
              Correspond si l'adresse IP source appartient a la plage
              specifie.

       [!] --dst-range de[-a]
              Correspond si l'adresse IP destination appartient a la plage
              specifie.

   ipv6header (specifique a IPv6)
       Ce module verifie la correspondance des en-tetes d'extension IPv6 et/ou
       l'en-tete de la couche superieure.

       --soft Correspond si le paquet contient au moins un des en-tetes
              specifies a l'aide de l'option --header.

       [!] --header en-tete[,en-tete...]
              Correspond aux paquets qui contiennent EXACTEMENT tous les
              en-tetes specifies. Les en-tetes encapsules avec l'en-tete ESP
              ne sont pas concernes. Les valeurs possibles d'en-tete sont :

       hop|hop-by-hop
              En-tete des options Hop-by-Hop

       dst    En-tete des options de destination

       route  En-tete de routage

       frag   En-tete de fragment

       auth   En-tete d'authentification

       esp    En-tete d'encapsulation securisee de la charge utile

       none   Pas d'en-tete Next, ce qui correspond a la valeur 59 dans le
              << champ Next Header >> de l'en-tete IPv6 ou de tout en-tete
              d'extension IPv6.

       prot   Correspondance a n'importe quel en-tete de protocole de la
              couche superieure. Un nom de protocole issu du fichier
              /etc/protocols ou une valeur numerique sont aussi autorises. Le
              nombre 255 est equivalent a prot.

   ipvs
       Ce module verifie la correspondance des proprietes de la connexion
       IPVS.

       [!] --ipvs
              le paquet appartient a une connexion IPVS (IP Virtual Server
              -- serveur IP virtuel)

       Toutes les options suivantes impliquent --ipvs (meme si elles sont
       precedees d'une negation)

       [!] --vproto protocole
              protocole VIP (Virtual IP) a comparer ; par numero ou par nom,
              par exemple << tcp >>

       [!] --vaddr adresse[/masque]
              adresse VIP a comparer

       [!] --vport port
              port VIP a comparer ; par numero ou par nom, par exemple
              << http >>

       --vdir {ORIGINAL|REPLY}
              sens de deplacement du paquet

       [!] --vmethod {GATE|IPIP|MASQ}
              methode de redirection IPVS utilisee

       [!] --vportctl port
              port VIP de la connexion de controle a comparer, par exemple 21
              pour FTP

   length
       Ce module permet de comparer la taille de la charge utile de la
       couche 3 d'un paquet (par exemple, un paquet de niveau 4) avec une
       valeur ou un intervalle de valeurs donnes.

       [!] --length taille[:taille]

   limit
       Ce module verifie la correspondance d'un debit limite en utilisant un
       filtre de type << seau a jetons >> (token bucket). Une regle utilisant
       cette extension correspondra jusqu'a ce que cette limite soit atteinte.
       Ce module peut etre utilise en combinaison avec l'action LOG pour
       fournir une journalisation limitee, par exemple.

       xt_limit ne prend pas en charge la negation ; pour appliquer cette
       derniere, vous devrez utiliser << -m hashlimit ! --hashlimit debit >>
       tout en omettant --hashlimit-mode.

       --limit debit[/second|/minute|/hour|/day]
              Debit moyen maximal de comparaison : specifie sous forme de
              nombre avec un suffixe facultatif << /second >>, << /minute >>,
              << /hour >> ou << /day >>, la valeur par defaut etant 3/hour.

       --limit-burst nombre
              Nombre initial maximal de paquets a comparer : ce nombre est
              incremente de 1 tant que la limite specifiee ci-avant n'est pas
              atteinte, et ce jusqu'a ce que cette limite soit atteinte ; la
              valeur par defaut est 5.

   mac
       [!] --mac-source adresse
              Cette option permet de verifier la correspondance de l'adresse
              MAC source (Media Access Control). Cette derniere doit etre de
              la forme XX:XX:XX:XX:XX:XX. Notez que cette option n'est
              pertinente que pour les paquets provenant d'un dispositif
              Ethernet et entrant dans les chaines PREROUTING, FORWARD ou
              INPUT.

   mark
       Ce module verifie la correspondance du champ de netfilter << mark >>
       associe a un paquet (et qui peut etre defini a l'aide de l'action MARK
       ci-apres).

       [!] --mark valeur[/masque]
              Correspond aux paquets possedant la valeur de << mark >> non
              signee donnee (si un masque est specifie, il est combine a
              l'aide d'un ET logique avec le masque avant la comparaison).

   mh (specifique a IPv6)
       Cette extension est chargee si << --protocol ipv6-mh >> ou
       << --protocol mh >> est specifiee. Elle fournit l'option suivante :

       [!] --mh-type type[:type]
              Cette option permet de specifier le type d'en-tete de mobilite
              (Mobility Header -- MH) sous forme d'un type de MH numerique ou
              d'un des noms de type de MH indiques par la commande
               ip6tables -p mh -h

   multiport
       Ce module verifie la correspondance d'un ensemble de ports source ou
       destination. Il est possible de specifier jusqu'a15 ports. Une plage de
       ports (port:port) compte pour deux ports. Ce module ne peut etre
       utilise qu'avec les protocoles suivants : tcp, udp, udplite, dccp et
       sctp.

       [!] --source-ports,--sports port[,port|,port:port]...
              Correspond si le port source fait partie des ports donnes. Le
              drapeau --sports est un alias de commodite pour cette option.
              Plusieurs ports ou plages de ports sont separes par des virgules
              et une plage de port est specifie en utilisant un deux-points
              << : >>. Par exemple, 53,1024:65535 correspondra au port 53 et a
              tous les ports de 1024 a 65535.

       [!] --destination-ports,--dports port[,port|,port:port]...
              Correspond si le port destination fait partie des ports donnes.
              Le drapeau --dports est un alias de commodite pour cette option.

       [!] --ports port[,port|,port:port]...
              Correspond si un des ports source ou destination est egal a un
              des ports donnes.

   nfacct
       Ce module fournit l'infrastructure de statistiques etendue pour
       iptables. Vous devez utiliser cette verification de correspondance avec
       l'utilitaire d'espace utilisateur autonome nfacct(8).

       La seule option valable pour cette verification de correspondance est
       la suivante :

       --nfacct-name nom
              Cette option permet de specifier le nom d'objet existant qui
              sera utilise pour effectuer des statistiques sur le trafic
              auquel ce jeu de regles correspond.

       Pour utiliser cette extension, vous devez creer un objet de
       statistiques :

              nfacct add http-traffic

       Ensuite, vous devez attacher l'extension a l'objet de statistiques a
       l'aide d'iptables :

              iptables -I INPUT -p tcp --sport 80 -m nfacct --nfacct-name
              http-traffic

              iptables -I OUTPUT -p tcp --dport 80 -m nfacct --nfacct-name
              http-traffic

       Enfin, vous pouvez consulter l'intensite du trafic auquel la regle
       correspond :

              nfacct get http-traffic

              { pkts = 00000000000000000156, bytes = 00000000000000151786 } =
              http-traffic;

       Vous pouvez telecharger nfacct(8) depuis https://www.netfilter.org ou
       depuis le depot git.netfilter.org.

   osf
       Le module osf effectue une prise d'empreinte passive du systeme
       d'exploitation. Il compare certaines donnees (taille de fenetre, MSS
       (Maximum Segment Size -- taille maximale de segment), les options et
       leur ordre, TTL (Time To Live -- duree de vie), le drapeau DF (Don't
       Fragment -- ne pas fragmenter), etc.) des paquets ayant le bit SYN
       positionne.

       [!] --genre chaine
              Cette option permet de verifier la correspondance d'un genre de
              systeme d'exploitation en utilisant une prise d'empreinte
              passive.

       --ttl niveau
              Effectuer des verifications additionnelles de duree de vie sur
              le paquet pour determiner le systeme d'exploitation. niveau peut
              prendre les valeurs suivantes :

       -   0 -- Veritable comparaison des durees de vie des adresses IP et de
           l'empreinte. Fonctionne en general pour les reseaux locaux.

       -   1 -- Verifier si la duree de vie de l'en-tete IP est inferieure a
           celle de l'empreinte. Fonctionne pour les adresses routables
           globalement.

       -   2 -- Ne pas comparer les durees de vie.

       --log niveau
           Journaliser les genres determines dans dmesg meme s'ils ne
           correspondent pas au genre souhaite. niveau peut prendre une des
           valeurs suivantes :

       -   0 -- Journaliser toutes les signatures correspondantes ou
           inconnues.

       -   1 -- Journaliser seulement la premiere.

       -   2 -- Journaliser toutes les signatures connues correspondantes.

       Vous pouvez voir apparaitre quelque chose de ce genre dans syslog :

       Windows [2000:SP3:Windows XP Pro SP1, 2000 SP3]: 11.22.33.55:4024 ->
       11.22.33.44:139 hops=3 Linux [2.5-2.6:] : 1.2.3.4:42624 -> 1.2.3.5:22
       hops=4

       Les empreintes d'OS peuvent etre chargees a l'aide du programme
       nfnl_osf. Pour charger une empreinte a partir d'un fichier, utilisez :

       nfnl_osf -f /usr/share/xtables/pf.os

       et pour la supprimer a nouveau,

       nfnl_osf -f /usr/share/xtables/pf.os -d

       La base de donnees des empreintes peut etre telechargee depuis
       http://www.openbsd.org/cgi-bin/cvsweb/src/etc/pf.os.

   owner
       Ce module tente de verifier la correspondance de differentes
       caracteristiques du createur du paquet, pour les paquets generes
       localement. Cette recherche de correspondance n'est valable que dans
       les chaines OUTPUT et POSTROUTING. Les paquets rediriges n'ont pas de
       socket associe, a la difference des paquets en provenance des threads
       du noyau qui ont un socket, mais generalement pas de proprietaire.

       [!] --uid-owner nom_utilisateur

       [!] --uid-owner identifiant_utilisateur[-identifiant_utilisateur]
              Correspond si la structure du fichier de socket du paquet (si
              elle existe) est la propriete de l'utilisateur donne. Vous
              pouvez aussi specifier un UID numerique ou un intervalle d'UID.

       [!] --gid-owner nom_groupe

       [!] --gid-owner identifiant_groupe[-identifiant_groupe]
              Correspond si la structure du fichier de socket du paquet est la
              propriete du groupe donne. Vous pouvez aussi specifier un GID
              numerique ou un intervalle de GID.

       --suppl-groups
              Avec cette option, le(s) groupe(s) specifie(s) a l'aide de
              --gid-owner sont aussi compares avec les groupes supplementaires
              d'un processus.

       [!] --socket-exists
              Correspond si le paquet est associe a un socket.

   physdev
       Ce module verifie la correspondance des dispositifs d'entree et de
       sortie d'un port de pont asservis a un dispositif de pont. Ce module
       fait partie de l'infrastructure qui active un pare-feu IP de pontage
       transparent et n'est disponible que pour les versions 2.5.44 et
       ulterieures du noyau.

       [!] --physdev-in nom
              Le nom d'un port de pont par lequel un paquet est recu
              (seulement pour les paquets entrant dans les chaines INPUT,
              FORWARD ou PREROUTING). Si le nom de l'interface de termine par
              un << + >>, toute interface dont le nom commence par ce nom
              correspondra. Si le paquet n'est pas arrive par un dispositif de
              pont, il ne correspondra pas aux criteres de cette option, a
              moins que << ! >> ne soit specifie.

       [!] --physdev-out nom
              Le nom d'un port de pont par lequel un paquet est sur le point
              d'etre envoye (seulement pour les paquets ayant subi un pontage
              et entrant dans les chaines FORWARD et POSTROUTING). Si le nom
              de l'interface de termine par un << + >>, toute interface dont
              le nom commence par ce nom correspondra.

       [!] --physdev-is-in
              Correspond si le paquet est entre par une interface de pont.

       [!] --physdev-is-out
              Correspond si le paquet est sur le point de sortir par une
              interface de pont.

       [!] --physdev-is-bridged
              Correspond si le paquet subit un pontage et n'est donc pas
              route. Utile seulement dans les chaines FORWARD et POSTROUTING.

   pkttype
       Ce module verifie la correspondance du type du paquet au niveau de la
       couche liaison.

       [!] --pkt-type {unicast|broadcast|multicast}

   policy
       Ce module verifie la correspondance de la politique utilisee par IPsec
       pour gerer un paquet.

       --dir {in|out}
              Cette option permet de choisir si l'on doit verifier la
              correspondance de la politique utilisee pour la desencapsulation
              ou la politique qui sera utilisee pour l'encapsulation. in est
              valable dans les chaines PREROUTING, INPUT et FORWARD, alors que
              out l'est dans les chaines POSTROUTING, OUTPUT et FORWARD.

       --pol {none|ipsec}
              Correspond si le paquet est traite par IPsec. --pol none ne peut
              pas etre combine a --strict.

       --strict
              Cette option permet de choisir si l'integralite de la politique
              doit correspondre ou si au moins une des regles de la politique
              doit correspondre a la politique donnee.

       Pour chaque element de politique a decrire, il est possible d'utiliser
       une ou plusieurs des options suivantes. Lorsque --strict a ete
       specifiee, au moins une option doit etre utilisee pour chaque element.

       [!] --reqid identifiant
              Cette option permet de verifier la correspondance du << reqid >>
              de la regle de la politique. Le reqid peut etre specifie a
              l'aide de setkey(8) en utilisant unique:id comme niveau.

       [!] --spi spi
              Cette option permet de verifier la correspondance du SPI
              (Security Parameters Index -- index des parametres de securite)
              des SA (Security Associations -- associations de securites).

       [!] --proto {ah|esp|ipcomp}
              Cette option permet de verifier la correspondance du protocole
              d'encapsulation.

       [!] --mode {tunnel|transport}
              Cette option permet de verifier la correspondance du mode
              d'encapsulation.

       [!] --tunnel-src adresse[/masque]
              Cette option permet de verifier la correspondance de l'adresse
              de l'extremite source d'une SA en mode tunnel. Valable seulement
              avec --mode tunnel.

       [!] --tunnel-dst adresse[/masque]
              Cette option permet de verifier la correspondance de l'adresse
              de l'extremite destination d'une SA en mode tunnel. Valable
              seulement avec --mode tunnel.

       --next Demarrer l'element suivant dans la specification de la
              politique. Ne peut etre utilise qu'avec --strict.

   quota
       Ce module implemente les quotas reseau en decrementant un compteur
       d'octets avec chaque paquet. La condition est verifiee jusqu'a ce que
       le compteur d'octets atteigne zero. Ce comportement peut etre inverse
       par une negation (la condition ne sera alors verifiee que lorsque le
       compteur d'octets atteindra zero).

       [!] --quota octets
              Le quota en octets.

   rateest
       L'estimateur de debit peut verifier la correspondance des debits
       estimes comme ceux collectes a l'aide de l'action RATEEST. Il prend en
       charge la correspondance basee sur des valeurs de bps/pps absolues, la
       comparaison de deux estimateurs de debit et la correspondance basee sur
       la difference entre deux estimateurs de debit.

       Pour une meilleure comprehension des options valables, voici toutes les
       combinaisons possibles :

       -   rateest operateur rateest-bps

       -   rateest operateur rateest-pps

       -   (rateest moins rateest-bps1) operateur rateest-bps2

       -   (rateest moins rateest-pps1) operateur rateest-pps2

       -   rateest1 operateur rateest2 rateest-bps(sans debit !)

       -   rateest1 operateur rateest2 rateest-pps(sans debit !)

       -   (rateest1 moins rateest-bps1) operateur (rateest2 moins
           rateest-bps2)

       -   (rateest1 moins rateest-pps1) operateur (rateest2 moins
           rateest-pps2)

       --rateest-delta
           Pour chaque estimateur (en mode relatif ou absolu), calculer la
           difference entre le debit du flux determine par l'estimateur et la
           valeur statique specifiee a l'aide des options BPS/PPS. Si le debit
           du flux est plus eleve que la valeur specifiee en BPS/PPS,0 sera
           utilise a la place d'une valeur negative. Autrement dit, la valeur
           utilisee sera le resultat de << max(0, rateest#_rate -
           rateest#_bps) >>.

       [!] --rateest-lt
           Correspond si le debit est inferieur au debit par estimateur donne.

       [!] --rateest-gt
           Correspond si le debit est superieur au debit par estimateur donne.

       [!] --rateest-eq
           Correspond si le debit est egal au debit par estimateur donne.

       Dans le mode dit << mode absolu >>, un seul estimateur est utilise et
       compare avec une valeur statique, tandis qu'en << mode relatif >>, deux
       estimateurs de debit sont compares avec un autre.

       --rateest nom
              Nom de l'unique estimateur de debit pour le mode absolu.

       --rateest1 nom

       --rateest2 nom
              Les noms des deux estimateurs de debit pour le mode relatif.

       --rateest-bps [valeur]

       --rateest-pps [valeur]

       --rateest-bps1 [valeur]

       --rateest-bps2 [valeur]

       --rateest-pps1 [valeur]

       --rateest-pps2 [valeur]
              Comparer avec la valeur specifiee les valeurs fournies par le(s)
              estimateur(s) en octets ou paquets par seconde. Voir la liste
              ci-avant pour connaitre les options a utiliser dans chaque cas.
              Il est possible d'ajouter un suffixe d'unite ; les suffixes
              disponibles sont : bit, [kmgt]bit, [KMGT]ibit, Bps, [KMGT]Bps et
              [KMGT]iBps.

       Exemple : voici la commande qui peut etre utilisee pour router les
       connexions de donnees sortantes d'un serveur FTP sur deux lignes en
       fonction de la bande passante disponible au moment ou la connexion a
       ete etablie :

       # Estimer les debits sortants :

       iptables -t mangle -A POSTROUTING -o eth0 -j RATEEST --rateest-name
       eth0 --rateest-interval 250ms --rateest-ewma 0.5s

       iptables -t mangle -A POSTROUTING -o ppp0 -j RATEEST --rateest-name
       ppp0 --rateest-interval 250ms --rateest-ewma 0.5s

       # Marquer en fonction de la bande passante disponible :

       iptables -t mangle -A balance -m conntrack --ctstate NEW -m helper
       --helper ftp -m rateest --rateest-delta --rateest1 eth0 --rateest-bps1
       2.5mbit --rateest-gt --rateest2 ppp0 --rateest-bps2 2mbit -j CONNMARK
       --set-mark 1

       iptables -t mangle -A balance -m conntrack --ctstate NEW -m helper
       --helper ftp -m rateest --rateest-delta --rateest1 ppp0 --rateest-bps1
       2mbit --rateest-gt --rateest2 eth0 --rateest-bps2 2.5mbit -j CONNMARK
       --set-mark 2

       iptables -t mangle -A balance -j CONNMARK --restore-mark

   realm (specifique a IPv4)
       Ce module permet de verifier la correspondance du domaine (realm) de
       routage. Les domaines de routage sont utilises dans les configurations
       de routage complexes mettant en jeu des protocoles de routage dynamique
       comme BGP.

       [!] --realm valeur[/masque]
              Verifier la correspondance d'un numero de domaine donne
              (accompagne eventuellement d'un masque). Au lieu d'un numero,
              valeur peut etre un domaine nomme issu de
              /etc/iproute2/rt_realms (dans ce cas, le masque n'est pas
              autorise). valeur et masque sont des entiers non signes de
              4 octets et peuvent etre specifies en decimal, hexadecimal (en
              ajoutant le prefixe << 0x >>) ou octal (en prefixant la valeur
              d'un zero).

   recent
       Ce module permet de creer dynamiquement une liste d'adresses IP et de
       verifier la correspondance de cette liste de differentes manieres.

       Par exemple, vous pouvez creer une liste << mechants >> des gens qui
       tentent de se connecter au port 139 sur votre pare-feu, et supprimer
       ensuite tous les paquets qui proviennent de ces derniers sans les
       examiner.

       --set, --rcheck, --update et --remove sont mutuellement exclusifs.

       --name nom
              Specifier la liste a utiliser pour les commandes. Si aucun nom
              n'est donne, DEFAULT sera utilise.

       [!] --set
              Cette option permet d'ajouter l'adresse source du paquet a la
              liste. Si l'adresse source est deja presente dans la liste,
              l'entree concernee sera mise a jour. Cette option renvoie
              toujours << succes >> (ou << echec >> si ! est specifie).

       --rsource
              Verifier la correspondance de/sauvegarder l'adresse source de
              chaque paquet de la liste << recent >>. Il s'agit du
              comportement par defaut.

       --rdest
              Verifier la correspondance de/sauvegarder l'adresse destination
              de chaque paquet de la liste << recent >>.

       --mask masque_sous_reseau
              Cette option permet de specifier le masque_sous_reseau qui sera
              applique a cette liste << recent >>.

       [!] --rcheck
              Cette option permet de verifier si l'adresse source du paquet
              est actuellement dans la liste.

       [!] --update
              Identique a --rcheck, excepte que si la correspondance est
              verifiee, l'horodatage << vu la derniere fois >> sera mis a
              jour.

       [!] --remove
              Cette option permet de verifier si l'adresse source du paquet
              est actuellement dans la liste et si c'est le cas, supprimer
              cette adresse de la liste et la regle renverra << vrai >>. Si
              l'adresse n'est pas trouvee, la regle renverra << faux >>.

       --seconds secondes
              Cette option doit etre utilisee en combinaison avec une des
              options --rcheck ou --update. Lorsqu'elle est utilisee, la
              correspondance ne sera verifiee que si l'adresse est dans la
              liste et si elle a ete vue au cours du dernier nombre de
              secondes donne.

       --reap Cette option ne peut etre utilisee qu'en combinaison avec
              l'option --seconds. Lorsqu'elle est utilisee, les entrees plus
              anciennes que le nombre de secondes donne seront videes.

       --hitcount correspondances
              Cette option ne peut etre utilisee qu'en combinaison avec les
              options --rcheck ou --update. Lorsqu'elle est utilisee, la
              correspondance ne sera verifiee que si l'adresse est dans la
              liste et si les paquets ont ete recus un nombre de fois
              superieur ou egal a la valeur donnee. Elle peut etre utilisee en
              combinaison avec l'option --seconds pour creer une condition de
              correspondance encore plus restrictive necessitant un certain
              nombre d'interceptions dans un intervalle de temps donne. La
              valeur maximale de l'option --hitcount est donnee par le
              parametre << ip_pkt_list_tot >> du module du noyau xt_recent.
              Depasser cette valeur sur la ligne de commande provoquera le
              rejet de la regle.

       --rttl Cette option ne peut etre utilisee qu'en combinaison avec une
              des options --rcheck ou --update. Lorsqu'elle est utilisee, la
              correspondance ne sera verifiee que si l'adresse est dans la
              liste et si la duree de vie du paquet actuel correspond a celle
              du paquet qui correspondait a la regle --set. Elle peut s'averer
              utile si vous rencontrer des problemes avec des gens qui
              contrefont leur adresse source pour effectuer une attaque de
              type DoS a l'aide de ce module dans le but d'empecher les autres
              utilisateurs d'acceder a votre site en vous envoyant des paquets
              bogues.

       Exemples :

              iptables -A FORWARD -m recent --name mechant --rcheck --seconds
              60 -j DROP

              iptables -A FORWARD -p tcp -i eth0 --dport 139 -m recent --name
              mechant --set -j DROP

       /proc/net/xt_recent/* correspond aux listes actuelles d'adresses et
       d'informations a propos de chaque entree de chaque liste.

       Chaque fichier dans /proc/net/xt_recent/ peut etre consulte pour
       determiner la liste actuelle ou ecrit en utilisant les commandes
       suivantes pour modifier la liste :

       echo +adresse >/proc/net/xt_recent/DEFAULT
              pour ajouter adresse a la liste DEFAULT

       echo -adresse >/proc/net/xt_recent/DEFAULT
              pour supprimer adresse de la liste DEFAULT

       echo / >/proc/net/xt_recent/DEFAULT
              pour vider la liste DEFAULT (en supprimer toutes les entrees).

       Le module lui-meme accepte les parametres suivants (avec leur valeur
       par defaut) :

       ip_list_tot=100
              Nombre d'adresses memorisees par table.

       ip_pkt_list_tot=20
              Nombre de paquets memorises par adresse.

       ip_list_hash_size=0
              Taille de la table de hachage. 0 signifie que cette taille doit
              etre calculee en fonction de ip_list_tot ; la valeur par defaut
              est 512.

       ip_list_perms=0644
              Permissions des fichiers /proc/net/xt_recent/*.

       ip_list_uid=0
              UID numerique du proprietaire des fichiers
              /proc/net/xt_recent/*.

       ip_list_gid=0
              GID numerique du proprietaire des fichiers
              /proc/net/xt_recent/*.

   rpfilter
       Ce module effectue un test par filtrage par chemin inverse sur un
       paquet. Si la reponse a un paquet devrait etre envoyee par la meme
       interface que celle par laquelle il est arrive, le paquet correspondra.
       Notez qu'a la difference du filtrage par chemin inverse (rp_filter)
       integre au noyau, les paquets proteges par IPSec ne font pas l'objet
       d'un traitement particulier. Si tel est votre souhait, combinez cette
       verification de correspondance avec celle du module << policy >>. De
       meme, les paquets arrivant par l'interface loopback sont toujours
       autorises. Cette verification de correspondance ne peut etre utilisee
       que dans la chaine PREROUTING des tables raw ou mangle.

       --loose
              Cette option permet de specifier que le test de filtrage par
              chemin inverse doit reussir meme si le dispositif de sortie
              selectionne n'est pas celui attendu.

       --validmark
              Utiliser aussi la valeur de << nfmark >> du paquet lors de la
              determination de la route du chemin inverse.

       --accept-local
              Cette option permet d'accepter les paquets arrivant du reseau
              avec une adresse source qui est aussi assignee a la machine
              locale.

       --invert
              Cette option permet d'inverser le resultat de la verification de
              correspondance. Cette derniere sera positive pour les paquets
              qui ont echoue au test de filtrage par chemin inverse au lieu de
              l'etre pour ceux qui ont reussi le test.

       L'exemple suivant montre comment journaliser et supprimer les paquets
       qui echouent au test de filtrage par chemin inverse :

       iptables -t raw -N RPFILTER

       iptables -t raw -A RPFILTER -m rpfilter -j RETURN

       iptables -t raw -A RPFILTER -m limit --limit 10/minute -j NFLOG
       --nflog-prefix "rpfilter drop"

       iptables -t raw -A RPFILTER -j DROP

       iptables -t raw -A PREROUTING -j RPFILTER

       L'exemple suivant montre comment supprimer les paquets qui ont echoue,
       sans journalisation :

       iptables -t raw -A RPFILTER -m rpfilter --invert -j DROP

   rt (specifique a IPv6)
       Ce module permet de verifier la correspondance de l'en-tete de routage
       IPv6.

       [!] --rt-type type
              Cette option permet de verifier la correspondance du type
              (numerique).

       [!] --rt-segsleft numero[:numero]
              Cette option permet de verifier la correspondance du champ
              << segments restants >> (intervalle).

       [!] --rt-len taille
              Cette option permet de verifier la correspondance de la taille
              de cet en-tete.

       --rt-0-res
              Verifier aussi la correspondance du champ reserve (type=0).

       --rt-0-addrs adresse[,adresse...]
              Cette option permet de verifier la correspondance des adresses
              type=0 (liste).

       --rt-0-not-strict
              Cette option permet d'indiquer que la liste d'adresses type=0
              n'est pas une liste stricte.

   sctp
       Ce module permet de verifier la correspondance des en-tetes du SCTP
       (Stream Control Transmission Protocol -- protocole de transmission avec
       controle de flux).

       [!] --source-port,--sport port[:port]

       [!] --destination-port,--dport port[:port]

       [!] --chunk-types {all|any|only} type_fragment[:drapeaux] [...]
              Si la lettre de drapeau est en capitale, le drapeau doit etre
              compare s'il est defini, sinon le drapeau doit etre compare s'il
              n'est pas defini.

              Types de verification de correspondance :

       all    Correspondance si tous les types de fragment donnes sont
              presents et si les drapeaux correspondent.

       any    Correspondance si au moins un des types de fragment donnes est
              present avec les drapeaux donnes.

       only   Correspondance si seuls les types de fragment donnes sont
              presents avec les drapeaux donnes et si aucun ne manque.

              Types de fragment : DATA, INIT, INIT_ACK, SACK, HEARTBEAT,
              HEARTBEAT_ACK, ABORT, SHUTDOWN, SHUTDOWN_ACK, ERROR,
              COOKIE_ECHO, COOKIE_ACK, ECN_ECNE, ECN_CWR, SHUTDOWN_COMPLETE,
              I_DATA, RE_CONFIG, PAD, ASCONF, ASCONF_ACK FORWARD_TSN et
              I_FORWARD_TSN.

              drapeaux de type de fragment disponibles
              DATA I U B E i u b e
              I_DATA I U B E i u b e
              ABORT T t
              SHUTDOWN_COMPLETE T t

              Les minuscules signifient que le drapeau doit etre a << off >>,
              les capitales que le drapeau doit etre a << on >>.

       Exemples :

       iptables -A INPUT -p sctp --dport 80 -j DROP

       iptables -A INPUT -p sctp --chunk-types any DATA,INIT -j DROP

       iptables -A INPUT -p sctp --chunk-types any DATA:Be -j ACCEPT

   set
       Ce module permet de verifier la correspondance d'ensembles d'adresses
       IP qui peuvent etre definis a l'aide de ipset(8).

       [!] --match-set nom_ensemble drapeau[,drapeau]...
              ou drapeau[,drapeau]... est une liste de specifications src
              et/ou dst separees par des virgules et dont le nombre est limite
              a 6. Ainsi la regle

               iptables -A FORWARD -m set --match-set test src,dst

              correspondra aux paquets pour lesquels (si le type d'ensemble
              est ipportmap) la paire adresse source/port destination existe
              dans l'ensemble specifie. Si le type d'ensemble de l'ensemble
              specifie est unidimensionnel (par exemple ipmap), la regle
              correspondra aux paquets pour lesquels l'adresse source existe
              dans l'ensemble specifie.

       --return-nomatch
              Si l'option --return-nomatch est specifiee et si le type
              d'ensemble prend en charge le drapeau nomatch, la verification
              de correspondance est inversee ; une correspondance verifiee
              avec un element ayant le drapeau nomatch active renverra true,
              alors qu'une correspondance verifiee avec un element simple
              reverra false.

       ! --update-counters
              Si le drapeau --update-counters est inverse par negation, les
              compteurs d'octets et de paquets de l'element qui correspond
              dans l'ensemble ne seront pas mis a jour. Par defaut, compteurs
              d'octets et de paquets sont mis a jour.

       ! --update-subcounters
              Si le drapeau --update-subcounters est inverse par negation, les
              compteurs d'octets et de paquets de l'element qui correspond
              dans l'ensemble des membres d'un type de liste d'ensemble ne
              seront pas mis a jour. Par defaut, compteurs d'octets et de
              paquets sont mis a jour.

       [!] --packets-eq valeur
              Si le paquet correspond a un element de l'ensemble, la
              correspondance ne sera verifiee que si en plus la valeur du
              compteur de paquets de l'element est egale a la valeur donnee.

       --packets-lt valeur
              Si le paquet correspond a un element de l'ensemble, la
              correspondance ne sera verifiee que si en plus la valeur du
              compteur de paquets de l'element est inferieure a la valeur
              donnee.

       --packets-gt valeur
              Si le paquet correspond a un element de l'ensemble, la
              correspondance ne sera verifiee que si en plus la valeur du
              compteur de paquets de l'element est superieure a la valeur
              donnee.

       [!] --bytes-eq valeur
              Si le paquet correspond a un element de l'ensemble, la
              correspondance ne sera verifiee que si en plus la valeur du
              compteur d'octets est egale a la valeur donnee.

       --bytes-lt valeur
              Si le paquet correspond a un element de l'ensemble, la
              correspondance ne sera verifiee que si en plus la valeur du
              compteur d'octets de l'element est inferieure a la valeur
              donnee.

       --bytes-gt valeur
              Si le paquet correspond a un element de l'ensemble, la
              correspondance ne sera verifiee que si en plus la valeur du
              compteur d'octets de l'element est superieure a la valeur
              donnee.

       Les drapeaux et options en rapport avec les compteurs de paquets et
       d'octets sont ignores lorsque l'ensemble a ete defini sans prise en
       charge du comptage.

       L'option --match-set peut etre remplacee par --set si cela n'interfere
       pas avec une option d'une autre extension.

       L'utilisation de << -m set >> necessite que le noyau prenne en charge
       le module ipset, ce qui est le cas, pour les noyaux standards, depuis
       Linux 2.6.39.

   socket
       Ce module permet de verifier la correspondance d'un paquet s'il est
       possible de trouver un socket TCP/UDP ouvert en effectuant une
       recherche de socket sur ce paquet. La correspondance est verifiee s'il
       existe un socket en ecoute etabli ou a lien non nul (eventuellement
       avec une adresse non locale). La recherche est effectuee en utilisant
       le tuple packet des paquets TCP/UDP ou l'en-tete TCP/UDP original
       embedded dans un paquet d'erreur ICMP/ICPMv6.

       --transparent
              Ignorer les sockets non transparents.

       --nowildcard
              Ne pas ignorer les sockets lies a << n'importe quelle >>
              adresse. Par defaut, la correspondance de socket n'acceptera pas
              de socket en ecoute non lie, car dans ce cas, des services
              locaux pourraient intercepter le trafic qui autrement aurait ete
              redirige. Cette option presente donc des implications de
              securite lorsqu'elle est utilisee pour verifier la
              correspondance d'un trafic redirige pour renvoyer de tels
              paquets a la machine locale avec routage de politique. Lorsqu'on
              utilise la correspondance de socket pour implementer des
              mandataires completement transparents lies a des adresses non
              locales, il est recommande d'utiliser plutot l'option
              --transparent.

       Exemple (en supposant que les paquets marques 1 sont delivres
       localement) :

              -t mangle -A PREROUTING -m socket --transparent -j MARK
              --set-mark 1

       --restore-skmark
              Cette option permet de definir la marque du paquet avec la
              marque du socket correspondant. Elle peut etre utilisee en
              combinaison avec les options --transparent et --nowildcard pour
              restreindre la correspondance des sockets au cas ou la marque du
              paquet est restauree.

       Exemple : une application ouvre 2 sockets transparents (IP_TRANSPARENT)
       et leur definit une marque a l'aide de l'option de socket SO_MARK. Nous
       pouvons filtrer les paquets correspondants :

              -t mangle -I PREROUTING -m socket --transparent --restore-skmark
              -j action

              -t mangle -A action -m mark --mark 10 -j action2

              -t mangle -A action -m mark --mark 11 -j action3

   etat
       L'extension << state >> est un sous-ensemble du module << conntrack >>.
       Elle permet d'acceder a l'etat du tracage de connexion pour le paquet
       concerne.

       [!] --state etat
              etat est une liste des etats de connexion a comparer separes par
              des virgules. Seulement ce sous-ensemble des etats pris en
              charge par << conntrack >> est reconnu : INVALID, ESTABLISHED,
              NEW, RELATED ou UNTRACKED. Pour leur description, voir la
              section << conntrack >> plus avant dans cette page de manuel.

   statistic
       Ce module verifie la correspondance des paquets en fonction de
       certaines conditions statistiques. Il prend en charge deux modes
       distincts qui peuvent etre definis a l'aide de l'option --mode.

       Options prises en charge :

       --mode mode
              Cette option permet de definir le mode de verification de
              correspondance de la regle ; les modes pris en charge sont
              random et nth.

       [!] --probability p
              Cette option permet de definir la probabilite pour qu'un paquet
              corresponde de maniere aleatoire. Elle ne peut etre utilisee que
              dans le mode random. p doit etre comprise entre 0.0 et 1.0. La
              granularite prise en charge possede un increment de
              1/2147483648.

       [!] --every n
              Verifier la correspondance d'un paquet sur n. Cette option ne
              peut etre utilisee que dans le mode nth (voir aussi l'option
              --packet).

       --packet p
              Cette option permet de definir la valeur initiale du compteur
              pour le mode nth (0 <= p <= n-1, par defaut 0).

   string
       Ce module verifie la correspondance de la chaine donnee en utilisant
       une strategie de comparaison de motifs. Il necessite un noyau Linux de
       version superieure ou egale a 2.6.14.

       --algo {bm|kmp}
              Cette option permet de selectionner une strategie de comparaison
              de motifs (bm = Boyer-Moore, kmp = Knuth-Pratt-Morris).

       --from decalage
              Cette option permet de definir le decalage a partir duquel la
              comparaison sera effectuee. La valeur par defaut est 0.

       --to decalage
              Cette option permet de definir le nombre d'octets, a partir de 0
              qui seront compares. Autrement dit, seuls les octets de 0 a
              decalage-1 seront compares. La valeur par defaut est la taille
              du paquet.

       [!] --string motif
              Cette option permet de specifier le motif a comparer.

       [!] --hex-string motif
              Cette option permet de specifier le motif a comparer en notation
              hexadecimale.

       --icase
              Ignorer la casse lors de la comparaison.

       Exemples :

              # Le motif peut contenir du texte simple.
              iptables -A INPUT -p tcp --dport 80 -m string --algo bm --string
              'GET /index.html' -j LOG

              # Le motif en notation hexadecimale peut contenir des caracteres
              non imprimables comme |0D 0A| ou |0D0A|.
              iptables -p udp --dport 53 -m string --algo bm --from 40 --to 57
              --hex-string '|03|www|09|netfilter|03|org|00|'

       Nota : etant donne que l'algorithme Boyer-Moore (BM) effectue sa
       comparaison de la droite vers la gauche, et que le noyau peut stocker
       un paquet sous forme de plusieurs blocs non contigus, il est possible
       qu'une comparaison soit repartie sur plusieurs blocs, auquel cas cet
       algorithme ne le trouvera pas.

       Pour vous assurer qu'une telle situation ne se presente jamais,
       utilisez plutot l'algorithme Knuth-Pratt-Morris (KMP). Pour resumer,
       choisissez l'algorithme de recherche de chaine approprie a votre cas
       concret.

       Par exemple, si vous utilisez le module pour le filtrage, NIDS ou tout
       filtrage similaire axe sur la securite, choisissez KMP. Par contre, si
       vous recherchez la performance -- par exemple, si vous classez les
       paquets pour appliquer des politiques de qualite de service (QoS) -- et
       si vous ne vous preoccupez pas de la perte eventuelle de paquets
       correspondants divises en plusieurs fragments, choisissez BM.

   tcp
       Ce module ne peut etre utilise que si << --protocol tcp >> a ete
       specifie. Il prend en charge les options suivantes :

       [!] --source-port,--sport port[:port]
              Cette option permet de specifier le port ou une plage de ports
              source. port peut etre un nom de service ou un numero de port.
              Il est aussi possible de specifier une plage fermee de ports
              sous la forme premier:dernier. Si premier est omis, la plage
              debutera a << 0 >> ; si dernier est omis, la plage finira a
              << 65535 >>. --sport est un alias pratique de cette option.

       [!] --destination-port,--dport port[:port]
              Cette option permet de specifier le port ou une plage de ports
              destination. --dport est un alias pratique de cette option.

       [!] --tcp-flags masque comp
              Correspondance lorsque les drapeaux TCP sont tels que specifies.
              Le premier argument masque contient les drapeaux qui doivent
              etre examines, sous forme d'une liste separee par des virgules ;
              le second argument comp est une liste des drapeaux separes par
              des virgules qui doit etre definie. Les drapeaux valables sont :
              SYN ACK FIN RST URG PSH ALL NONE. Ainsi la commande
               iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST SYN
              ne concernera que les paquets dont le drapeau SYN est defini et
              dont les drapeaux ACK, FIN et RST ne le sont pas.

       [!] --syn
              Correspondance uniquement aux paquets dont le bit SYN est
              positionne et dont les bits ACK, RST et FIN ne le sont pas. De
              tels paquets sont utilises pour demander l'ouverture d'une
              connexion TCP ; par exemple, bloquer de tels paquets entrant par
              une interface empechera les connexions TCP entrantes, alors que
              les connexions TCP sortantes ne seront pas affectees. Cette
              option est equivalente a --tcp-flags SYN,RST,ACK,FIN SYN.

       [!] --tcp-option numero
              Correspondance si l'option TCP est definie.

   tcpmss
       Ce module permet de verifier la correspondance du champ TCP MSS
       (Maximum Segment Size -- taille maximale de segment) de l'en-tete TCP.
       Il ne peut etre utilise qu'avec les paquets TCP SYN ou SYN/ACK, car la
       MSS n'est negociee que durant la << poignee de main >> TCP au moment du
       lancement de la connexion.

       [!] --mss valeur[:valeur]
              Cette option permet de verifier la correspondance d'une valeur
              ou d'un intervalle de valeurs de TCP MSS. Si un intervalle est
              specifie, la seconde valeur doit etre superieure ou egale a la
              premiere.

   time
       Ce module permet de verifier la correspondance du moment d'arrivee d'un
       paquet avec un intervalle de temps donne. Toutes les options sont
       facultatives, mais elles sont combinees avec un ET logique si elles
       sont presentes. Tous les temps sont interpretes en UTC par defaut.

       --datestart AAAA[-MM[-JJ[Thh[:mm[:ss]]]]]

       --datestop AAAA[-MM[-JJ[Thh[:mm[:ss]]]]]
              Ces options permettent de specifier un intervalle de temps,
              exprime en notation << T >> de la norme ISO 8601, pendant lequel
              la correspondance d'un paquet sera verifiee. L'intervalle de
              temps maximal est 1970-01-01T00:00:00 a 2038-01-19T04:17:07.

              Si --datestart ou --datestop ne sont pas specifies, leur valeur
              par defaut sera 1970-01-01 et 2038-01-19, respectivement.

       --timestart hh:mm[:ss]

       --timestop hh:mm[:ss]
              Ces options permettent de specifier un intervalle de temps
              journalier pendant lequel la correspondance d'un paquet sera
              verifiee. L'intervalle de temps maximal est 00:00:00 a 23:59:59.
              Les valeurs commencant par zero sont autorisees (comme
              << 06:03 >>) et correctement interpretees en base 10.

       [!] --monthdays jour[,jour...]
              Cette option permet de specifier les jours du mois au cours
              desquels la correspondance d'un paquet sera verifiee. Les
              valeurs possibles vont de 1 a 31. Notez que specifier 31 ne
              correspondra pas pour les mois qui n'ont pas de 31eme jour ;
              meme remarque pour les mois de fevrier a 28 ou 29 jours.

       [!] --weekdays jour[,jour...]
              Cette option permet de specifier les jours de la semaine au
              cours desquels la correspondance d'un paquet sera verifiee. Les
              valeurs possibles sont Mon, Tue, Wed, Thu, Fri, Sat et Sun ou
              des nombres de 1 a 7, respectivement. Vous pouvez aussi utiliser
              des variantes a deux caracteres (Mo, Tu, etc.).

       --contiguous
              Lorsque --timestop est inferieur a --timestart, considerer cela
              comme un simple intervalle et non comme des intervalles
              distincts pour la comparaison. Voir EXEMPLES.

       --kerneltz
              Utiliser la zone horaire du noyau au lieu d'UTC pour determiner
              si un paquet correspond aux contraintes de temps.

       A propos des zone horaires du noyau : Linux conserve systematiquement
       l'heure systeme en UTC. Au demarrage, l'heure systeme est initialisee a
       partir d'une source de temps de reference. Lorsque cette source de
       temps n'a pas d'informations a propos de la zone horaire, comme
       l'horloge CMOS RTC d'x86, la zone UTC sera presumee. Si la source de
       temps n'est pas en UTC, l'espace utilisateur devra fournir l'heure
       systeme et la zone horaire correctes au noyau lorsqu'il aura obtenu
       cette information.

       L'heure locale est une fonctionnalite qui s'ajoute a l'heure systeme
       (independante de la zone horaire). Chaque processus possede sa propre
       idee du temps local defini a l'aide de la variable d'environnement TZ.
       Le noyau possede aussi sa propre variable exprimant le decalage de la
       zone horaire. La variable d'environnement en espace utilisateur TZ
       specifie comment l'heure systeme basee sur UTC est affichee, par
       exemple lorsque vous executez date(1) ou ce qu'affiche votre horloge de
       bureau. La chaine TZ peut presenter des decalages differents en
       fonction de la date, ce qui provoque un saut de temps automatique dans
       l'espace utilisateur lorsque le DST (Daylight Saving Time -- heure
       d'ete) change. La variable du noyau exprimant le decalage de la zone
       horaire lui permet de convertir des temps en provenance de sources non
       UTC, comme les systemes de fichiers FAT, vers des temps UTC (car c'est
       ces derniers qu'utilise le reste du systeme).

       Le probleme avec la zone horaire du noyau reside dans le fait que les
       distributions Linux peuvent ignorer la definition de la zone horaire du
       noyau et ne definir que l'heure systeme. Meme si une distribution
       particuliere definit la zone horaire au demarrage, elle ne maintient en
       general pas a jour le decalage de la zone horaire du noyau -- qui
       change avec l'heure d'ete. ntpd(8) n'affectant pas la zone horaire du
       noyau, il est inutile de l'executer pour resoudre ce probleme. Ainsi,
       il est possible d'avoir une zone horaire toujours egale a +0000 ou
       fausse pendant la moitie de l'annee ; c'est pourquoi l'utilisation de
       --kerneltz est fortement deconseillee.

       EXEMPLES. Pour que les paquets correspondent pendant les weekends,
       utilisez :

              -m time --weekdays Sa,Su

       Ou, pour que les paquets correspondent (une seule fois) pendant une
       periode de vacances nationales :

              -m time --datestart 2007-12-24 --datestop 2007-12-27

       Comme l'heure de fin est exactement inclusive, vous devez utiliser le
       moment de fin suivant pour exclure de la correspondance la premiere
       seconde du jour suivant :

              -m time --datestart 2007-01-01T17:00 --datestop
              2007-01-01T23:59:59

       Pendant la pause dejeuner :

              -m time --timestart 12:30 --timestop 13:30

       Le quatrieme vendredi du mois :

              -m time --weekdays Fr --monthdays 22,23,24,25,26,27,28

       Notez que cet exemple exploite une certaine propriete mathematique. Il
       n'est pas possible d'exprimer << quatrieme jeudi OU quatrieme
       vendredi >> a l'aide d'une seule regle ; il est cependant possible de
       le faire a l'aide de plusieurs regles.

       Verifier une correspondance a cheval sur deux jours peut donner des
       resultats inattendus. Par exemple,

              << -m time --weekdays Mo --timestart 23:00 --timestop 01:00 >>
              correspondra a la periode du lundi pendant une heure de minuit a
              1 heure du matin et pendant une autre heure a partir de
              23 heures. Si ce n'est pas ce que vous souhaitez, par exemple si
              vous voulez << verifier la correspondance pendant deux heures a
              partir du lundi a 23 heures >>, vous devez ajouter l'option
              --contiguous dans cet exemple.

   tos
       Ce module verifie la correspondance du champ sur 8 bits << Type of
       Service >> de l'en-tete IPv4 (bits << Precedence >> inclus) ou du champ
       << Priority >> (aussi sur 8 bits) de l'en-tete IPv6.

       [!] --tos valeur[/masque]
              Cette option permet de verifier la correspondance des paquets
              avec la valeur de marque TOS donnee. Si un masque est specifie,
              il est combine a l'aide d'un ET logique avec la marque TOS avant
              la comparaison.

       [!] --tos symbole
              Vous pouvez aussi specifier un nom symbolique lors de la
              recherche de correspondance a l'aide du module tos pour IPv4. La
              liste des noms TOS reconnus peut etre obtenue en appelant
              iptables suivi de -m tos -h. Notez que cela implique un masque
              de 0x3F, c'est-a-dire tous les bits sauf les bits ECN (Explicit
              Congestion Notification -- notification explicite de
              congestion).

   ttl (specifique a IPv4)
       Ce module verifie la correspondance du champ duree de vie de l'en-tete
       IP.

       [!] --ttl-eq ttl
              Correspondance de la valeur de TTL donnee.

       --ttl-gt ttl
              Correspondance si la duree de vie du paquet est superieure a la
              valeur de TTL donnee.

       --ttl-lt ttl
              Correspondance si la duree de vie du paquet est inferieure a la
              valeur de TTL donnee.

   u32
       Ce module teste si des quantites de4 octets maximum extraites d'un
       paquet possedent les valeurs specifiees. Specifier ce qu'il faut
       extraire suffit en general pour trouver des donnees a des decalages
       donnes dans les en-tetes tcp ou les charges utiles.

       [!] --u32 tests
              L'argument consiste en un programme dans un langage simple
              decrit ci-apres.

              tests := emplacement "=" valeur | tests "&&" emplacement "="
              valeur

              valeur := intervalle | valeur "," intervalle

              intervalle := nombre | nombre ":" nombre

       un nombre seul, n, est interprete comme n:n. n:m est interprete comme
       l'intervalle des nombres >=n et <=m.


           emplacement := nombre | emplacement operateur nombre


           operateur := "&" | "<<" | ">>" | "@"

       Les operateurs &, <<, >> et && ont la meme signification qu'en C.
       L'operateur = est reellement un operateur d'appartenance a un ensemble
       et la syntaxe des valeurs decrit un ensemble. L'operateur @ permet de
       se deplacer vers l'en-tete suivant et est decrit plus loin.

       Il existe actuellement des limites d'implementation artificielles sur
       la taille des tests :

           -  pas plus de 10 << = >> (et 9 << && >>) dans l'argument d'u32

           -  pas plus de 10 intervalles (et 9 virgules) par valeur

           -  pas plus de 10 nombres (et 9 operateurs) par emplacement

       Pour expliquer la signification d'un emplacement, imaginez la machine
       suivante qui l'interprete. Il y a trois registres :

              A est de type char *, initialement l'adresse de l'en-tete IP

              B et C sont des entiers non signes sur 32 bits, initialement
              egaux a 0.

       Les instructions sont :

       nombre B = nombre;

              C = (*(A+B)<<24) + (*(A+B+1)<<16) + (*(A+B+2)<<8) + *(A+B+3)

       &nombre
              C = C & nombre

       << nombre
              C = C << nombre

       >> nombre
              C = C >> nombre

       @nombre
              A = A + C ; puis executez l'instruction nombre

       Tout acces a la memoire en dehors de [skb->data,skb->end] fera echouer
       la recherche de correspondance. Sinon, le resultat du calcul est la
       valeur finale de C.

       Les blancs sont autorises mais non obligatoires dans les tests.
       Cependant, les caracteres presents dans ces derniers sont susceptibles
       de necessiter une protection vis-a-vis de l'interpreteur de commande,
       et il est donc recommande d'entourer les arguments de guillemets.

       Exemple :

              rechercher les paquets IP d'une taille totale superieure ou
              egale a 256 octets.

              L'en-tete IP comporte un champ contenant la taille totale dans
              les octets 2 et 3.

              --u32 "0 & 0xFFFF = 0x100:0xFFFF"

              Lire les octets 0 a 3

              Combiner ces derniers a l'aide d'un ET logique avec 0xFFFF (ce
              qui donne les octets 2 et 3), et tester si le resultat est
              compris dans l'intervalle [0x100:0xFFFF].

       Exemple plus realiste, donc plus complique :

              rechercher les paquets avec un icmp de type 0

              Tout d'abord, verifier s'il s'agit d'un paquet ICMP ; c'est le
              cas si l'octet 9 (protocole) est egal a 1.

              --u32 "6 & 0xFF = 1 && ...

              lire les octets 6 a 9, utiliser l'operateur & pour supprimer les
              octets 6 a 8 et comparer le resultat avec 1. Verifier ensuite
              qu'il ne s'agit pas d'un fragment (si c'est le cas, il pourra
              appartenir a un tel paquet, mais ce n'est pas systematique).
              Notez que ce test est en general necessaire si vous voulez
              verifier la correspondance de toute donnee au dela de l'en-tete
              IP. S'il s'agit d'un paquet complet (et non d'un fragment), les
              6 derniers bits de l'octet 6 et tous ceux de l'octet 7 seront
              a 0. Autrement, vous pouvez autoriser les premiers fragments en
              ne testant que les 5 derniers bits de l'octet 6.

              ... 4 & 0x3FFF = 0 && ...

              Dernier test : le premier octet apres l'en-tete IP (le type) est
              a 0. C'est ici que nous devons utiliser l'operateur << @ >>. La
              taille de l'en-tete IP (IHL) en mots de 32 bits est stockee dans
              la moitie droite de l'octet 0 de l'en-tete IP lui-meme.

              ... 0 >> 22 & 0x3C @ 0 >> 24 = 0"

              Le premier 0 signifie << lire les octets 0 a 3 >>, et >>22
              << decaler le resultat de 22 bits vers la droite. Un decalage de
              24 bits donnerait le premier octet ; donc un decalage de
              seulement 22 bits correspond a quatre fois cela plus quelques
              octets supplementaires. Ensuite, &3C elimine les deux bits
              supplementaires a droite et les quatre premiers bits du premier
              octet. Par exemple, si IHL=5, la taille de l'en-tete IP est de
              20 (4 x 5) octets. Dans notre cas, les octets 0 et 1 contiennent
              (en binaire) xxxx0101 yyzzzzzz, >>22 donne la valeur sur 10 bits
              xxxx0101yy et &3C donne 010100. @ indique qu'il faut utiliser ce
              nombre comme nouveau decalage dans le paquet et lire quatre
              octets a partir de cette nouvelle position. Ce sont les
              4 premiers octets de la charge utile ICMP dont l'octet 0
              correspond au type ICMP. Il ne nous reste donc qu'a decaler la
              valeur de 24 vers la droite pour tout eliminer, sauf le premier
              octet, et a comparer le resultat a 0.

       Exemple :

              Les octets 8 a 12 de la charge utile TCP ont pour valeur 1, 2, 5
              ou 8.

              Tout d'abord, verifier qu'il s'agit d'un paquet TCP (similaire a
              ICMP).

              --u32 "6 & 0xFF = 6 && ...

              Ensuite, verifier qu'il ne s'agit pas d'un fragment (comme
              ci-avant).

              ... 0 >> 22 & 0x3C @ 12 >> 26 & 0x3C @ 8 = 1,2,5,8"

              Comme ci-avant, 0>>22&3C calcule le nombre d'octets contenus
              dans l'en-tete IP. L'operateur @ fait du resultat le nouveau
              decalage dans le paquet qui correspond au debut de l'en-tete
              TCP. La taille de l'en-tete TCP (toujours en mots de 32 bits)
              est stockee dans la moitie gauche de l'octet 12 de l'en-tete
              TCP. 12>>26&3C convertit cette longueur en octets (comme
              precedemment pour l'en-tete IP). << @ >> fait du resultat le
              nouveau decalage qui correspond au debut de la charge utile TCP.
              Enfin, << 8 >> lit les octets 8 a 12 de la charge utile et =
              verifie si le resultat est egal a 1, 2, 5 ou 8.

   udp
       Ce module ne peut etre utilise que si l'option << --protocol udp >> est
       specifiee. Il prend en charge les options suivantes :

       [!] --source-port,--sport port[:port]
              Cette option permet de specifier le port ou la plage de ports
              source. Voir la description de l'option --source-port de
              l'extension TCP pour les details.

       [!] --destination-port,--dport port[:port]
              Cette option permet de specifier le port ou la plage de ports
              destination. Voir la description de l'option --destination-port
              de l'extension TCP pour les details.

ACTIONS ETENDUES
       iptables peut utiliser des modules d'action etendue ; les actions
       suivantes sont incluses dans la distribution standard :

   AUDIT
       Cette action cree des enregistrements d'audit pour les paquets qui
       l'atteignent. Elle permet d'enregistrer les paquets acceptes, elimines
       et rejetes. Voir auditd(8) pour plus de details.

       --type {accept|drop|reject}
              Cette option permet de definir le type d'enregistrement d'audit.
              A partir de Linux 4.12, cette option n'a plus d'effet sur les
              messages d'audit generes. Elle est encore acceptee par iptables
              pour des raisons de compatibilite, mais ignoree.

       Exemple :

              iptables -N AUDIT_DROP

              iptables -A AUDIT_DROP -j AUDIT

              iptables -A AUDIT_DROP -j DROP

   CHECKSUM
       Cette action contourne selectivement les applications defectueuses ou
       obsoletes. Elle ne peut etre utilisee que dans la table mangle.

       --checksum-fill
              Cette option permet de calculer et inscrire la somme de controle
              dans un paquet qui en est depourvu. Elle s'avere
              particulierement utile si vous devez contourner des applications
              anciennes comme les clients dhcp qui ne gerent pas bien les
              dechargements de somme de controle, et ne souhaitez pas
              desactiver le dechargement de somme de controle dans votre
              dispositif.

   CLASSIFY
       Cette action permet de definir la valeur de skb->priority, et ainsi
       ranger le paquet dans une classe CBQ (Class-Based Queuing -- mise en
       file d'attente en fonction de la classe) specifique.

       --set-class majeur:mineur
              Cette option permet de definir les valeurs majeure et mineure de
              la classe. Les valeurs sont toujours interpretees en
              hexadecimal, meme si le prefixe 0x n'est pas specifie.

   CLUSTERIP (specifique a IPv4)
       Cette action permet de configurer une grappe simple de noeuds qui
       partagent une adresse IP et MAC sans repartiteur de charge explicite en
       frontal. Les connexions sont reparties statistiquement entre les noeuds
       de cette grappe.

       Notez que l'action CLUSTERIP est consideree comme obsolete par rapport
       au module de correspondance cluster qui est plus souple et non limite a
       IPv4.

       --new  Cette option permet de creer un nouveau ClusterIP. Vous devez
              toujours la definir dans la premiere regle concernant un
              ClusterIP donne.

       --hashmode mode
              Cette option permet de specifier le mode de hachage. Les valeurs
              possibles sont sourceip, sourceip-sourceport ou
              sourceip-sourceport-destport.

       --clustermac mac
              Cette option permet de specifier l'adresse MAC du ClusterIP. Ce
              doit etre une adresse multicast de la couche liaison.

       --total-nodes nombre
              Cette option permet de specifier le nombre total de noeuds que
              comporte cette grappe.

       --local-node numero
              Cette option permet de specifier le numero de noeud de la
              machine locale au sein de cette grappe.

       --hash-init alea
              Cette option permet de specifier la graine aleatoire utilisee
              pour l'initialisation du hachage.

   CONNMARK
       Cette action definit la valeur (sur 32 bits) de la marque netfilter
       associee a une connexion.

       --set-xmark valeur[/masque]
              Cette option met a zero les bits donnes par masque et effectue
              un XOR entre la ctmark (marque de connexion) et la valeur.

       --save-mark [--nfmask masque_nf] [--ctmask masque_ct]
              Cette option copie la marque de paquet (nfmark) vers la marque
              de connexion (ctmark) en utilisant les masques donnes. La
              nouvelle valeur de la marque de paquet nfmark est determinee
              comme suit :

              ctmark = (ctmark & ~masque_ct) ^ (nfmark & masque_nf)

              Autrement dit, masque_ct determine les bits a mettre a zero et
              masque_nf les bits de nfmark a combiner a l'aide d'un XOR avec
              la ctmark. La valeur par defaut de masque_ct et masque_nf
              est 0xFFFFFFFF.

       --restore-mark [--nfmask masque_nf] [--ctmask masque_ct]
              Cette option copie la marque de connexion (ctmark) vers la
              marque de paquet (nfmark) en utilisant les masques donnes. La
              nouvelle valeur de ctmark est determinee comme suit :

              nfmark = (nfmark & ~masque_nf) ^ (ctmark & masque_ct);

              Autrement dit, masque_nf determine les bits a mettre a zero et
              masque_ct les bits de ctmark a combiner a l'aide d'un XOR avec
              la nfmark. La valeur par defaut de masque_ct et masque_nf
              est 0xFFFFFFFF.

              --restore-mark ne peut etre utilisee que dans la table mangle.

       Les mnemoniques valables pour --set-xmark sont les suivants :

       --and-mark bits
              Effectuer un ET logique entre la ctmark et bits (le mnemonique
              pour --set-xmark 0/invbits ou invbits est la negation binaire de
              bits).

       --or-mark bits
              Effectuer un OU logique entre la ctmark et bits (le mnemonique
              pour --set-xmark bits/bits).

       --xor-mark bits
              Effectuer un XOR logique entre la ctmark et bits (le mnemonique
              pour --set-xmark bits/0).

       --set-mark valeur[/masque]
              Cette option permet de definir la marque de connexion. Si un
              masque est specifie, seuls les bits correspondant aux bits
              positionnes du masque seront modifies.

       --save-mark [--mask masque]
              Cette option permet de copier la marque de paquet nfmark vers la
              marque de connexion ctmark. Si un masque est specifie, seuls les
              bits correspondant aux bits positionnes du masque seront copies.

       --restore-mark [--mask masque]
              Cette option permet de copier la marque de connexion ctmark vers
              la marque de paquet nfmark. Si un masque est specifie, seuls les
              bits correspondant aux bits positionnes du masque seront copies.
              Cette option ne peut etre utilisee que dans la table mangle.

   CONNSECMARK
       Cette action permet de copier les marquages de securite depuis les
       paquets vers les connexions (si non etiquetees), et depuis les
       connexions vers les paquets (la encore, si non etiquetes). Utilisee en
       general en combinaison avec l'action SECMARK, elle peut etre utilisee
       dans la table security (a des fins de retrocompatibilite avec les
       noyaux plus anciens, elle peut aussi etre utilisee dans la table
       mangle).

       --save Si le paquet possede un marquage de securite, copier ce dernier
              vers la connexion si elle n'est pas marquee.

       --restore
              Si la connexion possede un marquage de securite, copier ce
              dernier vers le paquet s'il n'en possede pas deja un.


   CT
       L'action CT permet de definir les parametres d'un paquet ou de la
       connexion qui lui est associee. Elle attache un << modele >> d'entree
       de tracage de connexion au paquet, ce modele etant ensuite utilise par
       le coeur de conntrack lors de l'initialisation d'une nouvelle entree
       ct. Cette action ne peut donc etre utilisee que dans la table raw.

       --notrack
              Desactiver le tracage de connexion pour ce paquet.

       --helper nom
              Utiliser l'assistant identifie a l'aide de nom pour la
              connexion. Utiliser cette option est plus souple que charger les
              modules d'assistant de conntrack avec des ports predefinis.

       --ctevents evenement[,...]
              Ne generer que les evenements de conntrack specifies pour cette
              connexion. Les types d'evenement valables sont : new, related,
              destroy, reply, assured, protoinfo, helper, mark (ce type
              d'evenement fait reference a la ctmark, pas a la nfmark),
              natseqinfo et secmark (ctsecmark).

       --expevents evenement[,...]
              Ne generer que les evenements d'attente specifies pour cette
              connexion. Le type d'evenement valable est : new.

       --zone-orig {id|mark}
              Assigner ce paquet a la zone id pour le trafic venant de la
              direction ORIGINAL et n'effectuer des recherches que dans cette
              zone. Si mark est specifie a la place de id, la zone est derivee
              de la marque de paquet nfmark.

       --zone-reply {id|mark}
              Assigner ce paquet a la zone id pour le trafic venant de la
              direction REPLY et n'effectuer des recherches que dans cette
              zone. Si mark est specifie a la place de id, la zone est derivee
              de la marque de paquet nfmark.

       --zone {id|mark}
              Assigner ce paquet a la zone id et n'effectuer des recherches
              que dans cette zone. Si mark est specifie a la place de id, la
              zone est derivee de la marque de paquet nfmark. Par defaut les
              paquets ont pour zone 0. Cette option s'applique aux deux
              directions.

       --timeout nom
              Utiliser la politique de delai d'expiration identifiee par nom
              pour la connexion. Cette option permet une definition plus
              souple de la politique de delai d'expiration que les valeurs de
              delai d'expiration global disponibles dans
              /proc/sys/net/netfilter/nf_conntrack_*_timeout_*.

   DNAT
       Cette action ne peut etre utilisee que dans la table nat, dans les
       chaines PREROUTING et OUTPUT, et dans les chaines definies par
       l'utilisateur qui sont appelees depuis ces chaines. Elle indique que
       l'adresse de destination du paquet doit etre modifiee (et que tous les
       paquets ulterieurs de cette connexion seront aussi modifies), et que
       l'examen des regles doit cesser. Elle accepte les options suivantes :

       --to-destination [adr_ip[-adr_ip]][:port[-port[/port_de_base]]]
              Cette option permet de specifier une adresse IP de destination
              seule ou une plage inclusive d'adresses IP. Il est possible
              d'indiquer une plage de ports si la regle specifie aussi un des
              protocoles suivants : tcp, udp, dccp ou sctp. Si aucune plage de
              ports n'est specifiee, le port de destination ne sera jamais
              modifie. Si aucune adresse IP n'est specifiee, seul le port de
              destination sera modifie. Si port_de_base est specifie, la
              difference entre le port de destination d'origine et sa valeur
              sera utilisee comme decalage dans la plage de ports de
              redirection, ce qui permet de creer des plages de redirection de
              ports decales (disponible depuis la version 4.18 du noyau). Pour
              un seul port ou un port_de_base, il est possible d'utiliser un
              nom de service tel que ceux du fichier /etc/services.

       --random
              Rendre aleatoire la redirection du port source
              (noyaux >= 2.6.22).

       --persistent
              Attribuer a un client les memes adresses source et destination
              pour chaque connexion. Cette option l'emporte sur l'action SAME.
              La redirection persistante est prise en charge depuis la
              version 2.6.29-rc2.

       IPv6 est pris en charge depuis la version 3.7 du noyau Linux.

   DNPT (specifique a IPv6)
       Cette action permet d'effectuer une translation IPv6 a IPv6 sans
       conservation d'etat (stateless) du prefixe reseau de destination (comme
       decrit dans la RFC 6296).

       Vous devez utiliser cette action dans la table mangle, pas dans la
       table nat. Elle accepte les options suivantes :

       --src-pfx [prefixe/taille]
              Definir le prefixe source que vous voulez traduire, ainsi que sa
              taille.

       --dst-pfx [prefixe/taille]
              Definir le prefixe de destination que vous voulez utiliser dans
              la traduction, ainsi que sa taille.

       Pour annuler la traduction, vous devez utiliser l'action SNPT.
       Exemple :

              ip6tables -t mangle -I POSTROUTING -s fd00::/64  -o vboxnet0 -j
              SNPT --src-pfx fd00::/64 --dst-pfx 2001:e20:2000:40f::/64

              ip6tables -t mangle -I PREROUTING -i wlan0 -d
              2001:e20:2000:40f::/64 -j DNPT --src-pfx 2001:e20:2000:40f::/64
              --dst-pfx fd00::/64

       Vous devrez peut-etre activer le mandataire d'hotes voisins IPv6 :

              sysctl -w net.ipv6.conf.all.proxy_ndp=1

       Vous devez aussi utiliser l'action NOTRACK pour desactiver le tracage
       de connexion pour les flux traduits.

   DSCP
       Cette action modifie la valeur des bits DSCP (Differentiated Services
       Code Point -- valeur de code des services differencies) au sein de
       l'en-tete TOS (Type of Service -- type de service) du paquet IPv4.
       Comme elle manipule un paquet, elle ne peut etre utilisee que dans la
       table mangle.

       --set-dscp valeur
              Affecter une valeur numerique au champ DSCP (en decimal ou
              hexadecimal).

       --set-dscp-class classe
              Affecter une classe de DiffServ (Differentiated Services) au
              champ DSCP.

   ECN (specifique a IPv4)
       Cette action contourne de maniere selective les trous noirs ECN
       (Explicit Congestion Notification -- notification explicite de
       congestion) connus. Elle ne peut etre utilisee que dans la table
       mangle.

       --ecn-tcp-remove
              Supprimer tous les bits ECN de l'en-tete TCP. Bien entendu,
              cette option ne peut etre utilisee qu'en combinaison avec -p
              tcp.

   HL (specifique a IPv6)
       Cette action permet de modifier le champ << Hop Limit >> de l'en-tete
       IPv6. Le champ << Hop Limit >> est similaire a la valeur de TTL (Time
       To Live -- duree de vie) en IPv4. Definir ou incrementer la valeur du
       champ << Hop Limit >> peut s'averer tres dangereux et il faut par
       consequent eviter de le faire a tout prix. Cette action ne peut etre
       utilisee que dans la table mangle.

       Ne definissez ou incrementez jamais cette valeur pour les paquets qui
       quittent votre reseau local !

       --hl-set valeur
              Definir << Hop Limit >> a valeur.

       --hl-dec valeur
              Decrementer << Hop Limit >> un nombre de fois egal a valeur.

       --hl-inc valeur
              Incrementer << Hop Limit >> un nombre de fois egal a valeur.

   HMARK
       Cette action est similaire a MARK, c'est-a-dire qu'elle definit la
       marque fwmark (marque de pare-feu), mais que cette derniere est
       calculee en hachant le selecteur de paquet choisi. Vous devez aussi
       specifier la plage de marquage et eventuellement le decalage a partir
       duquel demarrer. Les messages d'erreur ICMP (Internet Control Message
       Protocol -- Protocole de message de controle sur Internet) sont
       inspectes et utilises pour calculer le hachage.

       Les options disponibles sont :

       --hmark-tuple tuple
              Les membres du tuple possibles sont : src pour adresse source
              (adresses IPv4 ou IPv6), dst pour adresse de destination
              (adresses IPv4 ou IPv6), sport pour port source (TCP, UDP,
              UDPlite, SCTP, DCCP), dport pour port de destination (TCP, UDP,
              UDPlite, SCTP, DCCP), spi pour << Security Parameter Index >>
              (AH, ESP) et ct pour utilisation du tuple conntrack a la place
              des selecteurs de paquet.

       --hmark-mod valeur (doit etre superieure a 0)
              Modulus pour le calcul du hachage (afin de limiter la plage de
              marques possibles).

       --hmark-offset valeur
              Decalage a partir duquel demarrer les marques.

       Pour une utilisation avancee, au lieu d'utiliser --hmark-tuple, vous
       pouvez specifier
              des prefixes et des masques personnalises :

       --hmark-src-prefix cidr
              Le masque d'adresse source en notation CIDR.

       --hmark-dst-prefix cidr
              Le masque d'adresse de destination en notation CIDR.

       --hmark-sport-mask valeur
              Un masque de port source sur 16 bits en hexadecimal.

       --hmark-dport-mask valeur
              Un masque de port de destination sur 16 bits en hexadecimal.

       --hmark-spi-mask valeur
              Un champ de 32 bits avec le masque spi.

       --hmark-proto-mask valeur
              Un champ sur 8 bits avec le numero du protocole de la couche 4.

       --hmark-rnd valeur
              Une valeur personnalisee quelconque sur 32 bits pour amorcer le
              calcul du hachage.

       Exemples :

       iptables -t mangle -A PREROUTING -m conntrack --ctstate NEW
        -j HMARK --hmark-tuple ct,src,dst,proto --hmark-offset 10000
       --hmark-mod 10 --hmark-rnd 0xcafedeca

       iptables -t mangle -A PREROUTING -j HMARK --hmark-offset 10000
       --hmark-tuple src,dst,proto --hmark-mod 10 --hmark-rnd 0xfadeface

   IDLETIMER
       Cette action permet de detecter le moment ou des interfaces sont
       inactives depuis un certain temps. Les minuteurs sont identifies par
       des etiquettes et sont crees lorsqu'une regle est definie avec une
       nouvelle etiquette. Les regles acceptent aussi une valeur de delai (en
       secondes) en tant qu'option. Si plusieurs regles utilisent la meme
       etiquette de minuteur, ce dernier sera redemarre chaque fois qu'une de
       ces regles s'applique a un paquet. Une entree est creee pour chaque
       minuteur dans sysfs(5). Cet attribut contient le temps restant avant
       expiration du minuteur. Les attributs sont situes sous la classe
       xt_idletimer :

       /sys/class/xt_idletimer/timers/<etiquette>

       Lorsque le minuteur arrive a expiration, le module de l'action envoie
       une notification sysfs(5) vers l'espace utilisateur, ce dernier pouvant
       alors decider quoi faire (par exemple se deconnecter pour economiser de
       l'energie).

       --timeout valeur
              La valeur de delai en secondes apres laquelle la notification
              sera envoyee.

       --label chaine
              Un identifiant unique pour chaque minuteur. La taille maximale
              de la chaine est de 27 caracteres.

   LED
       Cette action permet de creer un declencheur de LED (Light-Emitting
       Diode -- diode electroluminescente) qui peut alors etre relie aux
       voyants de l'indicateur du systeme en les allumant ou les faisant
       clignoter lorsque certains paquets traversent le systeme. Par exemple,
       une LED pourrait s'allumer pendant quelques minutes chaque fois qu'une
       connexion SSH est etablie avec la machine locale. Le comportement du
       declencheur peut etre controle a l'aide des options suivantes :

       --led-trigger-id nom
              Le nom donne au declencheur de LED. Le veritable nom du
              declencheur sera prefixe par << netfilter- >>.

       --led-delay ms
              Le temps (en millisecondes) pendant lequel la LED devra rester
              allumee lorsqu'un paquet arrive avant d'etre eteinte. La valeur
              par defaut est 0 (clignoter aussi vite que possible). Pour que
              la LED reste allumee en permanence une fois activee, utilisez la
              valeur speciale inf (dans ce cas, le declencheur devra etre
              detache et attache a nouveau manuellement au dispositif a LED
              pour eteindre cette derniere).

       --led-always-blink
              Toujours faire clignoter la LED a l'arrivee d'un paquet, meme si
              cette derniere est deja allumee. Cette option permet de notifier
              l'arrivee de nouveaux paquets, meme avec de grandes valeurs de
              delai (autrement, le delai serait simplement prolonge de maniere
              silencieuse).

       Exemple :

       Creer un declencheur de LED pour le trafic SSH entrant :
              iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh

       puis relier le nouveau declencheur a une LED :
              echo netfilter-ssh >/sys/class/leds/nom_led/trigger

   LOG
       Cette action permet d'activer la journalisation des paquets qui
       correspondent au niveau du noyau. Lorsqu'elle est utilisee dans une
       regle, le noyau Linux enregistre certaines informations a propos de
       tous les paquets qui correspondent (comme la plupart des champs
       d'en-tete IP/IPv6) dans le journal du noyau (d'ou elles peuvent etre
       consultees a l'aide de dmesg(1) ou lues dans le journal du systeme).

       Cette action est << non terminale >>, c'est-a-dire que le parcours des
       regles continue a la regle suivante. Ainsi, si vous voulez journaliser
       les paquets que vous refusez, utilisez deux regles separees avec les
       memes criteres de correspondance, la premiere utilisant l'action LOG et
       la seconde la cible DROP (ou REJECT).

       --log-level niveau
              Le niveau de journalisation qui peut etre un nombre (specifique
              au systeme) ou un mnemonique. Les valeurs possibles sont (dans
              l'ordre decroissant des priorites) : emerg, alert, crit, error,
              warning, notice, info ou debug.

       --log-prefix prefixe
              Faire debuter les messages de journalisation par le prefixe
              specifie (jusqu'a 29 lettres de long), ce qui permet de
              distinguer les messages dans les journaux.

       --log-tcp-sequence
              Journaliser les numeros de sequence TCP. Cette option induit un
              risque de securite si le journal est accessible en lecture pour
              les utilisateurs.

       --log-tcp-options
              Journaliser les options de l'en-tete du paquet TCP.

       --log-ip-options
              Journaliser les options de l'en-tete du paquet IP/IPv6.

       --log-uid
              Journaliser l'UID du processus qui a genere le paquet.

       --log-macdecode
              Journaliser les adresses MAC et le protocole.

   MARK
       Cette action permet de definir la valeur de la marque de Netfilter
       associee au paquet. Par exemple, vous pouvez l'utiliser conjointement
       avec un routage base sur la marque de pare-feu fwmark (necessite
       iproute2). Si vous envisagez de le faire, notez que pour affecter le
       routage, la marque doit etre definie soit dans la chaine PREROUTING,
       soit dans la chaine OUTPUT de la table mangle. La taille du champ de la
       marque est de 32 bits.

       --set-xmark valeur[/masque]
              Mettre a zero les bits donnes par masque et combiner valeur avec
              la marque de paquet (<< nfmark >>) a l'aide d'un XOR. Si masque
              est omis, sa valeur par defaut est 0xFFFFFFFF.

       --set-mark valeur[/masque]
              Mettre a zero les bits donnes par masque et combiner valeur avec
              la marque de paquet a l'aide d'un OU logique. Si masque est
              omis, sa valeur par defaut est 0xFFFFFFFF.

       Les mnemoniques suivants sont disponibles :

       --and-mark bits
              Combiner la nfmark avec bits a l'aide d'un ET logique (c'est le
              mnemonique pour --set-xmark 0/invbits ou invbits est la negation
              logique de bits).

       --or-mark bits
              Combiner la nfmark avec bits a l'aide d'un OU logique (c'est le
              mnemonique pour --set-xmark bits/bits).

       --xor-mark bits
              Combiner la nfmark avec bits a l'aide d'un XOR (c'est le
              mnemonique pour --set-xmark bits/0).

   MASQUERADE
       Cette action n'est valable que dans la table nat et la chaine
       POSTROUTING. Elle ne doit etre utilisee que pour les connexions avec
       adresse IP dynamiquement assignee (dialup -- acces commute) : si vous
       avez une adresse IP statique, vous devez utiliser l'action SNAT. La
       << mascarade >> (masquerading) consiste a specifier une association
       avec l'adresse IP de l'interface par laquelle sort le paquet, mais a
       aussi pour effet d'oublier les connexions lorsque l'interface est
       desactivee. C'est un comportement approprie lorsque les acces commutes
       ulterieurs ont peu de chance d'avoir la meme adresse d'interface (et
       que les connexions etablies seront perdues de toute facon).

       --to-ports port[-port]
              Cette option permet de specifier une plage de ports source a
              utiliser, outrepassant les heuristiques de selection de port
              source de SNAT (voir ci-avant). Elle ne peut etre utilisee que
              si la regle specifie aussi un des protocoles suivants : tcp,
              udp, dccp ou sctp.

       --random
              Rendre aleatoire la redirection de port source (noyaux de
              version >= 2.6.21). A partir de la version 5.0 du noyau,
              --random est identique a --random-fully.

       --random-fully
              Rendre totalement aleatoire la redirection de port source
              (noyaux de version >= 3.13).

       IPv6 est pris en charge depuis la version 3.7 du noyau Linux.

   NETMAP
       Cette action permet de rediriger statiquement tout un reseau d'adresses
       vers un autre reseau d'adresses. Elle ne peut etre utilisee que dans
       les regles de la table nat.

       --to adresse[/masque]
              Cette option permet de specifier le reseau d'adresses de
              redirection. L'adresse resultante est construite de la maniere
              suivante : tous les bits a 1 du masque sont remplaces par ceux
              de l'adresse de redirection specifiee, et tous les bits a 0 du
              masque par ceux de l'adresse d'origine.

       IPv6 est pris en charge depuis la version 3.7 du noyau Linux.

   NFLOG
       Cette action permet la journalisation des paquets qui correspondent.
       Lorsqu'elle est utilisee dans une regle, le noyau Linux transmet le
       paquet au dorsal de journalisation charge pour le journaliser. Cette
       action est en general utilisee conjointement avec nfnetlink_log comme
       dorsal de journalisation, lequel diffusera (multicast) le paquet a
       l'aide d'un socket netlink vers le groupe de multidiffusion specifie.
       Un ou plusieurs processus de l'espace utilisateur peuvent souscrire au
       groupe afin de recevoir les paquets. Comme LOG, c'est une action << non
       terminale >>, c'est-a-dire que le parcours des regles continue a la
       regle suivante.

       --nflog-group groupe_netlink
              Cette option permet de specifier le groupe netlink (0 - 2^16-1)
              auquel les paquets sont envoyes (applicable seulement a
              nfnetlink_log). La valeur par defaut est 0.

       --nflog-prefix prefixe
              Cette option permet de specifier un prefixe, d'une longueur
              maximale de 64 caracteres, a ajouter au message de
              journalisation pour faciliter la discrimination des messages
              dans les journaux.

       --nflog-range taille
              Cette option n'ayant jamais fonctionne, utilisez --nflog-size a
              la place.

       --nflog-size taille
              Cette option permet de specifier le nombre d'octets qui doivent
              etre copies vers l'espace utilisateur (applicable seulement pour
              nfnetlink_log). Des instances de nfnetlink_log pouvant specifier
              leur propre plage, cette option outrepasse cette derniere.

       --nflog-threshold taille
              Cette option permet de specifier le nombre de paquets a mettre
              en file d'attente dans le noyau avant de les envoyer vers
              l'espace utilisateur (applicable seulement pour nfnetlink_log).
              Une valeur elevee diminue la surcharge par paquet, mais augmente
              le delai avec lequel les paquets atteignent l'espace
              utilisateur. La valeur par defaut est 1.

   NFQUEUE
       Cette action transmet le paquet a l'espace utilisateur en utilisant le
       gestionnaire nfnetlink_queue. Le paquet est place dans la file
       d'attente identifiee par son numero sur 16 bits. L'espace utilisateur
       peut inspecter et modifier le paquet s'il le souhaite ; il devra alors
       supprimer ou reinjecter le paquet dans le noyau. Voir
       libnetfilter_queue pour les details. nfnetlink_queue a ete ajoute a
       Linux a partir de la version 2.6.14, queue-balance a partir de la
       version 2.6.31 et queue-bypass a partir de la version 2.6.39.

       --queue-num valeur
              Cette option permet de specifier le numero de file d'attente a
              utiliser qui doit etre compris entre 0 et 65535 inclus. La
              valeur par defaut est 0.

       --queue-balance valeur:valeur
              Cette option permet de specifier une plage de numeros de file
              d'attente a utiliser. Les paquets seront alors repartis entre
              ces dernieres. Cette option s'avere utile pour les systemes
              multicoeurs : lancer plusieurs instances du programme en espace
              utilisateur associes aux files d'attente x, x+1, ... x+n et
              utiliser << --queue-balance x:x+n >>. Les paquets appartenant a
              une meme connexion sont places dans la meme file d'attente de
              netfilter (nfqueue). A cause de certains details de
              l'implementation, une valeur de borne inferieure de la plage
              egale a 0 limite la valeur de la borne superieure a 65534,
              c'est-a-dire que le nombre de files d'attente entre lesquelles
              les paquets pourront etre repartis est de 65535.

       --queue-bypass
              Par defaut, si aucun programme de l'espace utilisateur n'est
              associe a une file d'attente de netfilter, tous les paquets qui
              doivent etre mis en file d'attente sont supprimes. Lorsque cette
              option est utilisee, la regle contenant l'action NFQUEUE se
              comportera comme la cible ACCEPT, et le paquet sera envoye a la
              table suivante.

       --queue-cpu-fanout
              Cette option est disponible a partir de la version 3.10 du noyau
              Linux. Lorsqu'elle est specifiee conjointement avec l'option
              --queue-balance, elle utilise l'identifiant de processeur comme
              un index pour associer les paquets a une file d'attente. Elle
              est concue sur l'idee selon laquelle on peut ameliorer les
              performances s'il y a une file d'attente par processeur. Vous
              devez specifier l'option --queue-balance pour pouvoir utiliser
              cette option.

   NOTRACK
       Cette action permet de desactiver le tracage des connexions pour tous
       les paquets qui correspondent a la regle actuelle. Elle est equivalente
       a << -j CT --notrack >>. Comme CT, NOTRACK ne peut etre utilisee que
       dans la table raw.

   RATEEST
       Cette action collecte des statistiques, effectue des estimations de
       debit et sauvegarde les resultats pour une evaluation ulterieure a
       l'aide du module rateest.

       --rateest-name nom
              Cette option permet d'enregistrer le decompte des paquets qui
              correspondent dans l'ensemble specifie par nom, ce dernier
              pouvant etre choisi arbitrairement.

       --rateest-interval quantite{s|ms|<micro>s}
              Cette option permet de specifier un intervalle de mesure de
              debit en secondes, millisecondes ou microsecondes.

       --rateest-ewmalog valeur
              Cette option permet de specifier avec quelle periode doit etre
              effectue le calcul de la moyenne de la mesure du debit.

   REDIRECT
       Cette action ne peut etre utilisee que dans les chaines PREROUTING et
       OUTPUT de la table nat, et dans les chaines definies par l'utilisateur
       qui ne sont appelees que depuis ces chaines. Elle redirige le paquet
       vers la machine elle-meme en remplacant l'adresse IP de destination par
       l'adresse primaire de l'interface d'entree (les paquets generes
       localement sont associes a l'adresse << localhost >>, 127.0.0.1 pour
       IPv4 et ::1 pour IPv6, et les paquets arrivant sur une interface qui
       n'ont pas d'adresse IP configuree sont supprimes).

       --to-ports port[-port]
              Cette option permet de specifier un port ou une plage de ports
              de destination a utiliser : sans cela, le port de destination ne
              sera jamais modifie. Elle ne peut etre utilisee que si la regle
              specifie aussi un des protocoles suivants : tcp, udp, dccp ou
              sctp. Pour un port unique, il est aussi possible de specifier un
              nom de service parmi ceux listes dans /etc/services.

       --random
              Rendre aleatoire la redirection du port source
              (noyaux >= 2.6.22).

       IPv6 est pris en charge a partir de la version 3.7 des noyaux Linux.

   REJECT (specifique a IPv6)
       Cette action permet de renvoyer un paquet d'erreur en reponse a un
       paquet qui correspondait a la regle ; cela mis a part, elle est
       equivalente a DROP ; il s'agit donc d'une action terminale qui
       interrompt le parcours des regles. Elle ne peut etre utilisee que dans
       les chaines INPUT, FORWARD et OUTPUT, et dans les chaines definies par
       l'utilisateur qui ne sont appelees que depuis ces chaines. Les options
       suivantes permettent de controler la nature du paquet d'erreur
       renvoye :

       --reject-with type
              Le type specifie peut etre icmp6-no-route, no-route,
              icmp6-adm-prohibited, adm-prohibited, icmp6-addr-unreachable,
              addr-unreach ou icmp6-port-unreachable qui renvoie le message
              d'erreur ICMPv6 approprie (la valeur par defaut est
              icmp6-port-unreachable). L'option tcp-reset peut etre utilisee
              dans les regles qui ne concernent que le protocole TCP : elle
              renvoie un paquet TCP RST. Cette option s'avere particulierement
              utile pour bloquer les tentatives ident (113/tcp) qui
              surviennent frequemment lors d'envois de courriels a des
              serveurs de messagerie defectueux (qui autrement n'accepteront
              pas votre courrier). tcp-reset ne peut etre utilisee que depuis
              la version 2.6.14 du noyau.

       Avertissement : vous ne devez pas appliquer sans discrimination
       l'action REJECT aux paquets dont l'etat de connexion est considere
       INVALID ; vous devez plutot les supprimer a l'aide de la cible DROP.

       Imaginez un hote source transmettant un paquet P, ce dernier subissant
       un retard de transmission si important que l'hote source effectue une
       retransmission sous la forme du paquet P_2, ce dernier atteignant sa
       destination avec succes et faisant progresser l'etat de connexion
       normalement. Il est concevable que le paquet P arrivant en retard soit
       considere comme non associe a une entree de tracage de connexion.
       Generer une reponse REJECT pour un tel paquet mettrait alors fin a la
       connexion saine.

       Donc, au lieu de :

       -A INPUT ... -j REJECT

       utilisez plutot :

       -A INPUT ... -m conntrack --ctstate INVALID -j DROP -A INPUT ... -j
       REJECT

   REJECT (specifique a IPv4)
       Cette action permet de renvoyer un paquet d'erreur en reponse a un
       paquet qui correspondait a la regle ; cela mis a part, elle est
       equivalente a DROP ; il s'agit donc d'une action terminale qui
       interrompt le parcours des regles. Elle ne peut etre utilisee que dans
       les chaines INPUT, FORWARD et OUTPUT, et dans les chaines definies par
       l'utilisateur qui ne sont appelees que depuis ces chaines. Les options
       suivantes permettent de controler la nature du paquet d'erreur
       renvoye :

       --reject-with type
              Le type specifie peut etre icmp-net-unreachable,
              icmp-host-unreachable, icmp-port-unreachable,
              icmp-proto-unreachable, icmp-net-prohibited,
              icmp-host-prohibited ou icmp-admin-prohibited (*) qui renvoie le
              message d'erreur ICMP approprie (la valeur par defaut est
              icmp-port-unreachable). L'option tcp-reset peut etre utilisee
              dans les regles qui ne concernent que le protocole TCP : elle
              renvoie un paquet TCP RST. Cette option s'avere particulierement
              utile pour bloquer les tentatives ident (113/tcp) qui
              surviennent frequemment lors d'envois de courriels a des
              serveurs de messagerie defectueux (qui autrement n'accepteront
              pas votre courrier).

              (*) Utiliser icmp-admin-prohibited avec des noyaux qui ne le
              prennent pas en charge entrainera l'envoi vers la cible DROP au
              lieu de l'application de l'action REJECT.

       Avertissement : vous ne devez pas appliquer sans discrimination
       l'action REJECT aux paquets dont l'etat de connexion est considere
       INVALID ; vous devez plutot les supprimer a l'aide de la cible DROP.

       Imaginez un hote source transmettant un paquet P, ce dernier subissant
       un retard de transmission si important que l'hote source effectue une
       retransmission sous la forme du paquet P_2, ce dernier atteignant sa
       destination avec succes et faisant progresser l'etat de connexion
       normalement. Il est concevable que le paquet P arrivant en retard soit
       considere comme non associe a une entree de tracage de connexion.
       Generer une reponse REJECT pour un tel paquet mettrait alors fin a la
       connexion saine.

       Donc, au lieu de :

       -A INPUT ... -j REJECT

       utilisez plutot :

       -A INPUT ... -m conntrack --ctstate INVALID -j DROP -A INPUT ... -j
       REJECT

   SECMARK
       Ce module permet de definir la valeur de la marque de securite associee
       au paquet et destinee a etre utilisee par les sous-systemes de securite
       tels que SELinux. Il peut etre utilise dans la table security (ainsi
       que dans la table mangle a des fins de retrocompatibilite avec les
       noyaux plus anciens). La taille de la marque est de 32 bits.

       --selctx contexte_securite

   SET
       Ce module permet d'ajouter et/ou supprimer des entrees dans les
       ensembles d'adresses IP definis a l'aide d'ipset(8).

       --add-set nom_ensemble drapeau[,drapeau...]
              Cette option permet d'ajouter la(les) adresse(s)/port(s) du
              paquet a l'ensemble specifie.

       --del-set nom_ensemble drapeau[,drapeau...]
              Cette option permet de supprimer la(les) adresse(s)/port(s) du
              paquet de l'ensemble specifie.

       --map-set nom_ensemble drapeau[,drapeau...]
              [--map-mark] [--map-prio] [--map-queue] mappent les proprietes
              du paquet (marquage pare-feu, priorite tc (traffic control
              -- controle de trafic), file d'attente materiel)

              ou les drapeau(x), dont le nombre est limite a 6, sont des
              specifications src et/ou dst.

       --timeout valeur
              Lors de l'ajout d'une entree, cette option permet de definir la
              valeur du delai d'expiration a utiliser a la place de la valeur
              par defaut definie pour l'ensemble.

       --exist
              Lors de l'ajout d'une entree, si elle existe deja, cette option
              permet de reinitialiser la valeur du delai d'expiration a la
              valeur specifiee ou, a defaut, a celle definie pour l'ensemble.

       --map-set nom_ensemble
              nom_ensemble doit etre cree a l'aide de l'option --skbinfo.
              --map-mark mappe la marque de pare-feu avec le paquet en en
              recherchant la valeur dans l'ensemble. --map-prio mappe la
              priorite du controle de trafic avec le paquet en en recherchant
              la valeur dans l'ensemble. --map-queue mappe la file d'attente
              materiel de la NIC (Network Interface Card -- carte reseau) en
              en recherchant la valeur dans l'ensemble.

              L'option --map-set ne peut etre utilisee que dans la table
              mangle. Les options --map-prio et --map-queue peuvent etre
              utilisees dans les chaines OUTPUT, FORWARD et POSTROUTING.

       L'utilisation de << -j SET >> necessite la prise en charge d'ipset par
       le noyau, ce qui est le cas, pour les noyaux standards, a partir de
       Linux 2.6.39.

   SNAT
       Cette action ne peut etre utilisee que dans les chaines POSTROUTING et
       INPUT de la table nat, et dans les chaines definies par l'utilisateur
       qui ne sont appelees que depuis ces chaines. Elle indique que l'adresse
       source du paquet (ainsi que celle de tous les paquets ulterieurs de
       cette connexion) doit etre modifiee et que le parcours des regles doit
       cesser. Elle accepte les options suivantes :

       --to-source [adr_ip[-adr_ip]][:port[-port]]
              Cette option permet de specifier une seule nouvelle adresse IP
              source ou une plage inclusive d'adresses IP, et eventuellement
              une plage de ports, si la regle specifie aussi un des protocoles
              suivants : tcp, udp, dccp ou sctp. Si aucune plage de ports
              n'est specifiee, les ports source de numero inferieur a 512
              seront rediriges vers d'autres ports de numero inferieur a 512,
              ceux dont les numeros sont compris entre 512 et 1023 inclus
              seront rediriges vers d'autres ports de numero inferieur a 1024
              et les autres ports seront rediriges vers d'autres ports de
              numero superieur ou egal a 1024. Lorsque c'est possible, aucune
              modification de port n'est effectuee.

       --random
              Rendre aleatoire la redirection du port source grace a un
              algorithme base sur le hachage (noyaux de version >= 2.6.21).

       --random-fully
              Rendre totalement aleatoire la redirection du port source grace
              a un PRNG (Pseudorandom Number Generator -- generateur de
              nombres pseudo-aleatoires) ; disponible a partir de la
              version 3.14 du noyau.

       --persistent
              Attribuer a un client les memes adresses source et destination
              pour chaque connexion. Cette option l'emporte sur l'action SAME.
              La redirection persistante est prise en charge depuis la
              version 2.6.29-rc2.

       Les noyaux de version anterieure a 2.6.36-rc1 ne prennent pas en charge
       l'action SNAT dans la chaine INPUT.

       IPv6 est pris en charge depuis la version 3.7 du noyau Linux.

   SNPT (specifique a IPv6)
       Cette action permet d'effectuer une translation NPTv6 (IPv6 a IPv6
       Network Prefix Translation) sans conservation d'etat (stateless) du
       prefixe reseau source (comme decrit dans la RFC 6296).

       Vous devez utiliser cette action dans la table mangle, pas dans la
       table nat. Elle accepte les options suivantes :

       --src-pfx [prefixe/taille]
              Definir le prefixe source que vous voulez traduire, ainsi que sa
              taille.

       --dst-pfx [prefixe/taille]
              Definir le prefixe de destination que vous voulez utiliser dans
              la traduction, ainsi que sa taille.

       Pour annuler la translation, vous devez utiliser l'action DNPT.
       Exemple :

              ip6tables -t mangle -I POSTROUTING -s fd00::/64  -o vboxnet0 -j
              SNPT --src-pfx fd00::/64 --dst-pfx 2001:e20:2000:40f::/64

              ip6tables -t mangle -I PREROUTING -i wlan0 -d
              2001:e20:2000:40f::/64 -j DNPT --src-pfx 2001:e20:2000:40f::/64
              --dst-pfx fd00::/64

       Vous devrez peut-etre activer le mandataire d'hotes voisins IPv6 :

              sysctl -w net.ipv6.conf.all.proxy_ndp=1

       Vous devez aussi utiliser l'action NOTRACK pour desactiver le tracage
       de connexion pour les flux traduits.

   SYNPROXY
       Cette action permet de traiter la poignee de main TCP en trois temps
       (TCP three-way-handshake) en parallele dans le contexte netfilter pour
       proteger le systeme de la machine locale ou du dorsal. Elle necessite
       le tracage de connexion, car les numeros de sequence doivent etre
       traduits. La capacite des noyaux a absorber les attaques SYNFLOOD ayant
       ete considerablement amelioree avec la version 4.4, cette action ne
       devrait plus etre necessaire pour proteger les serveurs Linux.

       --mss taille_maximale_segment
              Cette option permet de definir la taille maximale de segment
              indiquee aux clients. Elle doit etre identique a celle du
              dorsal.

       --wscale redimensionnement_fenetre
              Facteur de multiplication de la fenetre de reception indique aux
              clients. Il doit etre identique a celui du dorsal.

       --sack-perm
              Transmission de l'option d'acquittement selectif du client au
              dorsal (sera desactivee si non presente).

       --timestamps
              Transmission de l'option d'horodatage du client au dorsal (sera
              desactivee si non presente, aussi necessaire pour l'acquittement
              selectif et le redimensionnement de fenetre).

       Exemple :

       Determiner les options tcp utilisees par le dorsal a partir d'un
       systeme externe.

              tcpdump -pni eth0 -c 1 'tcp[tcpflags] == (tcp-syn|tcp-ack)'
                  port 80 &
              telnet 192.0.2.42 80
              18:57:24.693307 IP 192.0.2.42.80 > 192.0.2.43.48757:
                  Flags [S.], seq 360414582, ack 788841994, win 14480,
                  options [mss 1460,sackOK,
                  TS val 1409056151 ecr 9690221,
                  nop,wscale 9],
                  length 0

       Mettre le mode tcp_loose a off de facon que le tracage de connexion
       marque les paquets hors flux comme << INVALID >>.

              echo 0 > /proc/sys/net/netfilter/nf_conntrack_tcp_loose

       Faire que les paquets SYN ne soient pas traces.

              iptables -t raw -A PREROUTING -i eth0 -p tcp --dport 80
                  --syn -j CT --notrack

       Intercepter les etats << UNTRACKED >> (paquets SYN) et << INVALID >>
       (paquets ACK de la poignee de main en trois temps) et les soumettre a
       l'action SYNPROXY. Cette regle repondra aux paquets SYN avec des
       syncookies SYN+ACK, creera une connexion ESTABLISHED pour une reponse
       client valable (paquets ACK de la poignee de main en trois temps) et
       supprimera les cookies incorrects. Les combinaisons de drapeaux
       inattendues (par exemple SYN+FIN, SYN+ACK) au cours de la poignee de
       main en trois temps ne correspondront pas et le parcours des regles
       continuera.

              iptables -A INPUT -i eth0 -p tcp --dport 80
                  -m state --state UNTRACKED,INVALID -j SYNPROXY
                  --sack-perm --timestamp --mss 1460 --wscale 9

       Supprimer les paquets non valables, c'est-a-dire les paquets hors flux
       qui n'ont pas ete soumis a l'action SYNPROXY.

              iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state
              INVALID -j DROP

   TCPMSS
       Cette action modifie la valeur de MSS (Maximum Segment Size -- taille
       maximale de segment) des paquets TCP SYN pour controler la taille
       maximale pour cette connexion (en general en la limitant au MTU
       (Maximum Transmission Unit -- unite de transmission maximale) de votre
       interface de sortie moins 40 pour IPv4 ou moins 60 pour IPv6). Bien
       entendu, elle ne peut etre utilisee que conjointement avec l'option -p
       tcp.

       Cette action permet de contourner les FAI ou serveurs en etat de mort
       cerebrale manifeste qui bloquent les paquets consideres comme
       << necessitant une fragmentation ICMP >> ou comme << paquets ICMPv6
       trop gros >>. Les symptomes de ce probleme se manifestent par le fait
       que, bien que tout semble fonctionner correctement depuis votre
       pare-feu ou routeur Linux, les machines situees derriere ces derniers
       ne peuvent jamais echanger de gros paquets :

       1.  Les navigateurs internet se connectent puis se bloquent sans
           reception de donnees.

       2.  Les petits courriels sont envoyes, mais les gros bloquent.

       3.  ssh fonctionne correctement, mais scp bloque apres la poignee de
           main initiale.

       Solution : activer cette option et ajouter a la configuration de votre
       pare-feu une regle du style :

               iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN
                           -j TCPMSS --clamp-mss-to-pmtu

       --set-mss valeur
              Cette option permet de definir explicitement la MSS a la valeur
              specifiee. Si la MSS du paquet est deja inferieure a valeur,
              elle ne sera pas augmentee (a partir de Linux 2.6.25) pour
              eviter des problemes avec les hotes qui fonctionnent avec une
              MSS particuliere.

       --clamp-mss-to-pmtu
              Cette option permet de fixer automatiquement la valeur de MSS a
              << path_MTU - 40 >> pour IPv4 et a << path_MTU - 60 >> pour IPv6
              (NDT : le path_MTU est la plus petite unite de transmission
              maximale rencontree sur le chemin reseau). Elle peut ne pas
              fonctionner comme souhaite lorsque des routes asymetriques avec
              des path_MTU differents existent -- le noyau utilise le path_MTU
              qu'il utiliserait pour envoyer des paquets depuis lui-meme vers
              les adresses IP source et de destination. Avant Linux 2.6.25,
              seul le path_MTU vers l'adresse IP de destination etait
              considere par cette option ; les noyaux ulterieurs considerent
              aussi le path_MTU vers l'adresse IP source.

       Ces options sont mutuellement exclusives.

   TCPOPTSTRIP
       Cette action permet de supprimer les options TCP d'un paquet TCP (en
       fait, elle les remplace par des options vides -- NO-OP). Pour qu'elle
       fonctionne, vous devez ajouter l'option -p tcp.

       --strip-options option[,option...]
              Cette option permet de supprimer les options specifiees. Ces
              dernieres peuvent etre specifiees a l'aide de leur numero
              d'option TCP ou de leur nom symbolique. La liste des options
              reconnues peut etre obtenue en appelant iptables avec
              -j TCPOPTSTRIP -h.

   TEE
       Cette action permet de cloner un paquet et de rediriger ce clone vers
       une autre machine sur le segment reseau local. En d'autres termes, le
       prochain saut doit etre la cible, ou vous devrez configurer le prochain
       saut pour rediriger le clone plus loin si vous le souhaitez.

       --gateway adr_ip
              Cette option permet d'envoyer le paquet clone a l'hote pouvant
              etre atteint a l'adresse IP specifiee. Utiliser 0.0.0.0 (pour
              les paquets IPv4) ou :: (pour les paquets IPv6) n'est pas
              valable.

       Pour rediriger tout le trafic entrant sur eth0 vers une machine de
       journalisation de la couche reseau :

       -t mangle -A PREROUTING -i eth0 -j TEE --gateway 2001:db8::1

   TOS
       Cette action permet de definir le champ << Type of Service >> de
       l'en-tete IPv4 (y compris les bits de priorite) ou le champ
       << Priority >> de l'en-tete IPv6. Notez que TOS partage les memes bits
       que DSCP et ECN. L'action TOS ne peut etre utilisee que dans la table
       mangle.

       --set-tos valeur[/masque]
              Mettre a zero les bits specifies par masque (voir NOTE ci-apres)
              et combiner valeur et le champ TOS/Priority avec un XOR. Si
              masque est omis, sa valeur par defaut est 0xFF.

       --set-tos symbole
              Vous pouvez utiliser un nom symbolique lors de l'utilisation de
              l'action TOS pour IPv4. Un masque de 0xFF sera alors implicite
              (voir NOTE ci-apres). La liste des noms de TOS valables peut
              etre obtenue en appelant iptables avec << -j TOS -h >>.

       Les mnemoniques suivants sont disponibles :

       --and-tos bits
              Combiner la valeur de TOS et bits a l'aide d'un ET logique
              (mnemonique pour << --set-tos 0/invbits >> ou invbits est la
              negation binaire de bits, voir NOTE ci-apres).

       --or-tos bits
              Combiner la valeur de TOS et bits a l'aide d'un OU logique
              (mnemonique pour << --set-tos bits/bits >>, voir NOTE ci-apres).

       --xor-tos bits
              Combiner la valeur de TOS et bits a l'aide d'un XOR (mnemonique
              pour << --set-tos bits/0 >>, voir NOTE ci-apres).

       NOTE : avec les noyaux jusqu'a la version 2.6.38, a l'exception des
       versions a long terme 2.6.32 (>=.42), 2.6.33 (>=.15) et 2.6.35 (>=.14),
       un bogue fait que la manipulation du champ TOS en IPv6 se comporte
       differemment de ce qui est documente et differe de la version IPv4. Le
       masque TOS indique les bits que l'on veut mettre a zero ; il doit donc
       etre inverse avant d'etre applique au champ TOS d'origine. Cependant,
       les noyaux mentionnes ci-avant n'effectuent pas cette inversion, ce qui
       entraine un fonctionnement defectueux de l'option --set-tos et de ses
       mnemoniques.

   TPROXY
       Cette action ne peut etre utilisee que dans la table mangle, dans la
       chaine PREROUTING et les chaines definies par l'utilisateur qui ne sont
       appelees que depuis cette chaine. Elle redirige le paquet vers un
       socket local sans modifier l'en-tete de paquet de quelque facon que ce
       soit. Elle peut aussi modifier la valeur de marquage qui pourra alors
       etre utilisee dans des regles de routage avancees. Elle accepte trois
       options :

       --on-port port
              Cette option permet de specifier le port de destination a
              utiliser. Elle est obligatoire, 0 signifiant que le nouveau port
              de destination est le meme que le port d'origine. Elle n'est
              valable que si la regle specifie aussi -p tcp ou -p udp.

       --on-ip adresse
              Cette option permet de specifier l'adresse de destination a
              utiliser. Par defaut, il s'agit de l'adresse de l'interface
              entrante. Elle n'est valable que si la regle specifie aussi -p
              tcp ou -p udp.

       --tproxy-mark valeur[/masque]
              Cette option permet de marquer les paquets avec la paire
              valeur/masque specifiee. La valeur de la marque de pare-feu
              (fwmark) definie ici peut etre utilisee pour le routage avance
              (cette option est necessaire pour utiliser un mandataire
              transparent (transparent proxying) : si elle n'est pas presente,
              ces paquets seront rediriges, ce qui ne correspond probablement
              pas a ce vous souhaitez).

   TRACE
       Cette action marque les paquets de facon que le noyau journalise chaque
       regle qui correspond aux paquets lorsque ces derniers traversent les
       tables, chaines ou regles. Elle ne peut etre utilisee que dans la table
       raw.

       Avec iptables-legacy, un dorsal de journalisation comme ip(6)t_LOG ou
       nfnetlink_log doit etre charge pour que cela soit visible. Les paquets
       sont journalises avec le prefixe << TRACE:
       nom_table:nom_chaine:type:numero_regle >> ou type peut avoir pour
       valeur << rule >> pour une regle a part entiere, << return >> pour une
       regle implicite a la fin d'une chaine definie par l'utilisateur ou
       << policy >> pour la politique des chaines integrees.

       Avec iptables-nft, l'action est traduite en une expression meta nftrace
       de nftables. Ainsi le noyau envoie les evenements de tracage a l'aide
       de netlink vers l'espace utilisateur ou ils peuvent etre affiches en
       utilisant la commande xtables-monitor --trace. Pour les details,
       veuillez consulter xtables-monitor(8).

   TTL (specifique a IPv4)
       Cette action permet de modifier le champ d'en-tete IPv4 TTL. Le champ
       TTL determine le nombre de sauts (routeurs) qu'un paquet peut traverser
       avant que sa duree de vie soit depassee.

       Definir ou augmenter la valeur du champ TTL peut s'averer tres
       dangereux et il faut donc a tout prix eviter de le faire. Cette action
       ne peut etre utilisee que dans la table mangle.

       Ne definissez ou incrementez jamais cette valeur pour les paquets qui
       quittent votre reseau local !

       --ttl-set valeur
              Cette option permet de definir la valeur du champ TTL a valeur.

       --ttl-dec n
              Cette option permet de decrementer la valeur du champ TTL n
              fois.

       --ttl-inc n
              Cette option permet d'incrementer la valeur du champ TTL n fois.

   ULOG (specifique a IPv4)
       Cette action est le predecesseur obsolete specifique a IPv4 de l'action
       NFLOG. Elle permet de journaliser les paquets qui correspondent dans
       l'espace utilisateur. Lorsque cette action est definie pour une regle,
       le noyau Linux multidiffuse les paquets a l'aide d'un socket netlink.
       Un ou plusieurs processus de l'espace utilisateur peuvent alors
       s'abonner a differents groupes de multidiffusion et recevoir les
       paquets. Comme LOG, c'est une action << non terminale >>, c'est-a-dire
       que le parcours des regles continue a la regle suivante.

       --ulog-nlgroup groupe_netlink
              Cette option permet de specifier le groupe netlink (1-32) auquel
              est envoye le paquet. La valeur par defaut est 1.

       --ulog-prefix prefixe
              Cette option permet de specifier le prefixe a ajouter aux
              messages de journalisation ; d'une taille maximale de
              32 caracteres, il permet de distinguer les messages dans les
              journaux.

       --ulog-cprange n
              Cette option permet de specifier le nombre d'octets a copier
              vers l'espace utilisateur. Une valeur de 0 (la valeur par
              defaut) signifie que le paquet doit etre copie dans sa totalite
              sans tenir compte de sa taille.

       --ulog-qthreshold n
              Cette option permet de specifier le nombre de paquets a mettre
              en file d'attente dans le noyau. Definir cette valeur a 10, par
              exemple, stocke dix paquets dans le noyau et les transmet a
              l'espace utilisateur en un seul message netlink en plusieurs
              parties (multipart). La valeur par defaut est 1 (a des fins de
              retrocompatibilite).

TRADUCTION
       La traduction francaise de cette page de manuel a ete creee par Lucien
       Gentis <lucien.gentis@univ-lorraine.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter a
       la GNU General Public License version 3
       <https://www.gnu.org/licenses/gpl-3.0.html> concernant les conditions
       de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE.

       Si vous decouvrez un bogue dans la traduction de cette page de manuel,
       veuillez envoyer un message a <debian-l10n-french@lists.debian.org>.

iptables 1.8.10                                         iptables-extensions(8)