Я использую snmp и пытаюсь получить с
snmpwalk -v 2c -c public x.x.x.x ipadd
, где xxxx - ip ПК с ubuntu 12.04, я получаю этот ответ:
IP-MIB::ipAddrTable = No Such Object available on this agent at this OID
, так как я получить IP-адрес с компьютера Ubuntu 12.04 LT, может быть, есть другая команда, которую я могу использовать?
Спасибо за ответ.
У меня была та же проблема, и я уже сделал вышеупомянутое, но потом я понял, что все, что мне нужно сделать, это добавить следующую строку в /etc/snmp/snmpd.conf
# For IF-MIB data to show up in snmpwalk
view systemonly included .1.3.6.1.2.1.4.20
и затем перезапустите snmpd:
/etc/init.d/snmpd restart
, затем я получу:
% ~/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
После установки SNMP и его демона (sudo apt-get install snmp snmpd
) вам нужно отредактировать файл /etc/snmp/snmp.conf
и закомментировать строку, содержащую «mibs:»
В этом файле измените строку: [ 1123]
mibs :
-
#mibs :
Далее, если вы еще этого не сделали, вам нужно будет получить полный набор MIB IETF. Эти файлы не поставляются по умолчанию в системах Debian / Ubuntu из-за проблем с лицензированием.
В терминале ( Ctrl kbd> - Alt kbd> - t kbd>) введите следующие команды:
[ 118]
sudo download-mibs
Затем вам нужно будет изменить /etc/snmp/snmpd.conf
.
Разрешить SNMP системе получать запросы на интерфейсах, отличных от ее адреса обратной связи. Строки для этого должны выглядеть следующим образом:
# 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
Обратите внимание, что это позволит ЛЮБОЙ системе запрашивать ваш компьютер. Вам нужно будет настроить это, чтобы ограничить доступ SNMP к вашему устройству.
Теперь вам нужно изменить строку SNMP только для чтения с public
на произвольную строку по вашему выбору, как показано ниже:
#rocommunity public default -V systemonly
rocommunity <My$ecret$tr1nG> (Don't use this example!)
Примечание. Удаление -V systemonly
из линия позволит получить доступ ко всему дереву MIB и не ограничивать его системной частью дерева.
Перезапустите демон SNMP
sudo service snmpd restart
Наконец, ваш запрос SNMP теперь должен отвечать правильно.
Например:
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
Тот же запрос может быть выполнен с использованием браузера MIB на основе GUI. Лично я предпочитаю использовать SNMPb для своих графических запросов. После того как вы установили SNMPb , откройте SNMPb и перейдите к нужному OID в дереве MIB. В вашем конкретном случае это будет 1.3.6.1.2.1.4.20
или iso-> org-> internet-> mgmt-> mib-2 -> ip -> ipAddrTable
и выполнение Get Bulk для получения тех же данных.