Визуализация топологии сети используя протоколы LLDP - Topology DiscoveryСкрипт для визуализации сети на основе протоколов LLDP с использованием протокола SNMP - Topology Discovery, 19.05.2016
Текущая версия 3.0.1b
Параметры:
- написано на Perl;
- отображает номера или названия портов, для протокола LLDP;
- генерирует файл в vsd, pdf или любое доступное векторное или растровое изображение.
- убрана многопоточностьИспользуемые пакеты:
- Net::SNMP,
- используется Net::Ping;
- используется внешний graphviz, но можно использовать и внутренний пакет из репозитария Perl.
Новое:
- список поддерживаемого оборудования теперь зависит от самого устройства, опрос происходит по стандартным OID и даже если устройство скрипту неизвестно оно с большой вероятностью будет отображаться корректно;
- убрана ошибка при опросе mac-адресов, в результате которой mac-адрес приходил в формате ascii и некорректно отображалась схема.
- некоторые коммутаторы могли не отвечать через net::ping добавлено опрос через net::ping tcp 23 порт.
- схема не будет ломаться из за
/n и
кавычек в syslocation и в sysname
Требования:
- на устройствах должно быть расшарено SNMP v2 в режиме iso т.е. никакие mib не должны быть закрыты
- наличие net::snmp, net::ping в модуле perl.
- установленный graphviz в системе (проверить можно командой
neato -v, ставиться из репозитария)
Возможные ошибки:
- No more variables left in this MIB View (It is past the end of the MIB tree) - неверно расшарен SNMP, должно быть расшарено дерево iso.
- No Such Instance currently exists at this OID - закрыто дерево mib на оборудовании, необходимо расшарить в режиме iso.
- не отображаются соседи через консоль и SNMP, на оборудовании pvid на порту должно быть равно реально существующему vlanid.
Известные ошибки:
- на коммутатора DGS-3620-28SC при пинге и опросе широковещательного адреса, приходит ответ от коммутаторов Alcatel OS 6224, в результате возможно неверное отображение схемы, если вы не используете данную связку, не обращайте внимания.
-
не смотря на то, что lldp oid и их выводы стандартизированы, статистика показывает что разные вендоры и даже разные модели оборудования у одного вендора не соблюдают формат, в результате универсальный скрипт пока что не возможен, под некоторые модели коммутаторов необходимо забивать "кол" и делать "костыли" в скрипте.Если есть проблема с опросом устройства, нужно снять с него:
Код:
snmpwalk -O n -v 2c -c public {ip} .1.3.6.1.2.1.1.1.0
snmpwalk -O n -v 2c -c public {ip} .1.3.6.1.2.1.1.2.0
snmpwalk -O n -v 2c -c public {ip} .1.3.6.1.2.1.1.5.0
snmpwalk -O n -v 2c -c public {ip} .1.3.6.1.2.1.1.6.0
snmpwalk -O xn -v 2c -c public {ip} .1.3.6.1.2.1.17.1.1.0
snmpwalk -O xn -v 2c -c public {ip} .1.0.8802.1.1.2.1.4.1.1.5
snmpwalk -O n -v 2c -c public {ip} .1.3.6.1.2.1.31.1.1.1.1
Хотелось бы что народ с сетями на основе D-link протестировал и подсказал что подправить/добавить, поделился своим мнением, если конечно есть желающие, хотя в интернете и есть много аналогичных продуктов.
Вопросы и предложения задавайте в данной ветке.