mikrotik-wiki.ru
Главная
Загрузка...

Neighbors на MikroTik — обнаружение устройств в сети

RouterOS 7.xIP4 мин430 мар. 2026 г.
TelegramVK

IP Neighbors на MikroTik — обнаружение устройств в сети

Neighbor Discovery — механизм автоматического обнаружения устройств в локальной сети. MikroTik поддерживает три протокола обнаружения: собственный MNDP (MikroTik Neighbor Discovery Protocol), Cisco CDP и стандартный IEEE LLDP. Эти протоколы позволяют увидеть соседние устройства без ручного сканирования — модель, IP-адрес, версию RouterOS, имя и интерфейс подключения. Это мощный инструмент для инвентаризации сети и диагностики, но он же может раскрыть информацию о вашей инфраструктуре злоумышленнику, если оставить discovery на WAN-интерфейсе.

Описание

Протоколы обнаружения

RouterOS использует три протокола для обмена информацией о соседних устройствах:

ПротоколОписаниеСовместимость
MNDPПроприетарный протокол MikroTikТолько MikroTik-устройства
CDPCisco Discovery ProtocolCisco, MikroTik и некоторые другие вендоры
LLDPLink Layer Discovery Protocol (IEEE 802.1AB)Стандарт, поддерживается большинством управляемых коммутаторов

MNDP отправляет мультикаст-пакеты на UDP-порт 5678. Устройства обмениваются информацией: identity (имя роутера), версия RouterOS, платформа (модель), IP-адреса, uptime и интерфейс. CDP и LLDP работают на L2-уровне и не маршрутизируются — видны только устройства в пределах одного broadcast-домена.

Что показывает таблица Neighbors

Для каждого обнаруженного соседа RouterOS отображает:

  • Identity — системное имя устройства (/system/identity)
  • Address — IP-адрес соседа
  • MAC Address — MAC-адрес интерфейса
  • Interface — локальный интерфейс, через который обнаружен сосед
  • Platform — модель устройства (RouterBOARD, CRS, CCR и т.д.)
  • Version — версия RouterOS
  • Board — наименование платы (hAP ax2, RB5009 и т.д.)
  • Uptime — время работы устройства

Это позволяет быстро определить, что подключено к каждому порту, без необходимости подключаться к каждому устройству отдельно.

Настройка

Просмотр обнаруженных соседей

Базовая команда для просмотра всех обнаруженных устройств:

[admin@MikroTik] >
/ip/neighbor/print

Вывод с дополнительными полями:

[admin@MikroTik] >
/ip/neighbor/print detail

Фильтрация — показать только соседей на определённом интерфейсе:

[admin@MikroTik] >
/ip/neighbor/print where interface=ether1

Настройка Discovery Settings

Глобальные параметры обнаружения задаются в discovery-settings:

[admin@MikroTik] >
/ip/neighbor/discovery-settings/print

Основные параметры:

[admin@MikroTik] >
/ip/neighbor/discovery-settings/set \
  discover-interface-list=LAN \
  protocol=mndp,cdp,lldp \
  lldp-med-net-policy-vlan=disabled
ПараметрОписаниеРекомендация
discover-interface-listСписок интерфейсов для discoveryТолько LAN, никогда WAN
protocolАктивные протоколы (mndp, cdp, lldp)Оставить все три для совместимости
lldp-med-net-policy-vlanLLDP-MED для VLAN assignmentВключить при использовании IP-телефонов

Ограничение Discovery по интерфейсам

Самый важный шаг — ограничить обнаружение только доверенными интерфейсами. Создайте interface list и укажите его в настройках:

[admin@MikroTik] >
# Создаём список интерфейсов для discovery (если ещё нет)
/interface/list/add name=DISCOVERY comment="Интерфейсы для neighbor discovery"

# Добавляем только LAN-интерфейсы
/interface/list/member/add list=DISCOVERY interface=bridge-LAN
/interface/list/member/add list=DISCOVERY interface=bridge-GUEST

# Применяем список
/ip/neighbor/discovery-settings/set discover-interface-list=DISCOVERY

Если у вас уже есть interface list LAN (что типично для стандартной конфигурации), используйте его:

[admin@MikroTik] >
/ip/neighbor/discovery-settings/set discover-interface-list=LAN

Полное отключение Discovery

Если discovery не нужен вообще (например, на пограничном маршрутизаторе):

[admin@MikroTik] >
/ip/neighbor/discovery-settings/set discover-interface-list=none

Настройка LLDP для IP-телефонов

LLDP-MED позволяет автоматически назначать VLAN для IP-телефонов. Телефон получает через LLDP информацию о Voice VLAN и автоматически настраивается:

[admin@MikroTik] >
/ip/neighbor/discovery-settings/set \
  lldp-med-net-policy-vlan=100 \
  protocol=mndp,cdp,lldp

