Команда display mac-address в системном представлении является основным способом просмотра динамической и статической таблицы коммутации на устройствах Huawei. Она выводит список MAC-адресов, привязанных к портам, VLAN и типу записи, что позволяет быстро идентифицировать подключенное оборудование.

Для работы с управляемыми свитчами серии S (S2700, S3700, S5700, S6700 и выше) требуется доступ к CLI через консольный кабель, SSH или Telnet. Необходимо перейти в привилегированный режим командой system-view, так как в пользовательском режиме просмотр полной таблицы недоступен. Вывод может быть большим, поэтому используйте фильтры по интерфейсу или VLAN.

Просмотр таблицы MAC-адресов через CLI

Базовый синтаксис позволяет отфильтровать вывод под конкретные задачи администрирования. Наиболее частый сценарий — поиск порта, к которому подключен конкретный хост. Для этого удобно использовать ключевое слово include с частью адреса.

Если нужно увидеть все записи для определенного VLAN, добавьте параметр vlan vlan-id. Для просмотра только статических записей (настроенных вручную) укажите static, а для динамических — dynamic. Команда display mac-address summary покажет сводную статистику по количеству записей.

  • 🔍 display mac-address — полная таблица FDB (Forwarding Database).
  • 🔍 display mac-address interface interface-type interface-number — адреса на конкретном порту.
  • 🔍 display mac-address vlan vlan-id — фильтрация по виртуальной локальной сети.
  • 🔍 display mac-address static — только вручную заведенные записи.
⚠️ Внимание: На стеке коммутаторов (Stack) таблица MAC-адресов общая для всех членов стека. Вывод команды покажет адреса со всех юнитов, указывая Slot ID в колонке интерфейса.
[HUAWEI] display mac-address interface gigabitethernet 0/0/1

MAC Address VLAN/VSI/BD Learned-From Type

00e0-fc12-3456 100 GE0/0/1 dynamic

Total items: 1

📊 Каким способом вы чаще всего ищете MAC-адрес на свитче?
Через CLI (display mac-address)
Через Web-интерфейс
По этикетке на корпусе
Через SNMP/мониторинг

Определение MAC-адреса конкретного физического интерфейса

Иногда требуется узнать «заводской» MAC-адрес самого порта коммутатора (Burned-in MAC), а не адреса подключенных устройств. Эта информация необходима для настройки порт-безопасности (Port Security) или MAC-аутентификации (802.1x).

Используйте команду display interface interface-type interface-number. В блоке вывода Current state ищите строку Hardware address is xxxx-xxxx-xxxx. Это физический адрес интерфейса, который не меняется при перезагрузке и не зависит от таблицы коммутации.

  • 🖧 Hardware address — физический MAC самого порта свитча.
  • 🖧 MAC address в разделе таблицы — адреса соседних устройств.
  • 🖧 Не путайте с Bridge MAC — системным адресом всего устройства для STP/LACP.
⚠️ Внимание: На модульных châssis (например, S12700) каждый линейный модуль (LPU) имеет свой пул MAC-адресов для портов. Адреса портов на разных платах будут отличаться по OUI или диапазону.

☑️ Чек-лист

Выполнено: 0 / 5

Поиск MAC-адреса в таблице ARP и FDB: в чем разница

Новички часто путают таблицу MAC-адресов (FDB/MAC Address Table) уровня L2 и ARP-таблицу (IP -> MAC) уровня L3. Коммутатор Huawei работает в режиме L2 по умолчанию и не хранит ARP-записи, если на нем не настроены VLANIF-интерфейсы с IP-адресами.

Если на свитче настроен шлюз (VLANIF), команда display arp покажет соответствие IP-адреса и MAC-адреса хоста. Это удобно, когда известен только IP принтера или камеры. Для чистого L2-свитча без IP на VLANIF работает только display mac-address.

  • 📋 FDB (display mac-address): MAC -> Порт + VLAN. Работает всегда.
  • 📋 ARP (display arp): IP -> MAC -> Порт. Работает только если есть L3-интерфейс.
  • 📋 NDP (display ndp): Аналог ARP для IPv6.
Нюанс работы с VLANIF

Если на коммутаторе создан VLANIF 10 с IP 192.168.10.1/24, свитч становится шлюзом для этой подсети. Он начинает генерировать ARP-запросы и заполнять ARP-таблицу. В этом случае display arp | include 192.168.10.50 покажет MAC хоста быстрее, чем перебор всей FDB. Но запись в ARP появляется только после прохождения трафика через L3-интерфейс.

Использование веб-интерфейса (Web GUI) для поиска адреса

Современные прошивки (V200R019 и новее) поддерживают HTML5 Web-интерфейс без Java-апплетов. Войдите в систему под учетной записью с правами network-admin или super-admin. Раздел навигации: Monitoring → Switch → MAC Address Table.

В веб-форме доступны те же фильтры: по VLAN ID, по порту, по типу записи (Dynamic/Static/Blackhole). Преимущество GUI — наглядная пагинация и возможность экспорта таблицы в CSV для отчетов. Недостаток — таймаут сессии и медленная загрузка на больших таблицах (10k+ записей).

  • 🌐 Откройте https://ip-свитча в браузере (Chrome/Edge/Firefox).
  • 🌐 Перейдите: Monitoring → Switch → MAC Address Table.
  • 🌐 Выберите VLAN или Port в выпадающих списках.
  • 🌐 Нажмите Query (Запрос) для обновления данных.
💡

В Web GUI можно включить автообновление таблицы каждые 10-30 секунд (кнопка Auto Refresh). Это удобно при траблшутинге link flapping — вы увидите, как запись появляется и исчезает на порту в реальном времени.

