Как получить таблицы arp от коммутатора к базе данных MySQL сервера, используя snmp

Я хотел бы получить таблицы ARP от коммутатора к серверу системного журнала (Ubuntu 12.04 LTS). Я провел некоторое исследование о том, как это сделать, и я решил использовать SNMP. Я провел некоторые исследования и знаю, что мой сервер будет управляющим, а коммутатор будет действовать как агент. Моя проблема в том, что я не совсем уверен в процессе получения таблиц arp и их направления в базу данных mysql на моем сервере.

1
задан 15 March 2017 в 00:07

3 ответа

Мы используем инструмент под названием NetDB в Ubuntu, который очищает все наши маршрутизаторы и коммутаторы и помещает их в базу данных MySQL. Он работает найти 12.04 LTS:

0
ответ дан 15 March 2017 в 00:07

MAC-адреса хранятся в MIB .1.3.6.1.2.1.17.4.3.1.2

Итак, вы можете сделать что-то вроде этого:

snmpwalk -v2c -c <community> <SwitchIP> .1.3.6.1.2.1.17.4.3.1.2

Вы получите дамп с этими номерами, за которыми следуют шесть слов MAC-адрес в целочисленной форме. Итак, вам нужно получить последние 6 целых чисел, преобразовать их в шестнадцатеричные и, наконец, сохранить их в своей базе данных.

Ответ также скажет вам, в каком порту коммутатор «видит» MAC-адрес. Пример:

iso.3.6.1.2.1.17.4.3.1.2.208.39.136.84.36.11 = INTEGER: 25

Означает, что MAC-адрес 208.39.136.84.36.11 (при желании преобразовать его в шестнадцатеричный) доступен через порт 25 этого коммутатора.

0
ответ дан 15 March 2017 в 00:07

Существует ряд программных решений, которые могут опрашивать сетевые устройства через SNMP и сохранять их таблицы MAC-адресов в базе данных SQL. Как правило, их функциональность включает в себя гораздо больше, чем то, что вы просите в своем вопросе.

Перед установкой программного обеспечения на сервер важно отметить, что у вас должен быть административный доступ к сетевым устройствам или, по крайней мере, разрешение на запрос соответствующих устройств. Либо вам, либо вашим специалистам по ИТ-поддержке потребуется настроить коммутаторы с разрешающей строкой SNMP, а также разрешить запросы SNMP от IP-адреса / подсети сервера, на котором он находится. Способ настройки этих устройств зависит от поставщика и выходит за рамки очевидного вопроса.

Одним из примеров такого инструмента, доступного для Ubuntu, является Netdisco .

Согласно их веб-сайту, Netdisco - это программный пакет, который поддерживает «Информация о конфигурации и данные о подключении для сетевых устройств [то есть] ... извлекаются через SNMP. Данные хранятся с использованием базы данных SQL для масштабируемости и Скорость. Протоколы топологии уровня 2, такие как CDP и LLDP, обеспечивают автоматическое обнаружение топологии сети. "

В то время как есть пакет, доступный для установки из репозиториев Ubuntu (см. netdiso-common, netdisco-backend и netdisco-frontend) он несколько устарел. Более свежую версию можно установить из источника на на их сайте .

Другим примером может быть IPPlan , который фокусируется на управлении IP-адресами (IPAM), DNS и управлении каналами. IPPLAN опрашивает через пакет ucd-snmp и NMAP и может сопоставлять IP-адреса с MAC-адресами в различных базах данных SQL.

Также, вы можете взглянуть на Switchmap .

Хотя он не хранит свои данные в SQL, он создает файлы CSV, которые затем можно вылить в базу данных SQL, если это необходимо.

Существует ряд других решений (как коммерческих, так и бесплатных). Я упоминаю об этом только потому, что у меня был прямой опыт установки, настройки и управления этими программными пакетами.

0
ответ дан 15 March 2017 в 00:07

Другие вопросы по тегам:

Похожие вопросы: