ARP MikroTik: настройка, таблица, proxy-arp и reply-only — полный разбор

Полный гайд по ARP в MikroTik: настройка, ARP таблица, proxy-arp, reply-only, DHCP add arp, таймауты и диагностика конфликтов в сети

Вы когда-нибудь видели ситуацию, когда пинг есть, а связи нет? Или клиент получил IP по DHCP, сидит в сети, но до него не достучаться? Или вдруг в логах MikroTik появляется страшное «detected conflict by ARP» — и начинается паника?

Добро пожаловать в мир ARP. Протокол, про который все знают, но мало кто понимает до конца. В MikroTik он реализован богато: режимы, тайминги, интеграция с DHCP, поведение в bridge и VLAN. Один неверный параметр — и сеть ложится. Тихо. Без объяснений.

В этой статье разберём всё: что такое ARP в MikroTik, как читать ARP таблицу, зачем нужны режимы proxy-arp, reply-only, local-proxy-arp, как лечить конфликты и как защитить сеть от левых устройств. С командами CLI, без воды.


Что такое ARP и зачем он вообще нужен

ARP — Address Resolution Protocol. Протокол разрешения адресов. Его задача простая и приземлённая: перевести IP-адрес в MAC-адрес.

Когда устройство A хочет отправить пакет устройству B в той же подсети, оно знает IP назначения, но не знает MAC. Без MAC не построить Ethernet-фрейм. ARP делает следующее:

  • Устройство A кричит в широковещательный эфир: «Эй, кто имеет IP 192.168.1.10? Скажи мне свой MAC!»
  • Устройство B с IP 192.168.1.10 отвечает: «Это я, мой MAC — aa:bb:cc:dd:ee:ff»
  • Устройство A запоминает ответ в свою ARP-таблицу и отправляет пакет уже с конкретным MAC

Этот обмен происходит тысячи раз в день в каждой сети. MikroTik участвует в нём как маршрутизатор, коммутатор и, при необходимости, как «посредник» — proxy-arp.


ARP таблица MikroTik: как смотреть и читать

Первая команда, которую нужно знать каждому, кто работает с MikroTik:

/ip arp print

Пример вывода:

Flags: X - disabled, I - invalid, H - DHCP, D - dynamic, P - published, C - complete
 #   ADDRESS         MAC-ADDRESS       INTERFACE   STATUS
 0 D 192.168.1.1     aa:bb:cc:dd:ee:01 ether1      complete
 1 D 192.168.1.10    aa:bb:cc:dd:ee:02 ether2      complete
 2   192.168.1.20    aa:bb:cc:dd:ee:03 ether3      incomplete
 3 H 192.168.1.30    aa:bb:cc:dd:ee:04 bridge      complete

Что означают флаги

  • D (dynamic) — запись создана автоматически при ARP-обмене. Живёт до истечения arp-timeout
  • H (DHCP) — запись добавлена автоматически DHCP-сервером (когда включён add-arp=yes)
  • P (published) — MikroTik отвечает на ARP-запросы от имени этого IP (используется в proxy-arp)
  • C (complete) — запись актуальна, MAC известен
  • incomplete — ARP-запрос был отправлен, но ответа ещё нет или устройство недоступно

Детальный вывод

/ip arp print detail

Покажет полную информацию по каждой записи, включая время создания и интерфейс.

Статические vs динамические записи

Динамические записи создаются автоматически и удаляются по таймауту. Статические — добавляются вручную администратором и живут вечно (до явного удаления). Статические записи используются для защиты сети: зафиксировал MAC для конкретного IP — и ни одно чужое устройство не «угонит» этот адрес.

/ip arp add address=192.168.1.100 mac-address=aa:bb:cc:dd:ee:ff interface=ether2

Очистка ARP таблицы MikroTik

Бывает, что глюки в сети связаны с устаревшими или битыми ARP-записями. Лечится просто — очисткой ARP таблицы.

Удалить все динамические записи

/ip arp remove [find dynamic]

Удалить вообще всё (осторожно!)

/ip arp remove [find]

⚠️ Внимание: после полной очистки MikroTik заново соберёт ARP-таблицу из трафика. Пока она не наполнится — часть трафика может не проходить. Используй на рабочей сети в нерабочее время.

Удалить одну запись

/ip arp remove [find address=192.168.1.100]

Режимы ARP в MikroTik: главный блок

Вот где начинается настоящая магия (и настоящие грабли). У каждого интерфейса в MikroTik можно выставить режим работы ARP. Смотрим текущий режим:

