Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Quels packages pour logguer le NAT ?

1 réponse
Avatar
Olivier
--0000000000007a312c05925afbc2
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Bonjour,

J'ai une machine sous Stretch qui fait office de routeur sur un r=C3=A9seau
local.
Elle impl=C3=A9mente une fonction NAT avec une centaine d'utilisateurs sur =
le
r=C3=A9seau local et un trafic de l'ordre de 200Mb/s (j'ai du mal =C3=A0 =
=C3=A9valuer le
nombre de paquets par seconde) voire d'avantage.

Je souhaite logguer chaque translation d'adresse fin de pouvoir a
posteriori, d=C3=A9terminer quel utilisateur interne s'est connect=C3=A9 =
=C3=A0 une
machine sur Internet.

Sur un seul enregistrement (ou plusieurs), je souhaite pouvoir lire les 7
informations ci-apr=C3=A8s:
- l'heure
- l'IP source interne/port source interne
- l'IP publique source/port source public
- l'IP destination interne/port destination

En d'autres termes, si l'utilisateur 192.168.1.10 consulte le site web
1.2.3.4, je souhaite retrouver un enregistrement avec:
- 192.168.1.10/50000 (le navigateur utilise le port source 50000 )
- 5.6.7.8/40000 (mon routeur translate 192.168.1.10/50000 vers 5.6.7.8/4000=

0
)
- 1.2.3.4/80 (site web de destination)

Vu le grand nombre de connexions DNS cr=C3=A9es par la moindre page DNS,
j'aimerai ne pas logguer les connexions DNS.

Dans un premier temps, copier des logs dans un fichier local me suffit.
=C3=80 terme, je consignerai les logs dans une BDD.

J'ai lu [1] qui fait r=C3=A9f=C3=A9rence =C3=A0 conntrack et ulogd mais je =
suis un peu
surpris de n'y voir aucune r=C3=A9f=C3=A9rence =C3=A0 iptables.

Quels logiciels sont strictement n=C3=A9cessaires et suffisants pour impl=
=C3=A9menter
ceci ?

[1]
https://home.regit.org/2014/02/logging-connection-tracking-event-with-ulogd=
/

Slts

--0000000000007a312c05925afbc2
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Bonjour,</div><div><br></div><div>J&#39;ai une machin=
e sous Stretch qui fait office de routeur sur un r=C3=A9seau local.</div><d=
iv>Elle impl=C3=A9mente une fonction NAT avec une centaine d&#39;utilisateu=
rs sur le r=C3=A9seau local et un trafic de l&#39;ordre de 200Mb/s (j&#39;a=
i du mal =C3=A0 =C3=A9valuer le nombre de paquets par seconde) voire d&#39;=
avantage.<br></div><div><br></div><div>Je souhaite logguer chaque translati=
on d&#39;adresse fin de pouvoir a posteriori, d=C3=A9terminer quel utilisat=
eur interne s&#39;est connect=C3=A9 =C3=A0 une machine sur Internet.</div><=
div><br></div><div>Sur un seul enregistrement (ou plusieurs), je souhaite p=
ouvoir lire les 7 informations ci-apr=C3=A8s:</div><div>- l&#39;heure</div>=
<div>- l&#39;IP source interne/port source interne</div><div>- l&#39;IP pub=
lique source/port source public</div><div>- l&#39;IP destination interne/po=
rt destination</div><div><br></div><div>En d&#39;autres termes, si l&#39;ut=
ilisateur 192.168.1.10 consulte le site web 1.2.3.4, je souhaite retrouver =
un enregistrement avec:</div><div>- <a href=3D"http://192.168.1.10/50000">1=
92.168.1.10/50000</a> (le navigateur utilise le port source 50000 )</div><d=
iv>- <a href=3D"http://5.6.7.8/40000">5.6.7.8/40000</a> (mon routeur transl=
ate <a href=3D"http://192.168.1.10/50000">192.168.1.10/50000</a> vers <a =
href=3D"http://5.6.7.8/40000">5.6.7.8/40000</a>)</div><div>- <a href=3D"htt=
p://1.2.3.4/80">1.2.3.4/80</a> (site web de destination)</div><div><br></di=
v><div>Vu le grand nombre de connexions DNS cr=C3=A9es par la moindre page =
DNS, j&#39;aimerai ne pas logguer les connexions DNS.<br></div><div><br></d=
iv><div>Dans un premier temps, copier des logs dans un fichier local me suf=
fit.</div><div>=C3=80 terme, je consignerai les logs dans une BDD.</div><di=
v><br></div><div>J&#39;ai lu [1] qui fait r=C3=A9f=C3=A9rence =C3=A0 conntr=
ack et ulogd mais je suis un peu surpris de n&#39;y voir aucune r=C3=A9f=C3=
=A9rence =C3=A0 iptables.<br></div><div><br></div><div>Quels logiciels sont=
strictement n=C3=A9cessaires et suffisants pour impl=C3=A9menter ceci ?<br=
></div><div><br></div><div>[1] <a href=3D"https://home.regit.org/2014/02/lo=
gging-connection-tracking-event-with-ulogd/">https://home.regit.org/2014/02=
/logging-connection-tracking-event-with-ulogd/</a></div><div><br></div><div=
>Slts<br></div></div>

--0000000000007a312c05925afbc2--

1 réponse

Avatar
hamster
Le 12/09/2019 à 15:18, Olivier a écrit :
Bonjour,
J'ai une machine sous Stretch qui fait office de routeur sur un réseau
local.
Elle implémente une fonction NAT avec une centaine d'utilisateurs sur
le réseau local et un trafic de l'ordre de 200Mb/s (j'ai du mal à
évaluer le nombre de paquets par seconde) voire d'avantage.
Je souhaite logguer chaque translation d'adresse fin de pouvoir a
posteriori, déterminer quel utilisateur interne s'est connecté à une
machine sur Internet.

Je vais sans doute répondre a ta demande, mais pourquoi du NAT ? Il est
beaucoup plus simple d'attribuer directement une adresse publique fixe a
chaque poste. Bien sur c'est difficile a faire en IPv4 par manque
d'adresses, mais si tu le fais déjà en IPv6 ca va soulager le trafic v4
et simplifier d'autant ta gestion des logs.