2. Configurer NetworkManager - netplan, pour retirer complètement l'adresse ip de eth2, pour les captures Suricata :

Répondre

Smileys
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

Les BBCodes sont activés
[img] est activé
[flash] est activé
[url] est désactivé
Les smileys sont activés

Revue du sujet
   

Étendre la vue Revue du sujet : 2. Configurer NetworkManager - netplan, pour retirer complètement l'adresse ip de eth2, pour les captures Suricata :

 Configuration de Suricata pour écouter l’ensemble du trafic réseau (pas seulement en mode Host‑Only). Какой сериал вызв

par Doramaland_acits » 21 avr. 2026, 21:46

---

Bonjour à tous,

Je débute actuellement avec Suricata sur une machine virtuelle sous Kali Linux et je souhaite l’utiliser comme IDS/IPS capable de surveiller tout le trafic de mon réseau local, y compris les communications entre les machines physiques et virtuelles. Jusqu’à présent, j’ai testé Suricata en mode Host‑Only et il ne capture que le trafic qui passe par l’interface virtuelle de la VM, ce qui limite grandement son efficacité pour détecter des attaques ou des comportements anormaux sur le réseau complet.

Voici ce que j’ai déjà essayé :

1. Interface réseau – J’ai indiqué `-i eth0` (ou `enp0s3` selon la distribution) dans le fichier de configuration, mais Suricata ne semble pas recevoir les paquets provenant des autres hôtes.
2. Mode promiscuité – J’ai activé le mode promiscuité sur l’interface avec `ifconfig eth0 promisc`, mais le problème persiste.
3. Sniffing en mode bridge – J’ai créé un bridge entre l’interface physique de la machine hôte et la VM, puis j’ai branché Suricata dessus, mais le bridge ne transmet pas le trafic vers la VM.
4. Utilisation de `tcpdump` – En lançant `tcpdump -i eth0 -w capture.pcap` je constate que le trafic est bien capturé, ce qui indique que le problème vient probablement de la configuration de Suricata elle‑même.

Je cherche donc à savoir :

- Quelle est la configuration exacte (dans `suricata.yaml` ou via la ligne de commande) à appliquer pour que Suricata écoute tout le trafic du réseau (y compris les communications entre machines physiques) ?
- Faut‑il placer Suricata sur un port mirroring d’un switch, ou existe‑t‑il une solution logicielle (ex. : `iptables` → NFQUEUE, `ebtables`, ou utilisation d’un tap virtuel) qui permette de rediriger le trafic vers Suricata sans matériel additionnel ?
- Quelles sont les meilleures pratiques pour éviter les pertes de paquets (buffer overflow) lorsqu’on utilise Suricata en mode de capture « full‑wire » ?
- Enfin, avez‑vous des recommandations de règles ou de tuning (détection de flux, `af-packet`, `pfring`, etc.) qui facilitent la surveillance d’un réseau complet depuis une VM ?

Merci d’avance pour vos conseils, vos retours d’expérience et éventuellement des exemples de configuration fonctionnelle. Toute aide (scripts, captures d’écran, liens vers la documentation) sera la bienvenue.

Топ романтических дорам, заставят вас растаять! Оценивайте (no spam plz)

2. Configurer NetworkManager - netplan, pour retirer complètement l'adresse ip de eth2, pour les captures Suricata :

par admin » 02 nov. 2025, 23:48

Regarder le contenu de netplan :
-

Code : Tout sélectionner

ls -la /etc/netplan
Si le fichier 90-… existe (crée par NetworkManager), créer un fichier (supérieur à 90, pour qu'il soit pris en compte, par-dessus au 90-… ), par ex :

Code : Tout sélectionner

 nano 95-custonm.yaml :

Code : Tout sélectionner

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eth2:
      optional: true
      dhcp4: false
      link-local: []
    eth4:
      addresses:
      - "172.0.0.1/24"
      nameservers:
        addresses:
        - 192.168.10.2
      dhcp4: false
      routes:
      - to: "0.0.0.0/0"
      via: "192.168.10.1"
 
Enregistrer et fermer.
Puis :

Code : Tout sélectionner

sudo chmod 600 /etc/netplan/95-custom.yaml
sudo netplan generate    # vérifie l’absence d’erreurs
sudo netplan apply
tapez :
-

Code : Tout sélectionner

nmcli connection show
NAME UUID TYPE DEVICE
netplan-eth4 111... ethernet eth4
netplan-eth2 222... ethernet eth2
lo 333... loopback lo
Wired connection 1 444... ethernet --
Wired connection 2 555... ethernet --
/etc/netplan#
alors, supprimez les interfaces inutilisés :

Code : Tout sélectionner

nmcli connection delete "Wired connection 1"

Code : Tout sélectionner

nmcli connection delete "Wired connection 2"
rechargez netplan :
-

Code : Tout sélectionner

nmcli connection reload
sudo netplan apply
puis, mettez eth2 en unmanaged :
-

Code : Tout sélectionner

sudo nmcli device set eth2 managed no
Vérifier :
-

Code : Tout sélectionner

nmcli device status
nmcli device status DEVICE TYPE STATE CONNECTION
eth4 ethernet connected netplan-eth4
lo loopback connected (externally) lo
eth2 ethernet unmanaged --
Désactiver l'adresse ip de eth2 :
-

Code : Tout sélectionner

sudo ip addr flush dev eth2
sudo sysctl -w net.ipv4.conf.eth2.arp_ignore=1
sudo sysctl -w net.ipv4.conf.eth2.arp_announce=0
puis recharger sysctl :
-

Code : Tout sélectionner

sysctl -p
puis, pour désactiver ces option au redémarrage :
-

Code : Tout sélectionner

nano /etc/sysctl.conf

Code : Tout sélectionner

net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=0
Enregistrez et fermez.
Sortie (rem: il n'y a plus d'adresse ip sur "eth2", elle ne comporte plus de champs "inet") :
-

Code : Tout sélectionner

ip a show eth2
2: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether a1... brd ff:ff:ff:ff:ff:ff
Pour que ça marche après redémarrage, il faut encore faire :
Il faut utiliser un hook NetworkManager qui s’exécute après la configuration d’interface :
-

Code : Tout sélectionner

nano /etc/NetworkManager/dispatcher.d/95-disable-linklocal
-

Code : Tout sélectionner

#!/bin/bash
IFACE="$1"
STATUS="$2"
		
if [ "$IFACE" = "eth2" ] && [ "$STATUS" = "up" ]; then
  /usr/sbin/ip addr flush dev "$IFACE"
  /usr/sbin/sysctl -w net.ipv4.conf."$IFACE".arp_ignore=1
  /usr/sbin/sysctl -w net.ipv4.conf."$IFACE".arp_announce=0
fi
-

Code : Tout sélectionner

sudo chmod 755 /etc/NetworkManager/dispatcher.d/95-disable-linklocal
-

Code : Tout sélectionner

reboot
Et là, ça marche.




Source : ChatGPT.

Haut