(Переместив это из SuperUser, я понял, что здесь более уместно)
Привет всем, мне нужно выяснить, как надежно получать различную информацию для сетевых интерфейсов через SNMP, такую как IP-адрес сетевой карты, шлюз, список серверов поиска DNS и включен ли DHCP на интерфейсе.
К сожалению, я обнаружил, что эта информация разбросана по четырем углам (SNMP) земного шара, и у меня чертовски много времени, чтобы отслеживать все это. Пока у меня есть IP-адрес, и я считать Я понял, как выбрать шлюз, хотя был бы признателен, если бы кто-нибудь мог подтвердить мой «алгоритм» для этого, поскольку я также не уверен, как это сделать для IPv6.
Я не могу найти:
Это "алгоритм", который я придумал для получения шлюза:
Фух! Как видите, ужасный кошмар. Так может ли кто-нибудь подтвердить / дополнить мой алгоритм шлюза выше или рассказать мне о DNS / DHCP?
Кроме того, просто к сведению, альтернативы сценария оболочки Unix / Linux не помогут - например, я уже знаю, как это сделать, а также мне нужно опрашивать устройства, отличные от * nix, такие как коммутаторы и маршрутизаторы Cisco, а также сетевые принтеры.
Спасибо!
Вместо того, чтобы смотреть на индексы snmp, вы действительно хотите использовать программу snmptable.
Например
/ usr / bin / snmptable -v2c -c общедоступный $ HOST NETAPP-MIB :: netifTable
MIBS на самом деле вполне удобочитаемы. В остальном RedGrittyBrick сказал все.
Мне нравится использовать http://tools.cisco.com/Support/SNMP/do/BrowseOID.do чтобы узнать, является ли OID текущим или устаревшим.
Мне твой alg нравится. Я бы хотел, чтобы это не было так сложно. Вы пробовали, например, просто проверить ipRouteTable?
Что касается DHCP, это либо ipNetToMediaType, либо ipNetToPhysicalType со значением: INTEGER: dynamic (3).
Не существует стандартной базы MIB, содержащей серверы имен.
Если окна, то
Создайте свою собственную программу на Visual Basic, я бы не стал использовать SNMP.
Раньше я использовал snmpwalk для перечисления всего дерева ниже определенной точки и сохранения результатов в файле, затем вы можете искать значение (например, IP-адрес DNS-сервера) и находить связанные с ним OID. .
Тогда я бы знал, какие OID нужно поместить в мой файл конфигурации MRTG.
Разные производители наклеивают информацию в разные места. Если у вас нет их определений MIB, это был лучший метод, который я мог найти для обратного проектирования OID.