Найти в Дзене
Building networks for everyone

Отслеживание добавления и удаления МАС-адресов в таблицу коммутатора

На коммутаторах D-Link есть возможность отслеживать как добавление новых МАС-адресов в таблицу коммутатора и удаление адресов из неё при помощи отправки SNMP trap. Когда это может быть полезно? То есть отправка SNMP-трапов добавлении или удалении MAC-адресов — это мощный инструмент для проактивного мониторинга и безопасности сети. О настройке SNMP на коммутаторе уже была статья: Настройка SNMP на коммутаторах . Поэтому сейчас приведу только пример настройки конкретного SNMP-трапа. Для включения уведомления об изменении MAC-адреса на определенном интерфейсе используется команда:
snmp trap mac-notification change {added | removed} Где: Важно:
Даже при включении уведомления (trap) для конкретного интерфейса с помощью команды snmp trap mac-notification change, уведомление отправляется в таблицу истории уведомлений только в том случае, если была включена команда mac-address-table notification change Синтаксис команды:
mac-address-table notification change [interval SECONDS | history-siz

На коммутаторах D-Link есть возможность отслеживать как добавление новых МАС-адресов в таблицу коммутатора и удаление адресов из неё при помощи отправки SNMP trap. Когда это может быть полезно?

  • Обнаружение неавторизованных устройств:
    Если в сети появляется MAC-адрес, не принадлежащий корпоративному
    устройству (принтеру, компьютеру, IP-телефону и т.д.), это может
    означать подключение злоумышленника или сотрудника, нарушающего политику (например, личный ноутбук). Трап мгновенно оповестит систему
    мониторинга.
  • Обнаружение атак "MAC Flooding":
    Злоумышленник пытается переполнить MAC-таблицу коммутатора, чтобы
    заставить его работать в режиме хаба и начать прослушивать трафик.
    Массовые трапы о появлении тысяч новых MAC-адресов на одном порту —
    явный признак такой атаки.
  • Перемещение устройств (MAC Spoofing):
    Если один и тот же MAC-адрес внезапно появляется на другом порту
    (особенно в другом VLAN или зоне сети), это может быть признаком атаки
    "spoofing" или попытки несанкционированного доступа к критическому
    ресурсу.
  • Отслеживание состояния серверов: Если MAC-адрес критического сервера исчез из таблицы коммутатора (трап о его удалении), это может означать:
    - Сервер завис или упал (перестал отвечать на ARP-запросы).
    - Обрыв кабеля на физическом уровне.
    - Сбой сетевой карты.
    Это позволяет узнать о проблеме быстрее, чем через проверку доступности
    (ICMP), так как коммутатор фиксирует исчезновение на канальном уровне
    (L2).
  • Динамическое отслеживание подключений: Вместо того чтобы постоянно вручную опрашивать коммутатор (show mac-address-table), вы получаете уведомления в реальном времени о том, где и когда устройства появляются и исчезают. Это бесценно при диагностике "плавающих" проблем.
  • Поиск петель STP (Spanning Tree Protocol):
    При возникновении петли в сети коммутаторы начинают видеть MAC-адреса
    на неправильных портах. Анализ нелогичных трапов (один MAC быстро
    появляется то на одном, то на другом порту) может помочь быстро локализовать источник проблемы.

То есть отправка SNMP-трапов добавлении или удалении MAC-адресов — это мощный инструмент для проактивного мониторинга и безопасности сети.

О настройке SNMP на коммутаторе уже была статья: Настройка SNMP на коммутаторах . Поэтому сейчас приведу только пример настройки конкретного SNMP-трапа.

Для включения уведомления об изменении MAC-адреса на определенном интерфейсе используется команда:
snmp trap mac-notification change {added | removed}

Где:

  • added указывает включить уведомление об изменении MAC-адреса при добавлении MAC-адреса на интерфейсе.
  • removed — указывает включить уведомление об изменении MAC-адреса при удалении MAC-адреса с интерфейса.

Важно:
Даже при включении уведомления (trap) для конкретного интерфейса с помощью команды
snmp trap mac-notification change, уведомление отправляется в таблицу истории уведомлений только в том случае, если была включена команда mac-address-table notification change

Синтаксис команды:
mac-address-table notification change [interval SECONDS | history-size VALUE | trap-type {with-vlanid | without-vlanid}]

где:

interval SECONDS — (опционально) указывает интервал отправки сообщения trap о MAC-адресе. Диапазон значений составляет от 1 до 2147483647, а значение по умолчанию — 1 секунда.

history-size VALUE — (опционально) указывает максимальное количество записей в таблице уведомлений об изменении MAC-адресов. Диапазон значений составляет от 0 до 500, значение по умолчанию — 1 запись.

trap-type — (опционально) указывает, включать ли в информацию trap идентификатор VLAN (VLAN ID): with-vlanid — включать, without-vlanid — не включать.

Значения по умолчанию:

  • MAC address notification отлючен.
  • trap interval — 1 секунда.
  • По умолчанию количество записей в таблице истории составляет 1.
  • trap type — without-vlanid.

Пример ниже показывает, как включить уведомление (trap) о добавлении MAC-адреса на интерфейсе ethernet 1/0/2:

Switch# configure terminal
Switch(config)# mac-address-table notification change
Switch(config)# mac-address-table notification change interval 10
Switch(config)# mac-address-table notification change history-size 500
Switch(config)# snmp-server enable traps mac-notification change
Switch(config)# interface ethernet 1/0/2
Switch(config-if)# snmp trap mac-notification change added
Switch(config-if)#