# Comprendre IPTABLE ou comprendre comment lire une règle

**URL:** <https://www.debian-fr.org/t/comprendre-iptable-ou-comprendre-comment-lire-une-regle/86346>\
**Category:** Support Debian\
**Created:** [Avril 3, 2022, 5:37 UTC](https://www.debian-fr.org/t/comprendre-iptable-ou-comprendre-comment-lire-une-regle/86346 "2022-04-03T17:37:40Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![fabdunet1313](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/3da27b/32.png) [@fabdunet1313](https://www.debian-fr.org/u/fabdunet1313)\
**Post date:** [Avril 3, 2022, 5:37 UTC](https://www.debian-fr.org/t/comprendre-iptable-ou-comprendre-comment-lire-une-regle/86346/1 "2022-04-03T17:37:40Z")

</div>

Bonjour,

```auto
iptables -A FORWARD -i eth1 -s 10.0.0.0/8 -o eth2 -d 192.168.0.0/24 -j ACCEPT

```

Cette règle permet d’accepté au réseau 10.0.0.0 d’accédé au réseau 192.168.0.0.

Je vais essayer de la traduire pour mieux comprendre

iptables -A {Ajoute une règle IPTABLE}  
-i {Interface }  
-s {sans doute l’adresse IP ou Réseau }  
-o {Out sans doute sortie }

J’essaie de comprendre les syntaxe IPTABLE, vous pouvez m’aider SVP ?

---

<div class="post-metadata">

**Author:** ![Almtesh](https://www.debian-fr.org/user_avatar/www.debian-fr.org/almtesh/32/10312_2.png) [@Almtesh](https://www.debian-fr.org/u/Almtesh)\
**Post date:** [Avril 4, 2022, 7:42 UTC](https://www.debian-fr.org/t/comprendre-iptable-ou-comprendre-comment-lire-une-regle/86346/2 "2022-04-04T07:42:17Z")

</div>

Bonjour,

Effectivement, la règle que tu nous mets dis d’accepter les paquets traversant arrivés par l’interface `eth1` et qui doivent repartir par l’interface `eth2`, qui ont pour source le réseau 10.0.0.0/8 et à destination du réseau 192.168.0.0/24.

Si tu souhaites apprendre à configurer un pare-feu sous Debian et que tu ne connais pas grand chose, je te conseille d’oublier `iptables` et de passer directement à `nftables`. Il faut savoir si ton besoin est de maîtriser `iptables` ou de maîtriser le filtrage réseau…

---

<div class="post-metadata">

**Author:** ![fabdunet1313](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/3da27b/32.png) [@fabdunet1313](https://www.debian-fr.org/u/fabdunet1313)\
**Post date:** [Avril 6, 2022, 6:59 UTC](https://www.debian-fr.org/t/comprendre-iptable-ou-comprendre-comment-lire-une-regle/86346/3 "2022-04-06T06:59:46Z")

</div>

Mon besoin est le filtrage réseau.

---

<div class="post-metadata">

**Author:** ![fabdunet1313](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/3da27b/32.png) [@fabdunet1313](https://www.debian-fr.org/u/fabdunet1313)\
**Post date:** [Avril 9, 2022, 9:27 UTC](https://www.debian-fr.org/t/comprendre-iptable-ou-comprendre-comment-lire-une-regle/86346/4 "2022-04-09T21:27:59Z")

</div>

et que veux dire le

iptables -A {Ajoute une règle IPTABLE}  
-i {Interface }  
-s {sans doute l’adresse IP ou Réseau }  
-o {Out sans doute sortie }

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Avril 10, 2022, 9:59 UTC](https://www.debian-fr.org/t/comprendre-iptable-ou-comprendre-comment-lire-une-regle/86346/5 "2022-04-10T09:59:42Z")

</div>

Le plus simple serait de consulter le manuel :  
[http://www.delafond.org/traducmanfr/man/man8/iptables.8.html](http://www.delafond.org/traducmanfr/man/man8/iptables.8.html)

> ### PARAMÈTRES
> 
> Les paramètres suivants composent une spécification de règle (quand ils sont utilisés dans les commandes **add** , **delete** , **insert** , **replace** et **append** ).
> 
> **-p, --protocol** [!] _protocole_
> 
> Protocole de la règle ou du paquet à vérifier. Le protocole spécifié est l’un des suivants : _tcp_ , _udp_ , _icmp_ ou _all_ , ou bien sous forme d’une valeur numérique, représentant un de ces protocoles ou un protocole différent. Un nom de protocole issu du fichier /etc/protocols est aussi autorisé. Un «!» avant le protocole inverse le test. La valeur zéro est équivalente à _all_ . Le protocole _all_ correspond à tous les protocoles ; c’est aussi la valeur par défaut lorsque cette option est omise.
> 
> **-s, --source** [!] _adresse_ [/ _masque_]
> 
> Spécification de la source. L’ _adresse_ peut être un nom de réseau, un nom d’hôte (attention : spécifier un nom à résoudre avec une requête distante de type DNS est vraiment une mauvaise idée), une adresse de réseau IP (avec /masque) ou une simple adresse IP. Le _masque_ peut être un masque de réseau ou un nombre entier spécifiant le nombre de bits égaux à 1 dans la partie gauche du masque de réseau (bits de poids fort). Par conséquent, un masque de _24_ est équivalent à _255.255.255.0_ . Un «!» avant la spécification d’adresse inverse la sélection d’adresse. L’option **–src** est un synonyme de --source.
> 
> **-d, --destination** [!] _adresse_ [/ _masque_]
> 
> Spécification de la destination. Voir la description du paramètre **-s** (source) pour une description détaillée de la syntaxe. L’option **–dst** est un synonyme de --destination.
> 
> **-j, --jump** _cible_
> 
> Ceci détermine la cible de la règle ; c’est-à-dire ce qu’il faut faire si le paquet correspond à la règle. La cible peut être une chaîne définie par l’utilisateur (autre que celle dans laquelle se situe cette règle), une des cibles prédéfinies qui décide immédiatement du sort du paquet, ou une extension (voir **EXTENSIONS** ci-dessous). Si cette option est omise dans une règle, la correspondance d’un paquet avec la règle n’aura aucun effet sur le sort du paquet, mais les compteurs seront incrémentés.
> 
> **-i, --in-interface** [!] [_nom_]
> 
> Nom de l’interface qui reçoit les paquets (seulement pour les paquets passant par les chaînes **INPUT** , **FORWARD** et **PREROUTING** ). Lorsqu’un «!» est utilisé avant le nom d’interface, la sélection est inversée. Si le nom de l’interface se termine par un «+», il désigne toutes les interfaces commençant par ce nom. Si cette option est omise, toutes les interfaces réseau sont désignées.
> 
> **-o, --out-interface** [!] [_nom_]
> 
> Nom de l’interface qui envoie les paquets (seulement pour les paquets passant par les chaînes **FORWARD** , **OUTPUT** et **POSTROUTING** ). Lorsqu’un «!» est utilisé avant le nom d’interface, la sélection est inversée. Si le nom de l’interface se termine par un «+», il désigne toutes les interfaces commençant par ce nom. Si cette option est omise, toutes les interface réseau sont désignées.
> 
> **[!] -f, --fragment**
> 
> Avec cette option, la règle s’applique seulement aux paquets fragmentés, mais seulement à partir du deuxième fragment. Comme il est impossible d’en déterminer les ports source ou destination (ou le type ICMP), aucune règle ne pourra établir de correspondance sur ces critères. Lorsqu’un «!» précède l’option «-f», la règle ne s’applique qu’aux fragments d’en-tête ou aux paquets non fragmentés.
> 
> **-c, --set-counters** _paquets octets_
> 
> Ceci autorise l’administrateur à initialiser les compteurs de paquets et d’octets d’une règle (lors des opérations **INSERT,**  **APPEND,**  **REPLACE** ).
