# Récupérer les « états » d'un routeur sous Debian

**URL:** <https://www.debian-fr.org/t/recuperer-les-etats-dun-routeur-sous-debian/85346>\
**Category:** Support Debian\
**Created:** [Septembre 15, 2021, 8:00 UTC](https://www.debian-fr.org/t/recuperer-les-etats-dun-routeur-sous-debian/85346 "2021-09-15T08:00:25Z")\
**Posts on this page:** 6\
**Page:** 1

<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:** [Septembre 15, 2021, 8:00 UTC](https://www.debian-fr.org/t/recuperer-les-etats-dun-routeur-sous-debian/85346/1 "2021-09-15T08:00:25Z")

</div>

Bonjour,

Dans le cadre professionnel, j’utilise des routeurs sous PFSense.  
Dans l’interface, il est possible de lister ce qui est nommé « états », à savoir la liste des connexions qui passent pas le routeur

J’ai un routeur chez moi qui a des règles iptables et j’aimerai bien aussi récupérer la liste des connexions.  
C’est sûr qu’elle existe car elle est utilisée pour le NAT et les règles utilisant le module state, comme :

```nohighlight
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

```

Est-ce que quelqu’un sait comment accéder à cette liste ?

---

<div class="post-metadata">

**Author:** ![PengouinPdt](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pengouinpdt/32/3978_2.png) [@PengouinPdt](https://www.debian-fr.org/u/PengouinPdt)\
**Post date:** [Septembre 15, 2021, 9:15 UTC](https://www.debian-fr.org/t/recuperer-les-etats-dun-routeur-sous-debian/85346/2 "2021-09-15T09:15:07Z")

</div>

> [@Almtesh](#):
>
> Est-ce que quelqu’un sait comment accéder à cette liste ?

Cela devrait être quelque chose d’approchant :

`iptables -t nat -L` à minima.

puisque FORWARDer des paquets, c’est faire de la NAT 😉

---

<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:** [Septembre 15, 2021, 10:22 UTC](https://www.debian-fr.org/t/recuperer-les-etats-dun-routeur-sous-debian/85346/3 "2021-09-15T10:22:58Z")

</div>

> [@PengouinPdt](#):
>
> `iptables -t nat -L`

```plaintext
┌ (almtesh@Lookout + 0) (15/09/21 - 12:19:19) (0.18 - 0%) (~)
└% sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:10001 to:10.255.1.2
DNAT tcp -- anywhere anywhere tcp dpt:8022 to:10.255.1.2

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
MASQUERADE all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
┌ (almtesh@Lookout + 0) (15/09/21 - 12:19:56) (0.19 - 0%) (~)
└%

```

Je m’en doutais un peu, mais ce n’est pas ça.  
J’ai lancé la commande pendant qu’un iperf en TCP sur IPv4 tourne d’une machine du réseau local vers un serveur sur l’Internet.  
J’ai lancé l’iperf au cas où je n’ai pas de connexion en IPv4 active.

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Septembre 15, 2021, 10:41 UTC](https://www.debian-fr.org/t/recuperer-les-etats-dun-routeur-sous-debian/85346/4 "2021-09-15T10:41:46Z")

</div>

La table de suivi d’état de connexion de netfilter est dans /proc/net/nf\_conntrack.  
On peut aussi y accéder avec la commande `conntrack` du paquet éponyme.

> [@PengouinPdt](#):
>
> FORWARDer des paquets, c’est faire de la NAT

Non. C’est faire suivre, transférer. La NAT, c’est autre chose et ce n’est pas pour rien que ça se passe dans deux tables différentes (d’ailleurs la table nat n’a pas de chaîne FORWARD).

EDIT: tu confonds peut-être avec l’expression «&nbsp;port forwarding&nbsp;» qui désigne une forme de NAT mais n’a rien à voir avec la chaîne FORWARD d’iptables ni la fonctionnalité «&nbsp;ip\_forward&nbsp;» ou «&nbsp;forwarding&nbsp;» du noyau..

---

<div class="post-metadata">

**Author:** ![PengouinPdt](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pengouinpdt/32/3978_2.png) [@PengouinPdt](https://www.debian-fr.org/u/PengouinPdt)\
**Post date:** [Septembre 15, 2021, 11:54 UTC](https://www.debian-fr.org/t/recuperer-les-etats-dun-routeur-sous-debian/85346/5 "2021-09-15T11:54:32Z")

</div>

> [@PascalHambourg](#):
>
> tu confonds peut-être avec l’expression « port forwarding » qui désigne une forme de NAT

Oui, la NAPT exactement, à moins que je ne me trompe encore…  
NPAT : Network Address Port Translation. pour rediriger à la fois adresse et port vers une autre adresse et port cibles.

> [@PascalHambourg](#):
>
> n’a rien à voir avec la chaîne FORWARD d’iptables

Soit !

> [@PascalHambourg](#):
>
> ni la fonctionnalité « ip\_forward » ou « forwarding » du noyau…

euh, là, en mode très sceptique…  
si tu n’actives pas le forwarding avec sysctl, qui affecte donc le noyau, je ne vois pas comment tu peux avoir de la redirection de paquets?

Il me semblait avoir compris que la N(P?)AT avait besoin de la fonctionnalité de redirection de paquets… mais bon, Linux est ses méandres.  
Quand je fais du bridge pour des besoins de virtualisation, avec le «&nbsp;mode NAT&nbsp;», j’ai besoin de la redirection de paquets.

_(sous OpenBSD, pas de NAT, sans redirection ; pas de virtualisation avec NAT, sans redirection - et c’est bien normal)._

---

<div class="post-metadata">

**Author:** ![PascalHambourg](https://www.debian-fr.org/user_avatar/www.debian-fr.org/pascalhambourg/32/5837_2.png) [@PascalHambourg](https://www.debian-fr.org/u/PascalHambourg)\
**Post date:** [Septembre 15, 2021, 12:49 UTC](https://www.debian-fr.org/t/recuperer-les-etats-dun-routeur-sous-debian/85346/6 "2021-09-15T12:49:53Z")

</div>

> [@PengouinPdt](#):
>
> si tu n’actives pas le forwarding avec sysctl, qui affecte donc le noyau, je ne vois pas comment tu peux avoir de la redirection de paquets?

Dans netfilter, la NAT (DNAT, SNAT, REDIRECT, MASQUERADE, NETMAP…) ne fait que modifier l’adresse/port source/destination. C’est indépendant du routage qui intervient après la NAT destination et avant la NAT source. On peut très bien faire une redirection vers un port local, dans ce cas pas besoin de forwarding.