/interface ethernet print detail

В выводе будет строка arp=enabled (или другое значение). Меняется так:

/interface ethernet set ether1 arp=<режим>

Режим enabled — стандартный

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

  • Принимает ARP-запросы и отвечает на них
  • Сам отправляет ARP-запросы для определения MAC соседей
  • Динамически заполняет ARP-таблицу

Когда использовать: всегда, если нет специальных требований. Это нормальная работа маршрутизатора.

/interface ethernet set ether1 arp=enabled

Режим reply-only — только статика

В этом режиме MikroTik отвечает на ARP-запросы только для IP-адресов, которые есть в ARP-таблице как статические или DHCP-записи. Динамическое обучение отключено полностью.

Что это значит на практике:

  • Новое устройство подключилось в сеть — MikroTik его не «видит» в ARP, пока запись не появится явно
  • Идеально для связки с DHCP + add-arp=yes
  • Защита: только «легальные» устройства из DHCP-аренды получат связь
/interface ethernet set ether2 arp=reply-only

⚠️ Грабли: если поставишь reply-only без статических записей или без работающего DHCP с add-arp — клиенты потеряют связь. Сеть ляжет тихо и непонятно.

Режим proxy-arp

В режиме proxy-arp MikroTik отвечает на ARP-запросы от имени устройств, которые находятся в другом сегменте сети. Фактически, роутер говорит клиенту: «MAC для этого IP? Это я!» — и берёт на себя пересылку пакетов.

Когда нужен:

  • Когда два сегмента сети находятся в одной IP-подсети, но разделены маршрутизатором
  • Старые сети без VLAN, где нужно изолировать трафик без изменения адресации
  • VPN-туннели, где клиенту нужно «видеть» удалённые устройства в одной подсети
/interface ethernet set ether1 arp=proxy-arp

⚠️ Грабли: proxy-arp — это костыль. Он создаёт широковещательный шторм в больших сетях и усложняет диагностику. В современных сетях с нормальными VLAN и маршрутизацией — не нужен.

Режим local-proxy-arp

Похож на proxy-arp, но работает внутри одного сегмента. MikroTik отвечает на ARP-запросы для хостов, которые находятся в той же подсети, что и запрашивающий.

Когда нужен:

  • Изоляция клиентов внутри одной подсети (например, в гостевой сети или у провайдера)
  • Когда клиенты в одной подсети не должны общаться напрямую — весь трафик идёт через роутер
/interface ethernet set ether3 arp=local-proxy-arp

Используется в связке с правилами firewall для изоляции клиентов друг от друга при общей подсети. Частый кейс — публичный WiFi.

Режим disabled

ARP полностью отключён на интерфейсе. MikroTik не отвечает на ARP-запросы и не отправляет их. Только статические записи, всё вручную.

/interface ethernet set ether4 arp=disabled

Используется редко, в высокозащищённых сегментах, где вся адресация прописана статически.

Сравнительная таблица режимов ARP

Режим Динамическое обучение Отвечает за чужие IP Основное применение
enabled ✅ Да ❌ Нет Стандартная работа
reply-only ❌ Нет ❌ Нет Защита + DHCP
proxy-arp ✅ Да ✅ Да (другой сегмент) Мост между сегментами
local-proxy-arp ✅ Да ✅ Да (своя подсеть) Изоляция клиентов
disabled ❌ Нет ❌ Нет Полностью ручное управление

DHCP и ARP: параметр add-arp for leases

Один из самых полезных параметров в настройке MikroTik — add-arp=yes в DHCP-сервере. Вот что он делает.

Что такое add arp for leases в MikroTik

Когда DHCP-сервер выдаёт аренду (lease) клиенту, он автоматически добавляет статическую ARP-запись для этого клиента в таблицу /ip arp. Запись помечается флагом H (DHCP) и удаляется автоматически, когда аренда истекает.

/ip dhcp-server set 0 add-arp=yes

Или при создании DHCP-сервера:

/ip dhcp-server add name=dhcp1 interface=ether2 address-pool=pool1 add-arp=yes

Зачем это нужно

В связке с arp=reply-only на интерфейсе получаем защищённую схему:

  • Клиент подключается → DHCP выдаёт IP → автоматически добавляется ARP-запись
  • Интерфейс работает в reply-only → отвечает только на «легальные» записи из DHCP
  • Устройство с прошитым статическим IP (не из DHCP) не получит ARP-ответа → нет связи

