3 votes

Comment afficher le trafic en temps réel sur chaque interface réseau virtuelle ?

J'ai un serveur dédié avec quelques interfaces réseau virtuelles, chacune étant mappée à une adresse IP publique. Comment puis-je surveiller le trafic en temps réel (en paquets/s ou Mb/s) de chacun d'eux, idéalement sur un seul écran ?

Ce que je cherche est quelque chose comme :

eth0:0 123 packets/s
eth0:1 234 packets/s
eth0:2 345 packets/s

J'ai essayé iptraf , iftop , jnettop mais je n'ai pu obtenir qu'aucun d'entre eux ne regroupe l'affichage par interface virtuelle : ils affichent tous l'ensemble de l'interface virtuelle. eth0 .

Notez que je suis ouvert à d'autres outils, tant qu'ils sont disponibles sur CentOS (+ EPEL / remi).

2 votes

En d'autres termes, vous voulez voir le trafic de/vers une adresse IP spécifique ? Dans iptraf, il suffit de définir un filtre d'adresse IP. iptraf.seul.org/2.7/filtres.html

0 votes

@HBruijn J'espérais pouvoir les voir tous sur un seul écran, plutôt que de devoir bricoler un écran et un filtre pour chaque IP !

0 votes

Avez-vous essayé -F mettre en place iftop par exemple : iftop -F IPAdresses

4voto

hargut Points 3820

L'approche par périphérique n'est pas une solution dans ce cas, puisque le noyau ne traite pas un "périphérique réseau virtuel" comme un périphérique distinct. Techniquement, le "périphérique réseau virtuel" est juste une étiquette sur une adresse IP spécifique. En regardant la sortie de ip addr il est clair qu'il n'y a pas de véritable "périphérique", même s'il est répertorié comme un bloc de périphérique distinct lors de la vérification de l'interface utilisateur. ifconfig sortie. La page de manuel de ip-address montre également qu'il est considéré comme un "label". Utilisation de ip addr pour mettre en place une telle configuration, il faut utiliser le label option.

Presque tous les outils en ligne de commande permettant de visualiser le trafic en temps réel dépendent de l'un ou l'autre des éléments suivants netlink (voir par exemple ip net link ) ou lire les données de l'interface à partir de /proc/net/dev . Comme dans les deux cas, les dispositifs virtuels ne sont pas répertoriés, il ne sera pas possible de faire en sorte que ces utilitaires affichent les informations comme vous le souhaitez.

Par conséquent, il n'est possible (dans le cadre de la configuration actuelle du réseau) que d'utiliser l'option socket avec des informations basées sur les ip pour visualiser les données selon les besoins.

ntopng Par exemple, il serait possible de visualiser les données de connexion par socket en temps réel. Elle devrait également offrir la possibilité de le faire pour plusieurs IP sur un seul écran. Il s'agit toujours d'une interface utilisateur Web, qui ne doit pas être utilisée en ligne de commande. Pour RHEL/CentOS, elle est disponible dans un logiciel séparé ntopng ( http://packages.ntop.org/centos/ ) et les besoins epel .

Une autre solution pourrait consister à redéfinir les périphériques réseau virtuels en un type de périphérique traité comme un périphérique réseau réel. Par exemple, en utilisant veth paires de dispositifs et un pont pour se connecter au dispositif physique. Finalement, le macvlan pourrait également fonctionner, et pourrait être plus facile à configurer.

3 votes

Il convient également de mentionner que ifconfig sur Linux est obsolète depuis longtemps, et n'affiche plus correctement la réalité sur le système de toute façon (comme démontré ici). Les alias d'interface ne fonctionnent plus de la manière dont le PO le suppose depuis une décennie ou plus.

0 votes

Cela ne me dérange pas que le trafic réseau soit regroupé par dispositif virtuel ou par adresse IP. Je suis surpris qu'il n'existe pas d'utilitaire de ligne de commande pour afficher cela, cependant !

0 votes

Une autre solution, s'il y a un contrôle sur la façon dont les IPs sont routées vers la boîte : router les IPs vers l'adresse principale eth0, puis ajouter les IPs via des interfaces factices. Bien que je ne puisse pas tester cette théorie pour le moment.

1voto

me_now Points 1

Iptables statistics (iptables -vL) implémente le comptage des paquets dans chaque règle. Vous pouvez établir différentes règles basées sur les IP dans les chaînes d'entrée et de sortie pour autoriser tout le trafic dont la source ou la destination est chacune des IP de vos IP virtuelles.
/sbin/iptables -A INPUT -d XXX.XXX.XXX.XXX -j ACCEPT /sbin/iptables -A INPUT -d YYY.YYY.YYY.YYY -j ACCEPT /sbin/iptables -A OUTPUT -s XXX.XXX.XXX.XXX -j ACCEPT /sbin/iptables -A OUTPUT -s YYY.YYY.YYY.YYY -j ACCEPT

Quoi qu'il en soit, je suggère d'utiliser des VLAN différents (eth0.tag1, eth0.tag2, ...,au lieu de eth0:1, eth0:2) car avec une configuration réseau correcte, les statistiques seraient disponibles, en plus du serveur Linux, dans les périphériques réseau.

0 votes

Bien que limitée dans sa portée, cette suggestion a tout de même résolu mon problème, qui était de surveiller le flux de données à travers la troisième adresse de eth0 qui est DNAT-ted vers une IP publique. +1 pour l'info.

0voto

Timothy Frew Points 572

Observium est un outil open source brillant que je ne cesserai de recommander. Il n'est pas seulement destiné aux grandes installations, mais aussi aux petites comme celle-ci. Il donne des informations en temps semi-réel et des informations historiques lorsque vous lui laissez le temps de les collecter.

http://www.observium.org

0 votes

Puisque je suppose qu'observium utilise SNMP, je suis vraiment curieux de savoir comment afficher les données par alias de périphérique, ce qui est la question du PO ?

0voto

shodanshok Points 42743

Pour un aperçu rapide, vous pouvez utiliser dstat -f -n . Vous pouvez également spécifier l'interface réseau individuelle à surveiller (avec l'option -N drapeau). Vous pouvez lire La page de manuel de dstat ici.

0 votes

Cela me donne des statistiques par interface, mais ne les sépare pas par adresse IP, ce qui est ce que l'OP recherche.

0 votes

Más, -N ne permet pas eth0:0 AFAICS.

0 votes

@MichaelHampton très vrai, j'ai mal lu la question. Merci de l'avoir remarqué.

-1voto

GioMac Points 4331

Pontage des interfaces virtuelles et surveillance des ponts

1 votes

Des précisions seraient sans doute utiles.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X