EV Observe - Configurer les prérequis de supervision NetFlow
- Principe de fonctionnement de la surveillance du trafic réseau par NetFlow
- Remarques
- Attention
- Bonnes pratiques
- Procédure : Comment configurer les prérequis de supervision NetFlow
- Erreurs de configuration du collecteur de données NetFlow
- Exemples de configuration d'équipements réseaux Cisco
- Configuration d'un Cisco avec le format d'exportation version 9
- Configuration du Cisco 2960-X
- Configuration du Cisco 3750-X
- Configuration du Cisco Catalyst 4500
- Configuration du Cisco Catalyst 4510
- Configuration du Cisco Catalyst 6500/6000
- Configuration du Cisco Catalyst 6509
- Configuration du Cisco Nexus Series 1000
- Configuration du Cisco Nexus Series 7000
Le protocole NetFlow est un protocole d'exportation de flux utilisé sur les équipements réseaux pour effectuer une surveillance et une analyse en temps réel du trafic réseau de données. Il utilise le concept de flux pour capturer des données sur le comportement du réseau, telles que la source et la destination du trafic réseau, les applications utilisant le réseau et la quantité de bande passante allouée à ces applications.
NetFlow a été développé par Cisco Systems et est devenu une norme industrielle prise en charge par de nombreux périphériques d'autres constructeurs d’équipements réseaux : Juniper, Alcatel-Lucent, Nortel, ..., ainsi que par les serveurs VMware et Linux. Il peut être nommé différemment suivant les constructeurs : JFlow, NetStream, AppFlow, ....
L'utilisation des modèles de service basés sur le protocole NetFlow nécessite au préalable de remplir certains prérequis.
- Les prérequis sont à configurer une seule fois.
- Ils s'effectuent en 3 étapes :
- Configuration du collecteur de données NetFlow pour recevoir les informations du trafic réseau
- Configuration des équipements réseaux à surveiller pour envoyer les informations NetFlow au collecteur de données
- Test du bon fonctionnement de NetFlow
Principe de fonctionnement de la surveillance du trafic réseau par NetFlow
Représentation | Étapes |
---|---|
![]() |
|
Remarques
- Un maximum de 2 destinations d’exportation des flux NetFlow peut être configuré sur chaque équipement réseau.
- La mise en place de la surveillance réseau NetFlow nécessite de définir un port d'écoute pour chaque interface réseau à surveiller. Une liste de contrôle d'accès (ACL) doit être créée pour chacun de ces ports pour autoriser la connexion au collecteur de données au port d'écoute.
Attention
Dimensionnement du collecteur de données NetFlow
StorageCollectorSize
- L'exportation de flux a un impact sur la bande passante disponible. Il est donc important de faire attention au dimensionnement du collecteur de données.
- Un export de données de flux réseau peut contenir des enregistrements contenant jusqu’à 30 conversations ou flux.
- Un PC peut envoyer environ 100 flux par minute.
- Une entreprise qui compte 1000 noeuds générant 200 flux par minute va générer au total environ 200000 flux en une minute, soit environ 3300 flux par seconde.
- Les applications engendrent beaucoup de flux uniques, en particulier les navigateurs web et la plupart des applications. Voici quelques applications typiques très bavardes :
- Java, Adobe, Antivirus, navigateurs web
- Skype provoque du trafic vers le DNS
- Flux de pages Web générant des images, des annonces, ...
- E-mails vérifiant constamment la boîte de réception
- NetBios
- Un flux stocké sur le collecteur de données occupe 150 octets d’espace disque. Il est donc préconisé de provisionner 2 Go par jour et par tranche de 100 noeuds.
- CPU = 4 vCPU
- RAM = 8 Go
- Espace disque = 20 Go + 2 Go par jour et par tranche de 100 noeuds
- Interface réseau = 1 gbps
Bonnes pratiques
- Créez un répertoire unique de destination des exports de flux NetFlow. Sous ce répertoire, créez autant de sous-répertoires que d'interfaces réseaux à surveiller par NetFlow.
- Pour repérer facilement les sous-répertoires d'export de flux, nommez-les avec le nom de l'équipement et son adresse IP.
exemple
- Répertoire de destination ==> /network_analysis/netflow/
- Répertoire des exports du routeur A ==> /network_analysis/netflow/RouterA_172.16.10.2
- Répertoire des exports du routeur B ==> /network_analysis/netflow/RouterB_192.16.80.1
Procédure : Comment configurer les prérequis de supervision NetFlow
Étape 1 : Configuration du collecteur de données NetFlow
StorageCollectorConfiguration_Procedure
1. Téléchargez le dernier master Box disponible sur le site FTP.
- Site FTP : software.servicenav.io.
- Contactez le Support EasyVista pour obtenir les identifiants d’accès.
Notes :
- Le master va être dédié au collecteur de données NetFlow.
- Reportez-vous à la section Attention pour dimensionner le collecteur.
2. Connectez-vous en SSH au collecteur de données NetFlow.
3. Téléchargez le script d’installation, en exécutant les commandes ci-dessous.
Remplacez <Login> et <Password> par les login et mot de passe. Contactez le Support EasyVista pour obtenir les identifiants.
sudo su –
cd /root/
ftp -p software.servicenav.io
# Enter login & password
<Login>
<Password>
cd TOOLS
get xflow_installation.tar
exit
tar xvf xflow_installation.tar
4. Lancez l'installeur du collecteur de données, en exécutant les commandes ci-dessous suivant votre version de EV Observe.
- Versions EV Observe 4.19 et antérieures
sudo su –
cd /root/xflow_installation
./xflow_installation.pl
- Versions EV Observe 5.0 et supérieures
sudo su –
cd /root/vsb_installation
./xflow_installation.pl
5. Configurez le collecteur de données NetFlow en suivant les étapes du script.
- Tapez sur une touche pour démarrer la configuration.
- Tapez y dans la fenêtre de script pour configurer le collecteur de données, puis n pour configurer NetFlow.
- Renseignez les informations suivantes, en validant à chaque fois via la touche <Enter>.
- Port d’écoute (Listening Port)
- Répertoire de destination des exports NetFlow (Directory)
- Nombre de jours de conservation des données sur le collecteur (Data retention in days)
- Sauvegardez la configuration du collecteur de données NetFlow en tapant y puis en appuyant sur la touche <Enter>.
Étape 2 : Configuration des équipements réseaux
Procédure générale
1. Connectez-vous sur l’équipement réseau sur lequel NetFlow doit être activé et activez le mode d'exécution privilégié.
2. Effectuez les étapes de configuration ci-dessous pour configurer NetFlow sur l'équipement réseau.
- Entrez dans le mode Configuration pour l'interface réseau.
- Indiquez l'adresse de destination des flux NetFlow : adresse IP ou nom d’hôte, et port UDP du collecteur de données NetFlow.
Note : Répétez la même action pour configurer une deuxième destination d’exportation des flux NetFlow (maximum 2 destinations).
- Indiquez la version de NetFlow à utiliser.
- Activez NetFlow sur l'interface réseau, en indiquant s'il s'agit de capturer le trafic reçu par l’interface (activez NetFlow en entrée) ou de récupérer le trafic transmis par l’interface (activez NetFlow en sortie).
- Quittez le mode Configuration pour l'interface réseau.
Note : Répétez les mêmes opérations de configuration pour activer NetFlow sur chaque interface réseau à monitorer, après l'avoir sélectionnée.
3. Quittez le mode Configuration globale pour revenir au mode d’exécution privilégié.
4. Vérifiez la bonne configuration de NetFlow sur l'équipement réseau.
voir Erreurs de configuration du collecteur de données NetFlow
Exemple : Configuration pour un switch Cisco à l’aide du format d’exportation de la version 9
voir Autres exemples d'équipements réseaux Cisco
- Connectez-vous sur le switch Cisco et activez le mode d'exécution privilégié, en exécutant la commande ci-dessous.
Router# enable
- Entrez dans le mode Configuration pour le switch Cisco, en exécutant la commande ci-dessous.
Router# configure terminal
- Indiquez l'adresse de destination des flux NetFlow, en exécutant la commande ci-dessous.
Remplacez :- <IP Address> par l'adresse IP du collecteur de données NetFlow ou <Hostname> par le nom d'hôte du collecteur de données
- <UDP Port> par le port UDP du collecteur de données
Router(config)# ip flow-export destination <IP Address> | <Hostname> <UDP Port>
exemple Router(config)# ip flow-export destination 172.16.10.2 9995
- Indiquez la version de NetFlow à utiliser, en exécutant la commande ci-dessous.
Remplacez <NetFlow Version> par le numéro de version.
Router(config)# ip flow-export version <NetFlow Version>
exemple Version 9 (dernière version) ==> Router(config)# ip flow-export version 9
- Activez NetFlow sur le switch Cisco.
- Sélectionnez le switch, en exécutant la commande ci-dessous.
Remplacez :- <Interface Type> par le type de l'interface réseau
- <Interface Slot> par le slot de l'interface réseau
- <Interface Port> par le port de l'interface réseau
Router(config)# interface <Interface Type> <Interface Slot>/<Interface Port>
exemple Interface Ethernet, slot 0 et port 0 ==> Router(config)# interface Ethernet0/0
- Indiquez si NetFlow doit être activé en entrée (ingress) ou en sortie (egress) sur le switch, en exécutant l'une des 2 commandes ci-dessous.
Router(config-if)# ip flow egress
Router(config-if)# ip flow ingress
exemple Activer en sortie ==> Router(config-if)# ip flow ingress
- Quittez le mode Configuration pour le switch, en exécutant la commande ci-dessous.
Router(config-if)# exit
- Sélectionnez le switch, en exécutant la commande ci-dessous.
- Vérifiez la bonne configuration de NetFlow sur le switch Cisco.
- Quittez le mode Configuration globale pour revenir au mode d’exécution privilégié, en exécutant la commande ci-dessous.
end
- Affichez les détails de la configuration du switch, en exécutant la commande ci-dessous.
(config)# show ip flow interface
exemple Les résultats suivants sont affichés. ==> Ethernet0/0 ip flow ingress
Étape 3 : Test du bon fonctionnement du collecteur de données NetFlow
1. Vérifiez que la mise en cache des données NetFlow s'effectue correctement, en exécutant la commande ci-dessous.
(config)# show ip cache flow
exemple Les résultats suivants sont affichés.
1-32 64 96 128 160 192 224 256 288 320 352 384 416 448 480
.249 .694 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000
512 544 576 1024 1536 2048 2560 3072 3584 4096 4608
.000 .000 .027 .000 .027 .000 .000 .000 .000 .000 .000
IP Flow Switching Cache, 278544 bytes
35 active, 4061 inactive, 980 added
2921778 ager polls, 0 flow alloc failures
Active flows timeout in 30 minutes
Inactive flows timeout in 15 seconds
IP Sub Flow Cache, 21640 bytes
0 active, 1024 inactive, 0 added, 0 added to flow
0 alloc failures, 0 force free
1 chunk, 1 chunk added
last clearing of statistics never
Protocol Total Flows Packets Bytes Packets Active(Sec) Idle(Sec)
——– Flows /Sec /Flow /Pkt /Sec /Flow /Flow
TCP-FTP 108 0.0 1133 40 2.4 1799.6 0.9
TCP-FTPD 108 0.0 1133 40 2.4 1799.6 0.9
TCP-WWW 54 0.0 1133 40 1.2 1799.6 0.8
TCP-SMTP 54 0.0 1133 40 1.2 1799.6 0.8
2. Affichez un résumé des statistiques relatives à l’exportation des données NetFlow (vérifiez notamment l'adresse IP et le port UDP du collecteur de données) et des statistiques du cache principal et de tous les autres caches activés, en exécutant la commande ci-dessous.
(config)# show ip flow export
exemple Les résultats suivants sont affichés.
Exporting flows to 172.16.10.2 (9995) (ip/port udp du Netflow collector storage)
Exporting using source interface Ethernet0/0
Version 9 flow records
0 flows exported in 0 udp datagrams
0 flows failed due to lack of export packet
0 export packets were sent up to process level
0 export packets were dropped due to no fib
0 export packets were dropped due to adjacency issues
0 export packets were dropped due to fragmentation failures
0 export packets were dropped due to encapsulation fixup failures
3. Vérifiez que les exports de flux de chaque interface réseau sont bien stockés sur le collecteur de données NetFlow.
- Connectez-vous au collecteur de données NetFlow.
- Allez sur le répertoire dédié au stockage des exports nfcapd pour l'interface réseau.
- Vérifiez la présence de fichiers au format nfcapd.YYYYMMddhhmm, avec une taille supérieure à 276 octets, en exécutant la commande ci-dessous.
Remplacez <Export Directory> par le répertoire de destination des exports NetFlow de l'interface réseau.
ll /home/coadmin/network_analysis/<Export Directory>
exemple
- Répertoire d'export /network_analysis/netflow/RouterA_172.16.10.2
- Présence de fichiers de format nfcapd.202209181140 avec une taille supérieure à 276 octets
4. Reprenez les étapes de configuration de NetFlow en cas d'erreur.
voir Erreurs de configuration du collecteur de données NetFlow
Étape 4 : Configuration du modèle de service NetworkAnalysis-NetFlow
1. Instanciez un service pour chaque application / IP source / IP de destination à surveiller par NetFlow.
voir Procédure détaillée
Étape 5 : Mise en supervision du collecteur de données NetFlow
1. Utilisez les modèles de service ci-dessous.
- LIN-DirectorySize : Permet de surveiller la taille des répertoires de destination.
- Lin-ProcessName : Permet de surveiller la bonne exécution des processus sfcapd.
Erreurs de configuration du collecteur de données NetFlow
Vérifiez les différents points ci-dessous en cas d'erreur de configuration du colllecteur de données NetFlow. Si le problème persiste, déclarez un incident sur le site Support EasyVista.
Création d’une liste de contrôle d'accès (ACL) pour une interface réseau
Note : L'ACL autorise la connexion au collecteur de données NetFlow sur le port d’écoute d'une interface réseau.
- Vérifiez que la règle pare-feu autorisant le port d'écoute renseignée lors de l’installation est bien présente, en exécutant la commande ci-dessous.
iptables -L
- En cas d'erreur, créez la règle en exécutant les commandes ci-dessous.
Remplacez <Listening Port> par le port d'écoute de l'interface réseau.
sudo su –
iptables -A INPUT -p udp –dport <Listening Port> -j ACCEPT
/etc/init.d/iptables.sh restart
Création du répertoire de destination des exports NetFlow pour une interface réseau
Note : Par défaut, l’installeur crée les répertoires de destination des exports NetFlow pour une interface réseau sous le répertoire /home/coadmin/network_analysis.
- Vérifiez que le répertoire renseigné lors de l'installation est bien créé, en exécutant les commandes ci-dessous.
Remplacez <Export Directory> par le répertoire de destination des exports NetFlow
sudo su –
ll /home/coadmin/network_analysis/<Export Directory>
- En cas d'absence, créez le répertoire en exécutant les commandes ci-dessous.
Remplacez <Export Directory> par le répertoire de destination des exports NetFlow de l'interface réseau.
sudo su –
mkdir /home/coadmin/network_analysis/<Export Directory>
chmod -R 777 /home/coadmin/network_analysis/<Export Directory>
chown coadmin:coadmin /home/coadmin/network_analysis/<Export Directory>
Lancement du processus NetFlow
- Vérifiez que le processus NetFlow est bien en cours d'exécution sur le port d’écoute et le répertoire de destination renseignés lors de l'installation, en exécutant la commande ci-dessous.
ps -aux | grep nfcapd
- En cas d'arrêt, lancez le processus en exécutant les commandes ci-dessous.
Remplacez :- <Export Directory> par le répertoire de destination des exports NetFlow
- <Listening Port> par le port d'écoute
sudo su –
nfcapd -w -D -l /home/coadmin/network_analysis/<Export Directory> -p <Listening Port>
Création d’un fichier initialisation de relance du processus en cas de redémarrage du collecteur de données NetFlow
- Vérifiez que la configuration du fichier de réinitialisation du processus NetFlow en cas de redémarrage du collecteur de données est correcte, en exécutant les commandes ci-dessous.
sudo su –
ll /etc/rc0.d/
- En cas d'erreur, contactez le Support EasyVista.
Création d’une tâche cron de surveillance du processus NetFlow
Note : L’installeur créé une tâche cron qui exécute toutes les minutes une commande de vérification du processus NetFlow et une commande de relance si nécessaire.
- Vérifiez que la tâche cron est bien créée, en exécutant la commande ci-dessous.
crontab -l
- En cas d'erreur, contactez le Support EasyVista.
Création d’une tâche de suppression avec une durée de rétention des données
Note : Les données d'export sont supprimées selon la durée de rétention des données renseignée lors de l’installation.
- Vérifiez que la tâche de suppression est bien créée, en exécutant la commande ci-dessous.
more /usr/local/nagios/libexec/nfcapd_deleteCache.sh
- Si le retour de commande ne correspond pas ou que le nombre de jours de rétention ne correspond pas à ce qui a été renseigné lors de l’installation, contactez le Support EasyVista.
Création de fichiers nfcapd d'export de flux sur le collecteur de données
Notes :
- Les fichiers nfcapd sont générés par le processus nfcapd et sont alimentés en continu par les exportateurs NetFlow. La taille des fichiers doit être supérieure à 276 octets pour indiquer qu'ils sont bien alimentés par les exportateurs NetFlow.
- Une taille égale à 276 octets indique que les fichiers ne contiennent pas de données.
- Vérifiez que les fichiers nfcapd sont bien présents sur le collecteur de données, en exécutant les commandes ci-dessous.
Remplacez <Export Directory> par le répertoire de destination des exports NetFlow
sudo su –
ll /home/coadmin/network_analysis/<Export Directory>
- Vérifiez que les fichiers contiennent bien des données pour une interface réseau, en exécutant les commandes ci-dessous.
Remplacez :- <Interface Name> par le nom de l'interface
- <Exporter IP Address> par l'adresse IP de l'exportateur NetFlow
sudo su –
tcpdump -i <Interface Name> src <Exporter IP Address>
exemple tcpdump -i ens160 src 192.168.238.156
- Si aucune information de connexion de l'exportateur NetFlow vers le collecteur de données n'est affichée sur le port indiqué, contactez le Support EasyVista.
Exemples de configuration d'équipements réseaux Cisco
Configuration d'un Cisco avec le format d'exportation version 9
Router# enable
Router# configure terminal
Router(config)# ip flow-export version 9
Router(config)# ip flow-export destination {ip-address | hostname} udp-port
Router(config)# ip flow-export source f0/1
Router(config)# interface-type interface-number
Router(config-if)# ip flow {egress | ingress}
Router(config-if)# exit
Configuration du Cisco 2960-X
Le Cisco 2960-X utilise l’échantillonnage de flux sans aucune forme de capture de paquets. Il existe deux types de configurations d’échantillonnage NetFlow Lite possibles sur le Cisco 2960-X :
- Échantillonnage déterministe : Les échantillonneurs déterministes échantillonnent les paquets exactement comme spécifié (c’est-à-dire le premier flux sur 100 flux). Ils peuvent être appliqués sur 4 interfaces au maximum.
- Échantillonnage aléatoire : L’échantillonnage aléatoire échantillonne un flux aléatoire parmi tous les flux X. Le taux d’échantillonnage maximal pour les déterministes et les aléatoires est de 1 sur 32. Il n’est pas limité à 4 interfaces, telles que l’échantillonnage déterministe.
Exemple de configuration avec un échantillonnage aléatoire
step 1: create a flow record
flow record flows
match datalink mac source address input
match datalink mac destination address input
match ipv4 tos
match ipv4 protocol
match ipv4 source address
match ipv4 destination address
match transport source-port
match transport destination-port
collect transport tcp flags
collect interface input
collect flow sampler
! below I specified ‘long’ because the 2960x supports 64 bit counters
collect counter bytes long
collect counter packets long
collect timestamp sys-uptime first
collect timestamp sys-uptime last
!
!
! step 2: create a flow exporter
flow exporter export-to-inside
description flexible NF v9
destination 10.1.1.1
source Vlan7
transport udp 2055
template data timeout 60
!
! lets export some cool option templates
option interface-table
option exporter-stats
option sampler-table
!
!
! step 3: create a flow monitor
flow monitor nftest
record flows
exporter export-to-inside
cache timeout active 60
statistics packet protocol!Below was used for the deterministic sampling configuration
! that I didn’t like because of the 4 interface limitation
! sampler full
! mode deterministic 1 out-of 32
!
! below is the random sampler configuration that I replaced
! the above with.
sampler my-random-sampler
!
!
!
! step 4: apply the flow monitor ‘nftest’ to each interface with
! the defined sampler ‘my-random-sampler’
! input is for ingress. Egress was not supported in this release…
interface GigabitEthernet1/0/1
ip flow monitor nftest sampler my-random-sampler inputmode random 1 out-of 100
Configuration du Cisco 3750-X
La configuration du Catalyst Cisco 3750-X nécessite l’implémentation du module 3KX qui prend en charge NetFlow v9 et Flexible NetFlow.
Exemple d’enregistrement de flux pour le module de réseau 3KX:flow record NetFlow
match datalink mac source-address
match datalink mac destination-address
match ipv4 tos
match ipv4 ttl
match ipv4 protocol
match ipv4 source address
match ipv4 destination address
match transport source-port
match transport destination-port
collect interface input snmp
collect interface output snmp
collect counter bytes
collect counter packets
collect timestamp sys-uptime first
collect timestamp sys-uptime lastSur les interfaces:TenGigabitEthernet1/1/1
switchport trunk encapsulation dot1q
switchport mode trunk
ip flow monitor NetFlow input
ip flow monitor NetFlow outputinterface TenGigabitEthernet1/1/2
switchport trunk encapsulation dot1q
switchport mode trunk
ip flow monitor NetFlow input
ip flow monitor NetFlow output
Configuration du Cisco Catalyst 4500
voir Configuration
Configuration du Cisco Catalyst 4510
Exemple de configuration
FLOW RECORD
flow record RECORD-IN
description IPv4 NetFlow
match ipv4 tos
match ipv4 protocol
match ipv4 source address
match ipv4 destination address
match mac destination-address
match mac source-address
match transport source-port
match transport destination-port
match interface input
collect interface output
collect counter bytes long
collect counter packets long
!
!
flow record RECORD-OUT
description IPv4 NetFlow
match ipv4 tos
match ipv4 protocol
match ipv4 source address
match ipv4 destination address
match transport source-port
match transport destination-port
match interface output
collect interface input
collect counter bytes long
collect counter packets long
!
!
flow exporter NETFLOW COLLECTOR
description xxxxx NETFLOW COLLECTOR
destination IP
source Loopback0
transport udp 2055
!
!
flow monitor MONITOR_IN
description xxxx
exporter Scrutinizer
cache timeout active 60
record RECORD-IN
!
!
flow monitor MONITOR_OUT
description xxxxxxxx
exporter Scrutinizer
cache timeout active 60
record RECORD-OUT
interface GigabitEthernet3/2
description xxxxx
no switchport
bandwidth 40960
ip flow monitor MONITOR_IN layer2-switched input
Configuration du Cisco Catalyst 6500/6000
voir Configuration
Configuration du Cisco Catalyst 6509
Exemple de configuration
ip flow-export source (insert interface name here)
ip flow-export version 9
ip flow-export destination (netflow collector ip address) (port to export flows to)
ip flow ingress layer2-switched vlan (insert vlans X,Y,X)ip flow-cache timeout active 1mls nde sender version 9
mls flow ip interface-full
mls nde interface
mls aging long 64
mls aging normal 64Configuration des interface:ip route-cache flowip flow ingress
Configuration du Cisco Nexus Series 1000
voir Configuration
Configuration du Cisco Nexus Series 7000
voir Configuration