MAC Server на MikroTik — управление MAC-подключениями
MAC Server — встроенный механизм MikroTik, позволяющий подключаться к роутеру по MAC-адресу без настроенного IP. Это незаменимый инструмент при первоначальной настройке и аварийном доступе, но при неправильной конфигурации он становится серьёзной уязвимостью. В этой статье разберём три сервиса MAC Server, сценарии их использования, обязательную настройку безопасности и типичные ошибки.
Описание
Что такое MAC Server
MAC Server — это набор из трёх сервисов RouterOS, которые позволяют обнаруживать и подключаться к устройству MikroTik по его MAC-адресу на канальном уровне (Layer 2), не требуя настроенного IP-адреса. Это работает только в пределах одного широковещательного домена (broadcast domain) — то есть подключение возможно только из того же сегмента сети или при прямом подключении кабелем.
Три компонента MAC Server:
MAC Telnet Server — позволяет подключаться к CLI роутера из терминала другого MikroTik или утилиты mac-telnet в Linux. Аналог Telnet, но работает по MAC-адресу.
MAC WinBox Server — позволяет WinBox обнаруживать роутер в сети и подключаться к нему по MAC-адресу. Именно этот сервис отвечает за появление устройства в списке «Neighbors» в WinBox.
MAC Ping Server — отвечает на MAC-пинги. Используется для диагностики — проверки, что устройство доступно на канальном уровне.
Зачем нужен MAC Server
Основные сценарии:
-
Первоначальная настройка — новый роутер из коробки ещё не имеет IP-адреса (или вы не знаете его). WinBox обнаруживает устройство по MAC через Neighbors и позволяет подключиться.
-
Аварийный доступ — если вы случайно удалили IP-адрес, сломали маршрутизацию или firewall заблокировал доступ по IP, подключение по MAC — единственный способ войти без физического сброса.
-
Диагностика L2 — MAC Ping позволяет проверить доступность устройства на канальном уровне, даже если L3 (IP) не работает.
Почему MAC Server на WAN — критическая уязвимость
По умолчанию MAC Server слушает на всех интерфейсах, включая WAN (ether1). Это означает:
- Любой в том же L2-сегменте (провайдер, соседи по коммутатору) может обнаружить ваш роутер
- MAC Telnet передаёт учётные данные в открытом виде (без шифрования)
- Злоумышленник может попытаться подключиться к роутеру через WinBox по MAC
- Даже если WinBox защищён паролем, сам факт обнаружения устройства раскрывает информацию
Это одна из самых частых ошибок в настройке MikroTik — оставить MAC Server открытым на всех интерфейсах.
Настройка
Проверка текущего состояния
Посмотрите, на каких интерфейсах работает MAC Server:
[admin@MikroTik] >/tool/mac-server/print
[admin@MikroTik] >/tool/mac-server/mac-winbox/print
[admin@MikroTik] >/tool/mac-server/ping/print
По умолчанию все три сервиса работают на allowed-interface-list=all — это небезопасно.
Создание Interface List для MAC Server
Правильный подход — создать список интерфейсов, на которых MAC Server должен работать, и ограничить доступ:
[admin@MikroTik] ># Создаём Interface List для LAN-интерфейсов (если ещё нет) /interface/list/add name=LAN comment="Local network interfaces" # Добавляем LAN-интерфейсы в список /interface/list/member/add list=LAN interface=bridge comment="LAN bridge"
Если у вас используется VLAN-архитектура и управляющий VLAN:
[admin@MikroTik] ># Создаём отдельный список для управления /interface/list/add name=MGMT comment="Management interfaces" # Добавляем управляющий интерфейс /interface/list/member/add list=MGMT interface=vlan-mgmt comment="Management VLAN" /interface/list/member/add list=MGMT interface=bridge comment="LAN bridge fallback"
Ограничение MAC Server
Теперь ограничиваем все три сервиса:
[admin@MikroTik] ># MAC Telnet — только LAN /tool/mac-server/set allowed-interface-list=LAN # MAC WinBox — только LAN /tool/mac-server/mac-winbox/set allowed-interface-list=LAN # MAC Ping — только LAN /tool/mac-server/ping/set enabled=yes
Если вы хотите ограничить MAC Server только управляющим VLAN:
[admin@MikroTik] >/tool/mac-server/set allowed-interface-list=MGMT /tool/mac-server/mac-winbox/set allowed-interface-list=MGMT
Полное отключение MAC Server
Если MAC Server вообще не нужен (например, у вас всегда есть доступ по IP):
[admin@MikroTik] >/tool/mac-server/set allowed-interface-list=none /tool/mac-server/mac-winbox/set allowed-interface-list=none /tool/mac-server/ping/set enabled=no
Внимание: после полного отключения вы не сможете подключиться к роутеру по MAC. Убедитесь, что у вас есть стабильный доступ по IP и вы знаете процедуру физического сброса (reset) на случай потери доступа.
Настройка Neighbor Discovery
Связанный сервис — Neighbor Discovery (MNDP/CDP) — отвечает за обнаружение MikroTik-устройств в сети. Его тоже нужно ограничить:
[admin@MikroTik] ># Ограничиваем Neighbor Discovery только LAN /ip/neighbor/discovery-settings/set discover-interface-list=LAN
Это предотвращает утечку информации о роутере (модель, версия RouterOS, имя) в WAN-сегмент.
Рекомендуемая безопасная конфигурация
Полный набор команд для безопасной настройки MAC Server и связанных сервисов:
[admin@MikroTik] ># Создаём список LAN-интерфейсов /interface/list/add name=LAN /interface/list/member/add list=LAN interface=bridge # Создаём список WAN-интерфейсов /interface/list/add name=WAN /interface/list/member/add list=WAN interface=ether1 # MAC Server — только LAN /tool/mac-server/set allowed-interface-list=LAN /tool/mac-server/mac-winbox/set allowed-interface-list=LAN /tool/mac-server/ping/set enabled=yes # Neighbor Discovery — только LAN /ip/neighbor/discovery-settings/set discover-interface-list=LAN # Дополнительно: ограничиваем доступные сервисы /ip/service/set telnet disabled=yes /ip/service/set ftp disabled=yes /ip/service/set api disabled=yes /ip/service/set api-ssl disabled=yes
Сравнение MAC и IP доступа
| Параметр | Доступ по MAC | Доступ по IP |
|---|---|---|
| Уровень OSI | Layer 2 | Layer 3 |
| Шифрование | Нет (MAC Telnet) | Да (WinBox, SSH, HTTPS) |
| Область работы | Один broadcast domain | Любая маршрутизируемая сеть |
| Firewall | Не фильтруется | Фильтруется firewall |
| Работает без IP | Да | Нет |
| Аутентификация | Логин/пароль (в открытом виде) | Логин/пароль (шифрованные) |
| Рекомендуется для | Аварийный доступ | Повседневная работа |
Ключевой факт: firewall MikroTik не фильтрует MAC-трафик. Даже если вы настроили строгие правила в /ip/firewall/filter, они не применяются к MAC-подключениям. Единственный способ ограничить MAC Server — через allowed-interface-list.
Сценарий: потеря IP-доступа и восстановление через MAC
Типичная ситуация: администратор случайно удалил IP-адрес или добавил firewall-правило, заблокировавшее доступ. Вот пошаговая инструкция восстановления:
Шаг 1: Подключите компьютер кабелем к LAN-порту MikroTik (ether2–ether5 или любому порту в bridge).
Шаг 2: Откройте WinBox и перейдите на вкладку «Neighbors». Подождите 5–10 секунд — роутер должен появиться в списке с MAC-адресом.
Шаг 3: Нажмите на MAC-адрес роутера и подключитесь, используя логин/пароль.
Шаг 4: Восстановите IP-адрес:
[admin@MikroTik] >/ip/address/add address=192.168.88.1/24 interface=bridge
Шаг 5: Если проблема была в firewall, проверьте и исправьте правила:
[admin@MikroTik] >/ip/firewall/filter/print
Если не можете разобраться, временно отключите проблемное правило:
[admin@MikroTik] >/ip/firewall/filter/disable [find where comment="проблемное правило"]
Альтернатива: если MAC WinBox тоже отключён, используйте физическую кнопку Reset на устройстве для сброса к заводским настройкам. На большинстве моделей MikroTik нужно зажать кнопку при включении питания на 5 секунд (до мигания индикатора).
Проверка
Проверка настроек MAC Server
[admin@MikroTik] >/tool/mac-server/print
Ожидаемый вывод:
codeallowed-interface-list: LAN
[admin@MikroTik] >/tool/mac-server/mac-winbox/print
Ожидаемый вывод:
codeallowed-interface-list: LAN
Проверка Neighbor Discovery
[admin@MikroTik] >/ip/neighbor/discovery-settings/print
Ожидаемый вывод:
codediscover-interface-list: LAN
Посмотрите обнаруженных соседей:
[admin@MikroTik] >/ip/neighbor/print
Проверка MAC Ping
С другого MikroTik в той же сети:
[admin@MikroTik] >/tool/mac-ping mac-address=AA:BB:CC:DD:EE:FF interface=ether1
Если MAC Ping Server отключён или интерфейс не в allowed-list, ответа не будет.
Проверка с помощью WinBox
Откройте WinBox на компьютере, подключённом к WAN-порту роутера. Перейдите на вкладку «Neighbors». Если настройка правильная — роутер не должен появляться в списке. Затем проверьте с компьютера в LAN — роутер должен появиться.
Типичные ошибки
1. MAC Server открыт на всех интерфейсах (по умолчанию)
Это заводская настройка MikroTik. После первоначальной конфигурации обязательно ограничьте MAC Server:
[admin@MikroTik] >/tool/mac-server/set allowed-interface-list=LAN /tool/mac-server/mac-winbox/set allowed-interface-list=LAN
Не оставляйте allowed-interface-list=all в production.
2. Полностью отключили MAC Server и потеряли доступ
Если вы отключили MAC Server (allowed-interface-list=none) и затем потеряли IP-доступ, единственный выход — физический сброс через кнопку Reset. Рекомендуется всегда оставлять MAC Server включённым хотя бы на одном LAN-интерфейсе.
3. Забыли ограничить Neighbor Discovery
Даже при ограниченном MAC Server, Neighbor Discovery может раскрывать информацию о роутере (модель, версия, identity) через WAN. Всегда ограничивайте оба сервиса:
[admin@MikroTik] >/ip/neighbor/discovery-settings/set discover-interface-list=LAN
4. Используют MAC Telnet для повседневной работы
MAC Telnet не шифрует трафик — логин и пароль передаются в открытом виде. Используйте MAC-подключение только в аварийных ситуациях. Для повседневной работы — WinBox по IP (шифрованный) или SSH.
5. Interface List не включает все нужные интерфейсы
Если вы создали Interface List LAN, но забыли добавить в него bridge или конкретный порт, MAC Server не будет работать на этих интерфейсах. Проверьте состав списка:
[admin@MikroTik] >/interface/list/member/print where list=LAN
6. MAC Server не работает через Wi-Fi
По умолчанию MAC Server работает через Ethernet-порты. Для работы через Wi-Fi убедитесь, что Wi-Fi-интерфейс входит в bridge, и bridge добавлен в allowed-interface-list. В некоторых конфигурациях MAC Server может не работать через Wi-Fi из-за особенностей обработки фреймов.
7. Путают MAC Server и MAC-фильтрацию
MAC Server — это сервис для управления роутером по MAC-адресу. MAC-фильтрация (access list) — это ограничение подключения клиентов к Wi-Fi по MAC-адресу. Это совершенно разные механизмы, не связанные друг с другом.
Заключение
MAC Server — важный инструмент для начальной настройки и аварийного восстановления MikroTik. Однако его обязательно нужно ограничить только LAN-интерфейсами сразу после первоначальной конфигурации. Открытый MAC Server на WAN-интерфейсе — это реальная угроза безопасности, которая должна быть устранена в первую очередь при hardening роутера. Используйте MAC-подключение только в экстренных случаях, а для повседневной работы — WinBox по IP или SSH.
/tool/mac-server/print /tool/mac-server/mac-winbox/print /tool/mac-server/ping/print # Создаём Interface List для LAN-интерфейсов (если ещё нет) /interface/list/add name=LAN comment="Local network interfaces" # Добавляем LAN-интерфейсы в список /interface/list/member/add list=LAN interface=bridge comment="LAN bridge" # Создаём отдельный список для управления /interface/list/add name=MGMT comment="Management interfaces" # Добавляем управляющий интерфейс /interface/list/member/add list=MGMT interface=vlan-mgmt comment="Management VLAN" /interface/list/member/add list=MGMT interface=bridge comment="LAN bridge fallback" # MAC Telnet — только LAN /tool/mac-server/set allowed-interface-list=LAN # MAC WinBox — только LAN /tool/mac-server/mac-winbox/set allowed-interface-list=LAN # MAC Ping — только LAN /tool/mac-server/ping/set enabled=yes /tool/mac-server/set allowed-interface-list=MGMT /tool/mac-server/mac-winbox/set allowed-interface-list=MGMT /tool/mac-server/set allowed-interface-list=none /tool/mac-server/mac-winbox/set allowed-interface-list=none /tool/mac-server/ping/set enabled=no # Ограничиваем Neighbor Discovery только LAN /ip/neighbor/discovery-settings/set discover-interface-list=LAN # Создаём список LAN-интерфейсов /interface/list/add name=LAN /interface/list/member/add list=LAN interface=bridge # Создаём список WAN-интерфейсов /interface/list/add name=WAN /interface/list/member/add list=WAN interface=ether1 # MAC Server — только LAN /tool/mac-server/set allowed-interface-list=LAN /tool/mac-server/mac-winbox/set allowed-interface-list=LAN /tool/mac-server/ping/set enabled=yes # Neighbor Discovery — только LAN /ip/neighbor/discovery-settings/set discover-interface-list=LAN # Дополнительно: ограничиваем доступные сервисы /ip/service/set telnet disabled=yes /ip/service/set ftp disabled=yes /ip/service/set api disabled=yes /ip/service/set api-ssl disabled=yes /ip/address/add address=192.168.88.1/24 interface=bridge /ip/firewall/filter/print /ip/firewall/filter/disable [find where comment="проблемное правило"] /tool/mac-server/print allowed-interface-list: LAN /tool/mac-server/mac-winbox/print allowed-interface-list: LAN /ip/neighbor/discovery-settings/print discover-interface-list: LAN /ip/neighbor/print /tool/mac-ping mac-address=AA:BB:CC:DD:EE:FF interface=ether1 /tool/mac-server/set allowed-interface-list=LAN /tool/mac-server/mac-winbox/set allowed-interface-list=LAN /ip/neighbor/discovery-settings/set discover-interface-list=LAN /interface/list/member/print where list=LAN