Это простая и эффективная защита от несанкционированных устройств в сети без сложных ACL и 802.1X.

Проверить аренды с ARP

/ip dhcp-server lease print

В выводе будет столбец active-mac-address и статус. Если add-arp включён — соответствующие записи появятся в /ip arp print с флагом H.


ARP timeout в MikroTik: настройка и влияние на сеть

Динамические ARP-записи живут не вечно. По истечении таймаута MikroTik удаляет их и при необходимости запрашивает заново.

Что такое arp timeout

Это время жизни динамической ARP-записи. По умолчанию в MikroTik — 30 минут. Можно изменить глобально:

/ip settings set arp-timeout=30m

Или задать в секундах:

/ip settings set arp-timeout=120s

Как таймаут влияет на сеть

  • Слишком большой таймаут — устаревшие записи остаются в таблице. Если устройство сменило MAC (например, виртуалка), трафик будет идти не туда. Долго не замечаете проблему.
  • Слишком маленький таймаут — частые ARP-запросы. В больших сетях с тысячами устройств это создаёт значительный широковещательный трафик.

Рекомендации по arp timeout

Тип сети Рекомендуемый таймаут Причина
Небольшой офис (до 50 устройств) 30m (по умолчанию) Нет смысла менять
Крупная сеть (500+ устройств) 5m–10m Быстрее обнаруживаем смену MAC
Динамичная среда (VM, контейнеры) 1m–5m Частая смена MAC у виртуалок
Стабильная статическая сеть 1h–4h Снижаем ARP-шторм

ARP timeout в VLAN и bridge

В конфигурациях с VLAN и bridge важно понимать, что ARP-таймаут применяется к записям на уровне L3-интерфейсов. Bridge-интерфейсы наследуют глобальные настройки, но поведение может отличаться в зависимости от версии RouterOS и настроек HW offloading.

Если используете VLAN-интерфейсы поверх bridge:

/ip settings print

Убедитесь, что arp-timeout выставлен разумно для вашей топологии.


ARP в Bridge и VLAN: нюансы

Bridge в MikroTik — это виртуальный коммутатор. У него есть собственный ARP-параметр, который работает немного иначе.

Настройка ARP на bridge-интерфейсе

/interface bridge set bridge1 arp=enabled

Поддерживаются все те же режимы: enabled, reply-only, proxy-arp, local-proxy-arp, disabled.

Особенности ARP в bridge

  • Bridge работает на L2, но если у него есть IP-адрес — он участвует в ARP на L3
  • При использовании HW offloading (аппаратное ускорение) часть ARP-обработки уходит на чипсет — поведение может отличаться
  • В bridge с несколькими портами широковещательный ARP-запрос форвардится на все порты bridge — это нормально
  • Если порты bridge входят в разные VLAN — ARP изолируется по VLAN

ARP и VLAN: правильная схема

При работе с tagged VLAN на bridge:

/interface vlan add name=vlan10 vlan-id=10 interface=bridge1
/ip address add address=192.168.10.1/24 interface=vlan10
/interface vlan set vlan10 arp=enabled

Каждый VLAN-интерфейс имеет собственные ARP-настройки. Это позволяет тонко управлять поведением для разных сегментов сети.

ARP timeout для VLAN

Отдельного arp-timeout для VLAN в MikroTik нет — применяется глобальный /ip settings arp-timeout. Если нужны разные таймауты для разных сегментов — смотри в сторону статических ARP-записей для критичных хостов.


Proxy ARP в MikroTik: глубже

Когда proxy-arp реально нужен

Классический кейс: у вас есть две физические сети с одной IP-подсетью 192.168.1.0/24, разделённые MikroTik. Нормальная маршрутизация здесь не работает — подсеть одна. Proxy-arp позволяет роутеру «притворяться» любым хостом для другой стороны и перенаправлять трафик.

Ещё один кейс — VPN-клиенты. Если удалённый клиент получает IP из той же подсети, что и локальные устройства, proxy-arp позволяет им «видеть» друг друга без дополнительных маршрутов на клиентах.

Как работает proxy-arp

  1. Устройство A (192.168.1.10) хочет найти устройство B (192.168.1.20), которое за роутером
  2. A посылает ARP-broadcast: «Кто 192.168.1.20?»
  3. MikroTik (с proxy-arp) знает маршрут до 192.168.1.20 и отвечает: «Это я!» — со своим MAC-адресом
  4. A отправляет пакет на MAC MikroTik, роутер пересылает его устройству B
