J'aimerais obtenir des tables ARP d'un commutateur vers un serveur syslog-ng qui a été configuré sur Ubuntu Server 12.04 LTS. J'ai lu sur SNMP et je sais que le serveur agira en tant que gestionnaire et le commutateur en tant qu'agent. J'ai des détails sur l'emplacement de la base MIB et je dois utiliser la commande
snmpwalk -v2c -c <community> <SwitchIP> .1.3.6.1.2.1.17.4.3.1.2
Je veux que les tables d'arp résultantes soient dirigées vers un mon serveur.
Mon problème est que je ne sais pas exactement où exécuter la commande ou enregistrer la sortie dans un fichier.
Réponses:
Il semble y avoir un peu de confusion ... vous parlez des tables ARP et vous utilisez des OID
.1.3.6.1.2.1.17.4.3.1.2
; Cependant, cet OID est en réalité pour la table des adresses mac du commutateur.Je suppose que vous savez comment vous connecter à votre serveur Ubuntu et que celui-ci
NET-SNMP
est installé ... s'il vous plaît laissez-moi savoir si vous avez besoin de pointeurs pour le faire (voir cette question pour des astuces sur le chargement de MIB sous Linux ). Certains de mes exemples supposent que les bases MIB sont chargées sur votre serveur ... il vous suffit de supprimer l'-m <mib-name>
option des commandes si les bases MIB ne sont pas chargées localement.Je m'excuse par avance pour la longueur de cette réponse ... J'aimerais que les sondages avec SNMP ne soient pas aussi compliqués ...
Interroger la table des adresses MAC:
Si vous voulez vraiment la table des adresses mac du commutateur, souvenez-vous que vous devez changer la chaîne de communauté avec laquelle vous interrogez ... elle devrait se présenter sous la forme
<commity@vlan>
... chaque vlan que vous interrogez a besoin d'une communauté différente.Dans mon exemple ci-dessous, le commutateur 172.16.1.210 est configuré avec
snmp-server community public ro
, et j'interroge la table des adresses mac dans vlan-10 avec dot1dTpFdbPort de BRIDGE-MIB .Dans la sortie ci-dessus, 52 est la valeur de
dot1dBasePort
, qui est un nombre que la MIB utilise pour indexer la table dot1dTp. Pour traduire cela en un nom d'interface normal, vous devez mapper cela sur un ifName ... BRIDGE-MIB le fait avec dot1dBasePortIfIndex ...Ainsi, nous savons que toutes les adresses MAC de ce commutateur ont été apprises via FastEthernet 0/48 dans vlan-10.
Interroger les Vlans actifs:
Si vous ne savez pas exactement quels réseaux virtuels interroger sur un commutateur, vous pouvez obtenir ces informations
.1.3.6.1.4.1.9.9.46.1.3.1.1.2
, à savoir vtpVlanState dans la base de données CISCO-VTP-MIB ...N'oubliez pas que les réseaux locaux virtuels 1002-1005 sont des réseaux locaux que vous ne devriez pas interroger.
Interroger la table ARP
Si vous voulez vraiment la table ARP du commutateur, vous devez interroger atPhysAddress ...
Enregistrement du résultat de la commande dans un fichier
Nous explorons des domaines qui sortent du cadre normal de ce site, mais pour enregistrer le tableau ARP ci-dessus dans un fichier
/tmp/S01_ARP.txt
, vous ajouteriez> /tmp/S01_ARP.txt
à la fin de ce quisnmpbulkwalk
précède ...Comme vous le voyez ci-dessus, vous pouvez utiliser
cat
Linux pour obtenir toutes les sorties d'un fichier texte. NOTE: Certaines distributions linux (ahem ... CentOS) nettoient le/tmp
répertoire tous les mois. Vous devriez utiliser votreHOME
répertoire sous Linux pour stocker le fichier. Je ne me souviens pas d'Ubuntu en train de nettoyer/tmp
, mais par sécurité, j'éviterais de stocker des choses là-bas.Notes diverses sur SNMP ...
Si vous n'avez pas chargé toutes les bases MIB de Cisco sur votre machine Ubuntu, évitez d'utiliser les
-m <mib-name>
indicateurs dans lessnmpbulkwalk
commandes. Le chargement de MIB vous permet d’interroger avec un nom d’OID au lieu du numéro en long pointillé ...Informations de référence:
J'inclus certaines commandes show du commutateur, au cas où vous auriez des questions à propos de la CLI pour les commandes SNMP ci-dessus ...
la source
man snmpcmd
si vous êtes sur un hôte Linux et que Net-SNMP est installé. Sinon, vous pouvez trouver cette information ici: net-snmp.sourceforge.net/docs/man/snmpcmd.html