Это особенно полезно при развёртывании VoIP-инфраструктуры — телефоны Polycom, Yealink, Grandstream автоматически помещают голосовой трафик в VLAN 100.

Проверка

Проверка текущих настроек

[admin@MikroTik] >
# Текущие настройки discovery
/ip/neighbor/discovery-settings/print

# Список обнаруженных соседей
/ip/neighbor/print

# Проверка, на каких интерфейсах активен discovery
/ip/neighbor/discovery-settings/print

Использование для инвентаризации сети

Neighbor Discovery — быстрый способ провести инвентаризацию MikroTik-устройств в сети:

[admin@MikroTik] >
# Все соседи с моделью и версией
/ip/neighbor/print proplist=identity,address,platform,version,board

# Найти устройства со старой версией RouterOS
/ip/neighbor/print where version~"6\\."

Идентификация порта через LLDP

Если нужно определить, к какому порту управляемого коммутатора подключён MikroTik, LLDP покажет информацию об удалённом порте. Это работает и в обратную сторону — на управляемом коммутаторе (Cisco, HP, Juniper) можно увидеть MikroTik через show lldp neighbors.

[admin@MikroTik] >
# Детальная информация о соседях — включая LLDP-данные
/ip/neighbor/print detail

В выводе обратите внимание на поля interface-name (имя порта на удалённой стороне) и system-description.

Мониторинг появления новых устройств

Можно использовать скрипт для оповещения о новых соседях:

[admin@MikroTik] >
# Посмотреть текущих соседей в реальном времени
/ip/neighbor/print interval=5s

Типичные ошибки

  1. Discovery включён на WAN-интерфейсе — самая частая ошибка. MNDP-пакеты уходят к провайдеру, раскрывая имя роутера, модель, версию RouterOS и IP-адреса. Злоумышленник может использовать эту информацию для целенаправленной атаки. Решение: discover-interface-list=LAN или явно указать список доверенных интерфейсов

  2. Полное отключение Discovery в большой сети — администратор отключает discovery "для безопасности" на всех устройствах. В итоге затрудняется диагностика и инвентаризация. Правильный подход — ограничить по интерфейсам, а не отключать полностью

  3. Не видны соседи через VLAN — Discovery работает на L2-уровне. Если между устройствами есть маршрутизатор (L3), discovery-пакеты не проходят. Устройства в разных VLAN не увидят друг друга, даже если физически подключены к одному коммутатору. Для обнаружения через VLAN оба устройства должны быть в одном broadcast-домене

  4. LLDP-MED VLAN конфликтует с ручной настройкой телефона — если телефон настроен на конкретный VLAN вручную, а LLDP-MED предлагает другой, поведение зависит от модели телефона. Отключите ручную настройку VLAN на телефоне при использовании LLDP-MED

  5. Не обновляется таблица соседей — записи в таблице neighbors имеют TTL. Если сосед был отключён, запись исчезнет через несколько минут. Не полагайтесь на таблицу neighbors как на точный мониторинг — для этого есть SNMP, Zabbix и Netbox

[admin@MikroTik] >
/ip/neighbor/print
/ip/neighbor/print detail
/ip/neighbor/print where interface=ether1
/ip/neighbor/discovery-settings/print
/ip/neighbor/discovery-settings/set \
  discover-interface-list=LAN \
  protocol=mndp,cdp,lldp \
  lldp-med-net-policy-vlan=disabled
# Создаём список интерфейсов для discovery (если ещё нет)
/interface/list/add name=DISCOVERY comment="Интерфейсы для neighbor discovery"

# Добавляем только LAN-интерфейсы
/interface/list/member/add list=DISCOVERY interface=bridge-LAN
/interface/list/member/add list=DISCOVERY interface=bridge-GUEST

# Применяем список
/ip/neighbor/discovery-settings/set discover-interface-list=DISCOVERY
/ip/neighbor/discovery-settings/set discover-interface-list=LAN
/ip/neighbor/discovery-settings/set discover-interface-list=none
/ip/neighbor/discovery-settings/set \
  lldp-med-net-policy-vlan=100 \
  protocol=mndp,cdp,lldp
# Текущие настройки discovery
/ip/neighbor/discovery-settings/print

# Список обнаруженных соседей
/ip/neighbor/print

# Проверка, на каких интерфейсах активен discovery
/ip/neighbor/discovery-settings/print
# Все соседи с моделью и версией
/ip/neighbor/print proplist=identity,address,platform,version,board

# Найти устройства со старой версией RouterOS
/ip/neighbor/print where version~"6\\."
# Детальная информация о соседях — включая LLDP-данные
/ip/neighbor/print detail
# Посмотреть текущих соседей в реальном времени
/ip/neighbor/print interval=5s
IP / Neighbors на MikroTik — обнаружение устройств в сети