/interface ethernet set ether1 arp=proxy-arp
/interface ethernet set ether2 arp=proxy-arp

Оба интерфейса нужно перевести в proxy-arp, чтобы работало в обе стороны.

Local proxy-arp: изоляция клиентов

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

/interface wireless set wlan1 arp=local-proxy-arp

В сочетании с firewall-правилами, запрещающими forward между клиентами, получаем полную изоляцию при общей подсети. Клиент видит шлюз, шлюз видит всех, а клиенты между собой — нет.

Когда proxy-arp НЕ нужен

  • Если у вас нормальные VLAN с разными подсетями и маршрутизацией — proxy-arp только навредит
  • В больших сетях proxy-arp создаёт избыточный ARP-трафик
  • Если есть возможность нормально разделить подсети — используйте маршрутизацию, а не proxy-arp

Конфликты ARP в MikroTik: диагностика и лечение

ARP-конфликт — это когда два устройства в сети заявляют об одном IP-адресе. Один из самых противных видов проблем: сеть «работает», но у части пользователей нет связи, и она то появляется, то пропадает.

Что вызывает ARP-конфликты

  • Дублирующиеся IP — два устройства со статически прописанным одинаковым IP
  • Rogue DHCP-сервер — в сети появился чужой DHCP, который раздаёт адреса из того же пула
  • Смена MAC при сохранении IP — устройство переконфигурировано, старая ARP-запись ещё живёт
  • Виртуальные машины — при клонировании VM может получить тот же MAC или IP
  • Кривые настройки HSRP/VRRP — если виртуальный IP не настроен корректно

Как MikroTik сообщает о конфликте

В логе MikroTik появится сообщение вида:

arp: detected conflict for 192.168.1.10, response from aa:bb:cc:dd:ee:ff on ether2

Или:

arp: detected conflict by arp response for 192.168.1.10

Диагностика ARP-конфликтов

Шаг 1: Смотрим лог MikroTik

/log print where topics~"info" and message~"arp"

Или через Winbox: Logs → фильтр по «arp».

Шаг 2: Смотрим ARP-таблицу на предмет дублей

/ip arp print

Ищем два разных MAC для одного IP.

Шаг 3: Находим виновника по MAC

/ip arp print where mac-address="aa:bb:cc:dd:ee:ff"

Смотрим на каком интерфейсе и в каком сегменте светится этот MAC.

Шаг 4: Связываем MAC с DHCP-арендой

/ip dhcp-server lease print where mac-address="aa:bb:cc:dd:ee:ff"

Это покажет, какому устройству был выдан этот MAC и какой IP.

Шаг 5: Проверяем IP-адреса устройств

На Windows-клиенте: arp -a покажет локальную ARP-таблицу. Если для одного IP два разных MAC — конфликт подтверждён.

Лечение ARP-конфликтов

  • Найти устройство с дублирующимся IP и поменять адрес
  • Включить add-arp=yes на DHCP + reply-only на интерфейсе — устройства со статическими IP из чужого диапазона не получат связи
  • Очистить ARP-таблицу после исправления: /ip arp remove [find dynamic]
  • Настроить DHCP с фиксированными арендами для критичных устройств

5 практических кейсов

Кейс 1: Закрываем сеть от «левых» устройств

Задача: только устройства, получившие IP от нашего DHCP, должны иметь доступ в сеть. Любая статика — мимо.

# Включаем add-arp на DHCP-сервере
/ip dhcp-server set [find name=dhcp1] add-arp=yes

# Переводим клиентский интерфейс в reply-only
/interface ethernet set ether2 arp=reply-only

Теперь: клиент запросил IP по DHCP → получил аренду → в ARP появилась H-запись → связь есть. Клиент с прошитым статическим IP → нет записи в ARP → нет ARP-ответа → нет связи.

Кейс 2: Лечим ARP-конфликт — находим виновника

# Смотрим логи на предмет конфликтов
/log print where message~"conflict"

# Ищем дубли в ARP-таблице
/ip arp print

# Находим MAC в DHCP-арендах
/ip dhcp-server lease print where active-address=192.168.1.50

# Очищаем таблицу
/ip arp remove [find dynamic]

После очистки таблица наполнится заново. Если конфликт повторится — лог снова подскажет MAC виновника.

Кейс 3: Изоляция клиентов в гостевой WiFi

Задача: клиенты в одной подсети не видят друг друга, только интернет.