Физический стикер и Bridge MAC: идентификация самого устройства

Каждый коммутатор Huawei имеет уникальный Bridge MAC (System MAC), который используется в протоколах STP, LACP, VRRP и для идентификации в SNMP. Он наклеен на этикетку сбоку или снизу корпуса рядом с серийным номером (SN) и моделью (P/N).

Формат этикетки: MAC: 0018-82AB-CD12 или MAC Address: 00:18:82:AB:CD:12. На модульных châssis этикетка находится на корпусе шелфа (Chassis) и на каждой плате (MPU/LPU). Bridge MAC châssis обычно совпадает с MAC активного MPU (Main Processing Unit).

Источник Что показывает Команда / Место
CLI (System) Bridge MAC / System MAC display device manuinfo или display bridge mac-address
CLI (Interface) Port Hardware MAC display interface X
CLI (FDB) Client MACs on ports display mac-address
Sticker Chassis Bridge MAC Боковая грань корпуса
Web GUI Device Info / MAC Table Monitoring → Device Info
⚠️ Внимание: При замене MPU на модульном свитче Bridge MAC устройства меняется на MAC новой платы. Это сбрасывает STP-конвергенцию и может вызвать флаппинг LACP-соседей. Запланируйте окно обслуживания.
💡

Bridge MAC (System MAC) — это идентификатор всего свитча в L2-протоколах. Он отличается от MAC-адресов портов и MAC-адресов клиентов в таблице коммутации. Находится на стикере и в выводе display device manuinfo.

Типичные ошибки и нюансы при работе с MAC-таблицей

Частая ошибка — попытка найти MAC-адрес клиента на порту в режиме access, если трафик идет с тегами (в режиме trunk или hybrid). В таблице запись появится с VLAN ID, который приходит в теге. Если искать без указания VLAN, запись найдется, но порт может показаться «не тем» из-за агрегации (Eth-Trunk).

Еще одна ловушка: Blackhole MAC entries. Администратор мог вручную заблокировать адрес командой mac-address blackhole mac vlan id. Такая запись есть в таблице, но трафик на этот MAC дропается. В выводе display mac-address тип будет blackhole, а интерфейс — пустым или ---.

  • ❌ Искать клиента по MAC в ARP на чистом L2-свитче.
  • ❌ Игнорировать VLAN ID при поиске в транковых портах.
  • ❌ Не проверять blackhole записи при проблемах с доступом.
  • ❌ Путать Port MAC (Hardware address) с Client MAC (FDB entry).

Автоматизация: SNMP и скрипты для инвентаризации

Для парка из десятков свитчей ручной поиск неэффективен. Используйте SNMP OID 1.3.6.1.2.1.17.4.3.1.1 (dot1dTpFdbAddress) для чтения всей FDB. Huawei также поддерживает проприетарный OID 1.3.6.1.4.1.2011.5.25.42.2.1.1 (hwL2MacAddressTable) с расширенными полями (Slot, Port, VLAN, Type).

Готовые скрипты на Python (библиотека pysnmp или netmiko для SSH) позволяют опросить стек за секунды. Пример логики: коннект -> display mac-address -> парсинг regex -> запись в CMDB/NetBox. Для NetBox есть плагин netbox-plugin-mac-address для синхронизации.

  • 🤖 OID .1.3.6.1.2.1.17.4.3 — стандартная MIB Bridge (FDB).
  • 🤖 OID .1.3.6.1.4.1.2011 — Enterprise MIB Huawei (детально).
  • 🤖 Инструменты: Netmiko, Nornir, Ansible (модуль community.network.ce_mac_address_table).
Пример Ansible таска для сбора MAC-таблицы

- name: Get MAC address table from Huawei CloudEngine

community.network.ce_mac_address_table:

provider: "{{ cli }}"

register: mac_table

- debug: var=mac_table.stdout_lines

Этот модуль работает через NETCONF/SSH и возвращает структурированный JSON, удобный для дальнейшей обработки без парсинга текста.

FAQ: Частые вопросы по MAC-адресам на Huawei
Почему display mac-address не показывает мой ноутбук, подключенный к порту?

Проверьте Link Status (индикатор порта). Если линк есть, но записи нет — ноутбук не отправлял трафик (спит, отключен Wi-Fi, файрвол блокирует). Запустите пинг с ноутбука или очистите таблицу командой reset mac-address dynamic (осторожно, сбросится вся динамика).

Как найти порт по MAC, если свитчей в стеке 5 штук?

Вывод display mac-address покажет Slot ID в имени интерфейса (например, 2/GE0/0/1 — это слот 2, порт 1). Зайдите на мастер-устройство стека и выполните команду там — она агрегирует данные со всех юнитов.

Можно ли изменить MAC-адрес порта (Hardware address) на Huawei?

Нет, физический MAC порта (Burned-in Address) зашит в EEPROM PHY-чипа и не меняется. Можно только настроить mac-address на VLANIF-интерфейсе (L3) для VRRP/HSRP или использовать MAC-спуфинг на хосте. На L2 порту менять BIA нельзя.

Что означает тип записи config в таблице?

Тип config (или static в новых версиях) означает, что запись добавлена администратором вручную командой mac-address static mac vlan id interface intf. Такие записи не устаревают (aging time не применяется) и выживают после ребута.

Как увеличить время устаревания (aging time) динамических записей?

Команда mac-address timer aging seconds в системном представлении. По умолчанию 300 секунд. Увеличение до 1000-2000 секунд полезно в сетях с тихими IoT-устройствами, которые редко шлют кадры, чтобы не флапали записи в FDB.