В связи с этим я решил немного сэкономить время и силы тех, кого интересует данный вопрос, и собрал в одном месте максимально возможное, читай осиленное мной, количество систем для network mapping'а в одном месте.
Часть систем, описанных в данной статье, были в свое время испробованы мной лично. Скорее всего, это были неактуальные на данный момент версии. Часть из нижеприведенного я вижу впервые, и информация по ним собиралась исключительно в рамках подготовки данной статьи.
В силу того, что трогал я системы давно, а часть из них не трогал вообще, у меня не осталось ни скриншотов, ни каких-либо примеров. Так что я освежил знания в гугле, вики, на youtube, сайтах разработчиков, там же натырил скриншотов, и в итоге получился вот такой вот обзор.
1. Теория
1.1. Зачем?
Чтобы ответить на вопрос «Зачем?» сначала нужно понять, что же такое «Карта сети». Карта сети – (чаще всего) логико-графико-схематическое представление взаимодействия сетевых устройств и их связи, которое описывает их наиболее значимые параметры и свойства. В наше время часто применяется в связке с мониторингом состояния устройств и системой оповещения. Так вот: затем, чтобы иметь представление о расположении узлов сети, их взаимодействии и связях между ними. В связке с мониторингом мы получаем рабочий инструмент для диагностики поведения и прогнозирования поведения сети.
1.2. L1, L2, L3
Они же Layer 1, Layer 2 и Layer 3 в соответствии с моделью OSI. L1 – физический уровень (провода и коммутация), L2 – уровень физической адресации (mac-адреса), L3 – уровень логической адресации (IP-адреса).
Строить карту L1 смысла, по сути, нет, она логически вытекает из той же L2, за исключением, пожалуй, медиаконвертеров. И то, сейчас существуют медиаконвертеры, которые так же можно отслеживать.
По логике – L2 строит карту сети, основываясь на mac-адресах узлов, L3 – на IP-адресах узлов.
1.3. Какие данные отображать
Тут зависит от решаемых задач и пожеланий. Мне, например, само собой хочется понимать, «жива» ли сама железка, на каком ее порту что «висит» и в каком состоянии порт – up или down. Это может L2. Да и вообще L2 мне кажется наиболее применимой в прикладном смысле топологией карты сети. Но, на вкус и цвет…
Скорость соединения на порту – неплохо, но не критично, если там находится конечное устройство – принтер\ПК. Хорошо бы иметь возможность посмотреть уровень загрузки процессора, количество свободной оперативной памяти и температуру на железке. Но это уже не так просто, тут нужно будет настраивать систему мониторинга, которая умеет читать SNMP и выводить и анализировать полученные данные. Об этом позднее.
По поводу L3 нашел вот такую статью.
1.4. Как?
Можно руками, можно в автоматическом режиме. Если руками – то долго и нужно учитывать человеческий фактор. Если автоматически – то нужно учесть, что все сетевые устройства должны быть «умными», уметь в SNMP и этот SNMP должен быть правильно настроен, чтобы система, которая будет собирать с них данные, смогла эти данные считать.
Вроде не сложно. Но есть подводные камни. Начиная с того, что не каждая система сможет считать с устройства все те данные, которые мы бы хотели видеть, или не все сетевые устройства могут эти данные отдать, и заканчивая тем, что не каждая система умеет сама строить карты сети в автоматическом режиме.
Процесс автоматического формирования карты примерно следующий:
- система считывает данные с сетевого оборудования
- на основе данных формирует для каждого порта маршрутизатора таблицу соответствия адресов на портах
- сопоставляет адреса и имена устройств
- строит связи порт-порт\устройство
- отрисовывает все это в виде схемы, «интуитивно понятной» для пользователя
2. Практика
Итак, поговорим теперь о том, с помощью чего можно построить карту сети. Возьмем за отправную точку, что мы хотим, конечно же, максимально автоматизировать данный процесс.
Существует специализированный софт, решающий задачу построения карты сети. Какие-то программные продукты могут только предоставить среду для «ручного» добавления картинок со свойствами, отрисовывания связей и запускают «мониторинг» в крайне урезанном виде (жива ли нода, или уже не отвечает). Другие же могут не просто самостоятельно отрисовать схему сети, но и считать кучу параметров с SNMP, оповещать пользователя по SMS в случае поломок, предоставить кучу информации по портам сетевой железки, и все это является лишь частью их функционала (та же NetXMS).
2.1. Продукты
Список далеко не полный, так как существует ну очень много подобного рода софта. Но это все, что выдает гугл по теме (в том числе и англоязычные сайты):
Open Source проекты:
LanTopoLog
Nagios
Icinga
NeDi
Pandora FMS
PRTG
NetXMS
Zabbix
The Dude
nMap
Платные проекты:
LanState
Total Network Monitor
Solarwinds Network Topology Mapper
UVexplorer
Auvik
AdRem NetCrunch
UserSide
2.2.1. Бесплатное ПО
2.2.1.1. LanTopoLog
Сайт
ПО разработки Юрия Волокитина. Интерфейс простой настолько, насколько это вообще возможно. Софтина поддерживает, скажем так, полуавтоматическое построение сети. Ей нужно «скормить» настройки всех маршрутизаторов (IP, SNMP credentials), далее все произойдет само, а именно будут построены связи между устройствами с указанием портов.
Есть платная и бесплатная версии продукта.
Видео-мануал
2.2.1.2. Nagios
Сайт
Open Source ПО, существует с 1999 года. Система разработана для мониторинга сети, то есть она умеет считывать данные через SNMP и автоматически строить карту сети, но так как это ее не основная функция, то делает она это весьма… странно… Для построения карт используется NagVis.
Видео-мануал
2.2.1.3. Icinga
Сайт
Icinga – это Open Source система, которая в свое время отпочковалась от Nagios. Система позволяет автоматически строить карты сети. Проблема лишь в том, что карты она строит при помощи аддона NagVis, который был разработан под Nagios, так что будем считать, что в качестве построения карты сетей эти две системы идентичны.
Видео- мануал
2.2.1.4. NeDi
Сайт
Умеет автоматически обнаруживать ноды в сети, и на основе этих данных строить карту сети. Интерфейс довольно простой, есть мониторинг состояния по SNMP.
Есть бесплатная и платная версии продукта.
Видео-мануал
2.2.1.5. Pandora FMS
Сайт
Умеет в автообнаружение, автопостроение сети, SNMP. Приятный интерфейс.
Есть бесплатная и платная версии продукта.
Видео-мануал
2.2.1.6. PRTG
Сайт
ПО не умеет в автоматическое построение карты сети, только перетаскивание картинок вручную. Но при этом умеет мониторить состояние устройств через SNMP. Интерфейс оставляет желать лучшего, на мой субъективный взгляд.
30 дней — полный функционал, потом — «бесплатная версия».
Видео-мануал
2.2.1.7. NetXMS
Сайт
NetMXS – это в первую очередь Open Source система мониторинга, построение карты сети – побочная функция. Но реализована она достаточно аккуратно. Автоматическое построение на основе автообнаружения, мониторинг нод по SNMP, умеет отслеживать состояние портов маршрутизаторов и другую статистику.
Видео-мануал
2.2.1.8. Zabbix
Сайт
Zabbix – это тоже Open Source система мониторинга, причем более гибкая и мощная, чем NetXMS, но карты сети он умеет строить только в ручном режиме, а вот мониторить может практически любые параметры маршрутизаторов, сбор которых только можно настроить.
Видео-мануал
2.2.1.9 The Dude
Сайт
В целом не сложная бесплатная утилитка, заточенная под работу с маршрутизаторами Mikrotic. Позволяет управлять устройствами, не выходя их программы. Так же может работать и с устройствами других вендоров, но об этом не заявлено официально, и списка поддерживаемых устройств я не нашел. На мой вкус интерфейс не самый приятный, но работать в нем можно.
Видео-мануал
2.2.1.10. nMap
Сайт
Основной функционал данного ПО — сканирование безопасности сети. Но на базе собранных данных система может построить и карту сети, правда, мониторить в привычном смысле она не может (насоклько я понял). Зато выводит исчерпывающую информацию на карту.
Видео-мануал
2.2.2. Платное ПО
2.2.2.1. LanState
Сайт
Платное ПО, позволяющее автоматически просканировать топологию сети и на базе обнаруженного оборудования построить карту сети. Позволяет мониторить состояние обнаруженных устройств только по up\down самой ноды.
Видео-мануал
2.2.2.2. Total Network Monitor
Сайт
Платное ПО, которое не умеет автоматически строить карту сети. Не умеет даже автоматически обнаруживать ноды. По-сути это тот же Visio, только ориентированный на сетевую топологию. Позволяет мониторить состояние обнаруженных устройств только по up\down самой ноды.
Видео-мануал я не нашел, да он и не нужен… Программка так себе.
2.2.2.3. Solarwinds Network Topology Mapper
Сайт
Платное ПО, есть триал-период. Может автоматически просканировать сеть и самостоятельно составить карту по заданным параметрам. Интерфейс довольно простой и приятный.
Видео-мануал
2.2.2.4. UVexplorer
Сайт
Платное ПО, 15-тидневный триал. Умеет автообнаружение и автоматическое отрисовывание карты, мониторинг девайсов только по состоянию up/down, то есть через пинг устройства.
Видео-мануал
2.2.2.5. Auvik
Сайт
Довольно симпатичная платная программка, умеет в автообнаружение и мониторинг сетевых устройств.
Видео-мануал
2.2.2.6. AdRem NetCrunch
Сайт
Платная софтина с 14ти дневным триалом. Умеет в автоопределение и автопостроение сети. Интерфейс восторгов не вызвал. Умеет так же в SNMP мониторинг.
Видео-мануал
2.2.2.7. UserSide
Сайт
По-сути, это мощная ERP-система для провайдеров. Презентация с возможностями вот тут есть. Умеет мониторить все, что только можно и как только можно. Но это дорогой монстр, мощности которого для простого построения карты сети слишком велики… Но… Карты же он рисует…
Видео-мануал
3. Табличка сравнения
Как оказалось — придумать актуальные и важные параметры для сравнения систем и при этом уместить их в одну маленькую табличку — достаточно сложно. У меня родилось вот это:
*Параметр «User Friendly» является крайне субъективным, и я это понимаю. Но как еще описать «топорность и нечитаемость» я не придумал.
**«Мониторинг не только сети» подразумевает под собой работу системы как «системы мониторинга» в привычном понимании этого термина, то есть возможность считывать метрики с ОС, хостов виртуализации, получать данные от приложений в гостевых ОС и т.д.
4. Личное мнение
Из личного опыта — использовать ПО отдельно для мониторинга сети я не вижу смысла. Мне больше импонирует мысль использовать систему мониторинга всего и вся с возможностью построения карты сети. У Zabbix с этим дело обстоит… трудно. Nagios и Icinga — тоже. И только NetXSM порадовала в этом плане. Хотя, если заморочиться и сделать карту в Zabbix, то это выглядит даже более перспективным, нежели NetXMS. Есть еще Pandora FMS, PRTG, Solarwinds NTM, AdRem NetCrunch, и скорее всего куча еще чего, не вошедшего в данную статью, но я их видел только на картинках и в видео, так что ничего сказать о них не могу.
По поводу NetXMS была написана статья с небольшим обзором возможностей системы и небольшой how to.
P.S.:
Если я где-то ошибся, а я скорее всего ошибся, будьте добры, исправьте в комментариях, я подправлю статью, дабы тем, кому эта информация будет полезной, не пришлось все перепроверять на собственном опыте.
Спасибо.
Комментарии (22)
skymal4ik
20.03.2019 17:31Как то использовал The Dude. У нас была куча микротиков, но с помощью The Dude мы мониторили и другие девайсы.
Из плюсов — симпатичная, простая, может показывать загрузку линков и устройств.
Из минусов для меня — винда, а не веб.Snow_Bars Автор
20.03.2019 19:29
Насчет «симпатичная» я не соглашусь, хотя на вкус и цвет, конечно. Но за наводку спасибо, будет время — добавлю в список.
Zariel
20.03.2019 19:26Вот пример отличной карты сети www.softinventive.ru/products/total-network-inventory/#networkmap
Snow_Bars Автор
20.03.2019 19:33ПО заточено под инвентаризацию. Карты она строит, да, но умеет только в ICMP-мониторинг, что для платного софта мне кажется большим недостатком. Хотя платят тут скорее за возможности инвентаризации, но с этой стороны меня устраивает старая софтина «sklad» в связке с checkcfg.
Словом, на мой взгляд, как network mapper она так себе.
PythonKaa
20.03.2019 21:26Насколько я понял из описания, оно умеет просканировать сеть и вывалить все, что найдёт. Карты придётся рисовать руками, в конечном итоге. Ну а руками карту рисовать — я уж лучше Zabbix возьму
sviato_slav
20.03.2019 20:01Вот хорошая программа — Network MACMonitor.
Хотя графические карты в ней не реализованы, но в отличие от других, программа поддерживает поиск по патч-кордам, патч-панелям, сетевым розеткам. Так же по имени пользователя можно найти к какому порту коммутатора подключен или был подключен его компьютер.Snow_Bars Автор
21.03.2019 09:44Судя по описанию — она не умеет в карту сети, только сканирование, учет и отчетность. Немного не по теме статьи.
hrust_russia
21.03.2019 08:31Userside — все в одном, но дорого
Snow_Bars Автор
21.03.2019 10:02Судя по пописанию — это монстр, в который понапихано мильён модулей, работа с сетями — лишь один из них… Пойду курить инфу..)
MrNobody
21.03.2019 09:23Для разведки сети при наличии в ней CDP или LLDP есть вот такой вот инструмент: netdisco.org.
Умеет сам строить карты, основываясь на собранной по SNMP и LLDP информации от устройств. Некоторые даже сам добавляет.
Заодно подробно указывает всех кто находится в портах: mac адреса, ip адреса, имена, если есть обратные записи в DNS. Можно добавлять связи вручную.
При наличии нескольких адресов управления у устройства иногда некорректно из добавляет(дублирует).
Очень помогает в понимании топологии.
Может пригодится кому.Snow_Bars Автор
21.03.2019 10:00Инфы по нему очень мало. Судя по всему настройка происходит в лучших линуксовых традициях — листанием строк в файле и исправлением переменных, что далеко не каждому подойдет.
MrNobody
21.03.2019 10:14На русском языке может быть.
Инструкция по установке — присутствует, на github наличествует описание всех переменных конфигурации: github.com/netdisco/netdisco/wiki/Configuration.
Конфигурация сводится к относительно несложному конфигурационному файлу и добавлению хостов в интерфейсе после установки.
aid4u
21.03.2019 09:55Используем оборудование Unifi в нем есть все это и даже чуть больше. Но изначально за железки нужно заплатить чуть больше чем микротик
Snow_Bars Автор
21.03.2019 10:10У Unify все красиво и приятно, но бесполезно для стороннего оборудования, как я понял. Со своим все равботает из коробки и на 99% автоматом, а вот со всем остальным — вообще никак.
Fitrager
В свое время несколько раз задавался таким вопросом. Если нужна карта сети, то среди бесплатных я лучше Frendly Pinger ничего не нашел. Есть аналогичные современные версии, которые имеют web интерфейс, но они платные. В итоге пришел к выводу, что лучше Zabbix ничего не найти, если нужен именно web интерфейс и бесплатность.
Snow_Bars Автор
Ну, он настолько древний, что прям беда. Последняя версия была в 11м году)
Wundarshular
Вы о Friendly Pinger?
Snow_Bars Автор
Да, о нем.