web-dev-qa-db-fra.com

Comment obtenir ou configurer IP-MIB dans Ubuntu 12.04?

J'utilise snmp et j'essaie d'obtenir

snmpwalk -v 2c -c public x.x.x.x ipadd

où x.x.x.x est l'adresse IP du PC avec Ubuntu 12.04, j'obtiens cette réponse:

IP-MIB::ipAddrTable = No Such Object available on this agent at this OID

alors, comment puis-je obtenir l'adresse IP d'un ubuntu 12.04 LT pc, il y a peut-être une autre commande que je peux utiliser?

Merci d'avoir répondu .

5
usermfg

Après avoir installé SNMP et son démon (Sudo apt-get install snmp snmpd), vous devez éditer le fichier /etc/snmp/snmp.conf et commenter la ligne contenant "mibs:".

Dans ce fichier, changez la ligne:

mibs :

à

#mibs : 

Ensuite, en supposant que vous ne l'ayez pas déjà fait, vous devrez obtenir l'ensemble complet de bases MIB IETF. Ces fichiers ne sont pas livrés, par défaut, sur les systèmes Debian/Ubuntu en raison de problèmes de licence.

Du terminal (Ctrl-Alt-t), entrez les commandes suivantes:

Sudo apt-get install snmp-mibs-downloader

Sudo download-mibs

Ensuite, vous devrez modifier /etc/snmp/snmpd.conf.

  1. Pour permettre au système SNMP de recevoir des requêtes sur des interfaces autres que son adresse de bouclage. Les lignes pour cela devraient ressembler à ceci:

    #  Listen for connections from the local system only
    #  agentAddress  udp:127.0.0.1:161
    #  Listen for connections on all interfaces (both IPv4 *and* IPv6)
    agentAddress udp:161,udp6:[::1]:161
    

    Notez que cela permettra à TOUT système d’interroger votre machine. Vous devrez l’ajuster pour limiter l’accès SNMP à votre appareil.

  2. Vous allez maintenant vouloir changer votre chaîne SNMP en lecture seule de public à une chaîne personnalisée de votre choix, comme ci-dessous:

    #rocommunity public  default    -V systemonly
    rocommunity <My$ecret$tr1nG> (Don't use this example!) 
    

    Remarque: Si vous supprimez -V systemonly de la ligne, vous aurez accès à l'intégralité de l'arborescence MIB et non pas à la partie système de l'arborescence.

  3. Redémarrez le démon SNMP

    Sudo service snmpd restart
    

Enfin, votre requête SNMP devrait maintenant répondre correctement.

par exemple.:

snmpwalk -v 2c -c <My$ecret$tr1nG> <MachineName> ipadd

IP-MIB::ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1
IP-MIB::ipAdEntAddr.192.168.1.7 = IpAddress: 192.168.1.7
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.192.168.1.7 = INTEGER: 2
IP-MIB::ipAdEntNetMask.127.0.0.1 = IpAddress: 255.0.0.0
IP-MIB::ipAdEntNetMask.192.168.1.7 = IpAddress: 255.255.255.0
IP-MIB::ipAdEntBcastAddr.127.0.0.1 = INTEGER: 0
IP-MIB::ipAdEntBcastAddr.192.168.1.7 = INTEGER: 1

La même requête peut également être exécutée à l'aide d'un navigateur MIB basé sur une interface graphique. Personnellement, je préfère utiliser SNMPb pour mes requêtes graphiques. Une fois que vous avez SNMPb installé , ouvrez SNMPb et accédez au OIDsouhaité dans l'arborescence MIB. Dans votre cas spécifique, il s'agirait de 1.3.6.1.2.1.4.20 ou iso-> org-> internet-> mgmt-> mib-2 -> ip -> ipAddrTable et effectuerait une opération Get Bulk pour recevoir les mêmes données.

4
Kevin Bowen

J'ai eu le même problème, et j'avais déjà fait ce qui précède, mais je me suis alors rendu compte que tout ce que j'avais à faire, c'était d'ajouter la ligne suivante à /etc/snmp/snmpd.conf.

# For IF-MIB data to show up in snmpwalk
view   systemonly  included   .1.3.6.1.2.1.4.20

puis redémarrez le snmpd:

/etc/init.d/snmpd restart

alors je reçois:

% ~/computer/snmp$ snmpwalk -v 2c -c public -O e mymachinename ipadd
IP-MIB::ipAdEntAddr.10.11.12.3 = IpAddress: 10.11.12.66
IP-MIB::ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1
IP-MIB::ipAdEntIfIndex.10.11.12.66 = INTEGER: 2
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntNetMask.10.11.12.66 = IpAddress: 255.255.255.0
IP-MIB::ipAdEntNetMask.127.0.0.1 = IpAddress: 255.0.0.0
IP-MIB::ipAdEntBcastAddr.10.11.12.66 = INTEGER: 1
IP-MIB::ipAdEntBcastAddr.127.0.0.1 = INTEGER: 0

HTH

0
Will