# Local proxy-arp на WiFi-интерфейсе
/interface wireless set wlan1 arp=local-proxy-arp

# Запрещаем forward между клиентами в firewall
/ip firewall filter add chain=forward in-interface=wlan1 out-interface=wlan1 action=drop

Клиенты видят шлюз, шлюз видит всех, клиенты — изолированы. Классика для хот-спотов.

Кейс 4: Proxy-arp для нестандартной сети

Задача: две физические сети в одной подсети 192.168.1.0/24 через MikroTik, без изменения адресации клиентов.

# На обоих интерфейсах включаем proxy-arp
/interface ethernet set ether1 arp=proxy-arp
/interface ethernet set ether2 arp=proxy-arp

# Убеждаемся, что маршруты прописаны
/ip route print

MikroTik будет отвечать на ARP от имени хостов на противоположном интерфейсе и маршрутизировать трафик между сегментами.

Кейс 5: Оптимизация arp-timeout для большой сети

Задача: сеть 800+ устройств, много динамики (сотрудники подключаются/отключаются, ноутбуки меняют подключения). Дефолтные 30 минут создают накопление устаревших записей.

# Смотрим текущее значение
/ip settings print

# Ставим 5 минут для динамичной среды
/ip settings set arp-timeout=5m

# Для критичных серверов добавляем статику
/ip arp add address=192.168.1.10 mac-address=aa:bb:cc:dd:ee:01 interface=ether1
/ip arp add address=192.168.1.11 mac-address=aa:bb:cc:dd:ee:02 interface=ether1

Статические записи для серверов живут вечно — таймаут на них не влияет. Динамика обновляется каждые 5 минут — устаревшие записи уходят быстро.


Побочные эффекты и типичные ошибки

Ошибка 1: reply-only без DHCP с add-arp

Поставил reply-only → клиенты потеряли связь. Причина: нет записей в ARP для ответа. Лечение: включить add-arp=yes на DHCP или добавить статические записи.

Ошибка 2: proxy-arp везде

Включил proxy-arp на всех интерфейсах «для надёжности» → широковещательный шторм, перегрузка CPU, всё тормозит. Proxy-arp — точечный инструмент, не для масс-применения.

Ошибка 3: Забытые статические ARP-записи

Устройство сменили (новый MAC), статическая запись осталась → трафик идёт не туда. Всегда удаляй старые статические записи при смене оборудования.

/ip arp remove [find static]

Ошибка 4: Не очистил ARP после смены топологии

Переставил кабели, изменил VLAN — а старые ARP-записи ещё живут. Всегда очищай таблицу после значительных изменений в сети.

Ошибка 5: Игнорирование конфликтов в логах

«ARP-конфликт в логе? Ну и ладно, пинги проходят». Не ладно. Конфликты — симптом проблемы, которая рано или поздно ударит по сети в самый неподходящий момент.


Лучшие практики настройки ARP в MikroTik

  • ✅ Для клиентских сетей используй связку add-arp=yes (DHCP) + reply-only (интерфейс) — простая и эффективная защита
  • ✅ Для критичных серверов и сетевого оборудования создавай статические ARP-записи
  • ✅ Регулярно проверяй /ip arp print — не должно быть большого количества записей с флагом «incomplete»
  • ✅ Настрой логирование ARP-конфликтов и реагируй на них немедленно
  • ✅ В больших сетях уменьши arp-timeout до 5–10 минут
  • ✅ Proxy-arp применяй только при реальной необходимости — это костыль, не архитектурное решение
  • ✅ После любых изменений в топологии сети выполняй /ip arp remove [find dynamic]
  • ✅ В гостевых и публичных WiFi-сетях используй local-proxy-arp для изоляции клиентов

Итог: рецепт от IT-Аптеки

ARP в MikroTik — это не просто «протокол, который сам работает». Это инструмент с несколькими режимами, каждый из которых решает конкретную задачу. Разобраться в нём один раз — и многие загадочные проблемы в сети перестанут быть загадочными.

Что мы разобрали:

  • Как читать ARP-таблицу MikroTik и что означает каждый флаг
  • Режимы enabled, reply-only, proxy-arp, local-proxy-arp и disabled — когда что применять
  • Как использовать add-arp for leases для защиты сети
  • Как правильно настраивать arp-timeout под разные типы сетей
  • Как диагностировать и лечить ARP-конфликты
  • 5 готовых кейсов с командами CLI

Оставайтесь на связи

Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.

Подписаться на IT-Аптеку →
Поделитесь:

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх