Как получить или настроить IP-MIB в Ubuntu 12.04?
Я использую SNMP и пытаюсь получить с
snmpwalk -v 2c -c public x.x.x.x ipadd
где хххх это ip компьютера с Ubuntu 12.04 я получаю этот ответ:
IP-MIB::ipAddrTable = No Such Object available on this agent at this OID
так как я могу получить IP-адреса с компьютера Ubuntu 12.04 LT, может быть, есть другая команда, которую я могу использовать?
Спасибо за ответ.
2 ответа
После установки SNMP и его демона (sudo apt-get install snmp snmpd
), вам нужно будет отредактировать файл /etc/snmp/snmp.conf
и закомментируйте строку, содержащую "mibs:"
В этом файле измените строку:
mibs :
в
#mibs :
Далее, если вы еще этого не сделали, вам нужно будет получить полный набор MIB IETF. Эти файлы не поставляются по умолчанию в системах Debian/Ubuntu из-за проблем с лицензированием.
С терминала (Ctrl-Alt-t) введите следующие команды:
sudo apt-get install snmp-mibs-downloader
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 на основе графического интерфейса. Лично я предпочитаю использовать SNMPb для своих графических запросов. После установки SNMPb откройте SNMPb и перейдите к нужному OID в дереве MIB. В вашем конкретном случае это было бы 1.3.6.1.2.1.4.20
или же iso-> org-> internet-> mgmt-> mib-2 -> ip -> ipAddrTable
и выполните Get Bulk для получения тех же данных.
У меня была та же проблема, и я уже сделал вышеупомянутое, но затем я понял, что все, что мне нужно было сделать, это добавить следующую строку в /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
НТН