Supervision des flux : NetFlow, IPFIX, sFlow
Les paramètres NetFlow / sFlow se configurent dans l’interface de XorMon ➡ Settings ➡ Application ➡ NetFlow :
Le collecteur de flux de XorMon accepte
NetFlow v5,
NetFlow v9,
IPFIX et
sFlow v5, en trafic IPv4 et IPv6 (NetFlow v5 ne transporte que l’IPv4).
L’implémentation de XorMon n’a pas vocation à remplacer les analyseurs NetFlow/sFlow spécialisés ; elle offre une vue simple, rapide et lisible du trafic réseau.
Si une analyse plus poussée est nécessaire, il faut se tourner vers des outils spécialisés.
L’objectif est de présenter uniquement les plus gros flux de connexion.
Limites de l’implémentation de XorMon
- Données de « conversation » :
- TOP 250 des connexions par tranche de 5 minutes (personnalisable)
- La connexion doit présenter un trafic supérieur à 100 ko/5 minutes (personnalisable)
- La rétention des données est d’une semaine
- Reste des données (agrégats par application, protocole, QoS) :
Support
- NetFlow v5 / v9 / IPFIX : port UDP 2055 par défaut. v9 ou IPFIX est préférable à v5. Avec Flexible NetFlow, IPFIX se sélectionne par
export-protocol ipfix dans le flow exporter.
- sFlow v5 : port UDP 6343 par défaut. sFlow envoie des paquets échantillonnés, pas des flux : les octets et les paquets sont estimés comme échantillon × taux d’échantillonnage, et Flow Count compte les échantillons.
- Destination : l’adresse IP du serveur XorMon
- Les ports et les autres options du collecteur se définissent dans XorMon : Settings ➡ Application ➡ NetFlow.
Où le trouver ?
- Interface ➡ LAN ➡ NetFlow
- Sous VM ➡ NetFlow (si des données ont été collectées pour la VM) : voir le dernier exemple avec VMware vM
Exemples
Bande passante par conversation :
Bande passante par application :
:
Bande passante des conversations de VM:
| NetFlow v9 / IPFIX | sFlow |
| Fonctionnement | L’équipement tient un cache de flux et exporte un enregistrement par flux | Le switch échantillonne 1 paquet sur N en matériel et envoie leurs en-têtes |
| Précision | Octets et paquets exacts par conversation (sans échantillonnage) | Estimation statistique ; les conversations petites ou brèves peuvent ne pas apparaître du tout |
| Charge sur l’équipement | CPU et mémoire pour le cache de flux, croissant avec le nombre de flux simultanés. Sans problème avec le NetFlow matériel, mais potentiellement important sur les plateformes logicielles | Faible et constante, indépendante du volume de trafic |
| Trafic d’export vers XorMon | Croît avec le nombre de flux | Croît avec paquets / N, prévisible |
| Équipements types | Routeurs Cisco, Catalyst 9000, pare-feu | Switchs de centre de données ou de cœur de réseau à haut débit (par exemple Nexus 3000/9000), la plupart des switchs non Cisco (Arista, Juniper, HPE Aruba, Dell) |
Recommandations
- Environnements petits et moyens, périphérie WAN / Internet, liens jusqu’à environ 10 Gbit/s, ou lorsque des données exactes par conversation sont nécessaires (planification de capacité, facturation, sécurité) : NetFlow v9 ou IPFIX, sans échantillonnage, sur les équipements de périphérie.
- Grands environnements ou centres de données, nombreux ports à 10 Gbit/s et plus, ou switchs sans NetFlow matériel : sFlow.
- Mixte : NetFlow/IPFIX sur les routeurs de périphérie, sFlow dans le centre de données ou le cœur de campus. Évitez d’exporter le même trafic des deux façons : XorMon ne conserve qu’une copie d’un flux rapporté par plusieurs exportateurs, mais les estimations sFlow et les comptages exacts de NetFlow ne coïncident jamais exactement.
Maintenir une charge faible sur l’équipement
- NetFlow/IPFIX : privilégiez les plateformes dotées d’un NetFlow matériel et activez-le sur les équipements où vous avez besoin de visibilité (périphérie, liens montants, cœur) plutôt que sur chaque switch d’accès. Conservez les délais d’expiration de ce guide (actif 60 s, inactif 15 s). Après activation, surveillez le CPU et le cache de flux (
show flow monitor XORMON-MONITOR statistics) ; si le cache déborde ou si le CPU est élevé, utilisez le NetFlow échantillonné ou réduisez le nombre d’équipements.
- sFlow : le taux d’échantillonnage 1 :N définit le compromis entre précision et charge. Une règle empirique courante est N ≈ débit du lien en Mbit/s (1:1000 pour 1 Gbit/s, 1:10000 pour 10 Gbit/s). Un N plus faible donne des données plus précises et davantage de datagrammes. Les liens peu chargés produisent peu d’échantillons par intervalle de 5 minutes, leurs valeurs sont donc bruitées.
Comment XorMon traite sFlow
- Les octets et les paquets sont estimés comme échantillon × taux d’échantillonnage ; Flow Count compte les échantillons.
- La taille minimale de conversation (1024 o par défaut) filtre rarement les conversations sFlow : un seul échantillon compte déjà pour longueur de trame × N octets (par exemple 64 o × 1000 = 64 ko).
Cisco Classic NetFlow
Routeurs IOS tels que les ISR G1/G2, IOS 12.4–15.x :
! global
ip flow-export version 9
ip flow-export destination <XORMON_IP> 2055
ip flow-cache timeout active 1
ip flow-cache timeout inactive 15
! on every interface of the device (ingress only)
interface GigabitEthernet0/1
ip route-cache flow
Sur les versions 12.4/15.x plus récentes,
ip route-cache flow est remplacé par :
interface GigabitEthernet0/1
ip flow ingress
Vérifiez avec :
show ip flow export
show ip cache flow
Cisco Flexible NetFlow
Catalyst 9000, ISR 4000, IOS-XE 16.x et ultérieur :
flow record XORMON-RECORD
match ipv4 protocol
match ipv4 source address
match ipv4 destination address
match transport source-port
match transport destination-port
match interface input
collect interface output
collect counter bytes long
collect counter packets long
collect timestamp sys-uptime first
collect timestamp sys-uptime last
flow exporter XORMON-EXPORTER
destination <XORMON_IP>
transport udp 2055
export-protocol netflow-v9
source Loopback0
flow monitor XORMON-MONITOR
record XORMON-RECORD
exporter XORMON-EXPORTER
cache timeout active 60
cache timeout inactive 15
! on every interface of the device (input only)
interface GigabitEthernet1/0/1
ip flow monitor XORMON-MONITOR input
Vérifiez avec :
show flow monitor XORMON-MONITOR cache
show flow exporter XORMON-EXPORTER statistics
IPFIX à la place de NetFlow v9
La configuration du flow record, du flow monitor et des interfaces reste identique ; seul le protocole d’export de l’exportateur change :
flow exporter XORMON-EXPORTER
destination <XORMON_IP>
transport udp 2055
export-protocol ipfix
source Loopback0
XorMon reçoit NetFlow v9 et IPFIX sur le même port et affiche les mêmes données pour les deux, les deux choix conviennent donc. Classic NetFlow (
ip flow-export) ne peut pas exporter en IPFIX : utilisez Flexible NetFlow pour cela.
Trafic IPv6
Le flow record ci-dessus ne correspond qu’à l’IPv4, le trafic IPv6 n’est donc pas exporté. Ajoutez un second record et un second monitor pour l’IPv6 (l’exportateur est partagé) et appliquez-les aux mêmes interfaces :
flow record XORMON-RECORD-V6
match ipv6 protocol
match ipv6 source address
match ipv6 destination address
match transport source-port
match transport destination-port
match interface input
collect interface output
collect counter bytes long
collect counter packets long
collect timestamp sys-uptime first
collect timestamp sys-uptime last
flow monitor XORMON-MONITOR-V6
record XORMON-RECORD-V6
exporter XORMON-EXPORTER
cache timeout active 60
cache timeout inactive 15
! on every interface of the device (input only), next to the IPv4 monitor
interface GigabitEthernet1/0/1
ip flow monitor XORMON-MONITOR input
ipv6 flow monitor XORMON-MONITOR-V6 input
Vérifiez avec :
show flow monitor XORMON-MONITOR-V6 cache
Classic NetFlow : un routeur peut exporter vers plusieurs destinations à la fois ; il suffit d’ajouter une seconde ligne, rien d’autre ne change :
ip flow-export destination <XORMON_IP> 2055
(la ligne existante
ip flow-export destination <old_collector_ip> <port> reste inchangée)
Flexible NetFlow : un même
flow monitor peut référencer plusieurs exportateurs ; ajoutez donc un nouvel exportateur et rattachez-le au monitor existant (inutile de toucher à la configuration des interfaces) :
flow exporter XORMON-EXPORTER
destination <XORMON_IP>
transport udp 2055
export-protocol netflow-v9
source Loopback0
flow monitor <EXISTING-MONITOR>
exporter XORMON-EXPORTER
Si la plateforme n’autorise qu’un seul exportateur par monitor (certaines branches logicielles anciennes des 9300/9500 le limitent), la solution de rechange est un second flow monitor avec le même
flow record et un second exportateur, appliqué aux mêmes interfaces en plus de celui déjà en place (
ip flow monitor <NEW-MONITOR> input).
Vérification rapide côté serveur XorMon
tcpdump -ni any udp port 2055
Assurez-vous que le pare-feu autorise l’UDP/2055 entrant depuis le switch.
XorMon attend du
sFlow v5 sur le port UDP
6343. Le switch est identifié par l’
adresse d’agent qu’il place dans les datagrammes (et non par l’IP source du paquet UDP), définissez donc une adresse d’agent ou de source stable.
- Échantillonnez le trafic entrant, sur tous les ports du switch, afin que chaque paquet soit compté une seule fois.
- Taux d’échantillonnage : une règle empirique courante est N ≈ débit du lien en Mbit/s (1:1000 pour 1 Gbit/s, 1:10000 pour 10 Gbit/s), voir NetFlow ou sFlow.
- Conservez la taille d’en-tête échantillonné par défaut (généralement 128 octets) ou une valeur supérieure ; XorMon y lit les en-têtes Ethernet, VLAN, IP et TCP/UDP.
- Les échantillons de compteurs (compteurs d’interface) sont ignorés par XorMon, l’intervalle d’interrogation n’a donc pas d’importance.
Cisco Nexus (NX-OS)
feature sflow
sflow sampling-rate 4096
sflow max-sampled-size 128
sflow collector-ip <XORMON_IP> vrf default
sflow collector-port 6343
sflow agent-ip <SWITCH_IP>
sflow data-source interface ethernet 1/1
Répétez
sflow data-source interface pour chaque port. Vérifiez avec
show sflow et
show sflow statistics.
Arista EOS
sflow sample 16384
sflow destination <XORMON_IP> 6343
sflow source-interface Loopback0
sflow run
sFlow est alors actif sur toutes les interfaces Ethernet ; excluez-en une avec
no sflow enable dans la configuration de l’interface. Vérifiez avec
show sflow.
Juniper (Junos)
set protocols sflow collector <XORMON_IP> udp-port 6343
set protocols sflow sample-rate ingress 2048
set protocols sflow agent-id <SWITCH_IP>
set protocols sflow interfaces ge-0/0/0.0
Répétez
interfaces pour chaque port. Vérifiez avec
show sflow et
show sflow collector.
HPE Aruba (AOS-CX)
sflow collector <XORMON_IP> port 6343
sflow agent-ip <SWITCH_IP>
sflow sampling 4096
sflow
La commande globale
sflow l’active sur toutes les interfaces. Vérifiez avec
show sflow.
Hôte Linux (hsflowd)
Utile pour les serveurs et pour tester le collecteur.
/etc/hsflowd.conf:
sflow {
sampling = 1000
collector { ip = <XORMON_IP> udpport = 6343 }
pcap { dev = eth0 }
}
Puis
systemctl restart hsflowd.
Vérification rapide côté serveur XorMon
tcpdump -ni any udp port 6343
Assurez-vous que le pare-feu autorise l’UDP/6343 entrant depuis le switch.
- Activez NetFlow en entrée uniquement, sur chaque interface de l’équipement. Chaque paquet entre alors dans l’équipement par exactement une interface et n’est compté qu’une fois. En entrée et en sortie sur toutes les interfaces, chaque paquet est compté deux fois.
- Lorsque le même trafic traverse plusieurs exportateurs (switch d’accès et switch de cœur, deux routeurs sur un même chemin), XorMon le dédoublonne : si plusieurs exportateurs rapportent le même flux (IP source/destination, ports, protocole) dans un même intervalle de 5 minutes, seul l’exportateur qui en a vu le plus d’octets est conservé. Cela s’applique à Protocol, Application, QoS, Source, Destination et Conversation.
- Bandwidth, Throughput et Flow Count affichent chaque exportateur séparément, exactement tel qu’il a rapporté le trafic ; leur Total est une simple somme des exportateurs.
- Ne sont pas reconnus comme doublons : le NAT entre les exportateurs, des taux d’échantillonnage différents, ainsi que l’entrée et la sortie sur un même équipement. Privilégiez un export depuis les seuls équipements de périphérie, en configuration entrée uniquement.
- Le dédoublonnage peut être désactivé dans XorMon : Settings ➡ Application ➡ NetFlow.