Есть проблемы, которые выглядят как мистика, пока не знаешь причину. Устройство в сети пингуется через раз. Хост вроде онлайн, но до него не достучаться. В логах мелькает «detected conflict by arp». MAC-адрес в таблице роутера почему-то «плавает». Всё это — симптомы проблем с ARP. И MikroTik даёт достаточно инструментов чтобы эти проблемы диагностировать, исправить и предотвратить.
В этой статье разберём: как работает ARP в MikroTik, что показывает ip arp таблица, зачем нужны режимы reply-only и proxy-arp, что означает add arp for leases в DHCP, как бороться с ARP-конфликтами и как правильно очистить ARP таблицу. Всё с командами RouterOS.
Что такое ARP и зачем он нужен
ARP (Address Resolution Protocol) — протокол, который связывает IP-адреса с MAC-адресами на уровне Ethernet. Когда устройство хочет отправить пакет на IP 192.168.1.10 — оно не знает MAC-адрес получателя. Оно отправляет широковещательный ARP-запрос: «Кто имеет адрес 192.168.1.10? Скажите мне свой MAC». Устройство с этим IP отвечает: «Это я, мой MAC — 00:11:22:33:44:55».
Без ARP Ethernet-сети не работают. IP-пакет не может быть доставлен без знания MAC-адреса следующего хопа. Это фундаментальный протокол L2/L3 взаимодействия, и проблемы с ним немедленно сказываются на связности сети.
Результаты ARP-запросов кэшируются в ARP-таблице — чтобы не спрашивать каждый раз. В MikroTik эта таблица называется /ip arp.
ARP таблица в MikroTik: как читать и что там хранится
Смотрим текущую ARP-таблицу:
/ip arp print
Пример вывода:
Flags: X - disabled, I - invalid, H - DHCP, D - dynamic, P - published, C - complete
# ADDRESS MAC-ADDRESS INTERFACE STATUS
0 DC 192.168.1.1 D4:CA:6D:AA:BB:CC bridge complete
1 DC 192.168.1.10 00:11:22:33:44:55 bridge complete
2 D 192.168.1.15 78:24:AF:22:11:01 bridge incomplete
3 C 192.168.1.100 AA:BB:CC:DD:EE:FF bridge complete
Разбираем флаги ARP таблицы:
- D (dynamic) — запись создана автоматически в результате ARP-обмена. Живёт до истечения arp-timeout, потом удаляется.
- S (static) — запись добавлена вручную администратором. Не удаляется по таймауту.
- H (DHCP) — запись создана DHCP-сервером (при включённом
add-arp=yes). - P (published) — MikroTik отвечает на ARP-запросы за этот IP (proxy ARP).
- C (complete) — запись актуальна, MAC подтверждён.
- incomplete — ARP-запрос был отправлен, но ответа ещё нет или он не пришёл.
Фильтрация вывода:
# Только динамические записи
/ip arp print where dynamic=yes
# Только статические
/ip arp print where dynamic=no
# Записи на конкретном интерфейсе
/ip arp print where interface=bridge
# Конкретный IP
/ip arp print where address=192.168.1.10
# Поиск по MAC
/ip arp print where mac-address="00:11:22:33:44:55"
ARP Timeout в MikroTik: как настроить и зачем
Динамические ARP-записи не живут вечно. По истечении таймаута MikroTik удаляет запись и при следующем обращении к этому IP снова отправляет ARP-запрос. Это нормальное поведение.
Посмотреть текущий таймаут:
/ip settings print
# Пример вывода
arp-timeout: 30s
ip-forward: yes
По умолчанию — 30 секунд. Изменить:
# Увеличить таймаут до 5 минут
/ip settings set arp-timeout=5m
# Или до 1 минуты
/ip settings set arp-timeout=1m
Когда менять ARP timeout
- Таймаут слишком маленький — ARP-запросы отправляются часто, широковещательный трафик растёт. В больших сетях с тысячами устройств это заметная нагрузка. Увеличьте до 5–15 минут.
- Таймаут слишком большой — если устройство сменило MAC-адрес (замена сетевой карты, пересоздание VM), старая запись будет жить долго и маршрутизация к этому IP сломается до истечения таймаута. Для динамичных сред (виртуализация, частые замены) — не ставьте больше 5 минут.
Add ARP for Leases в MikroTik DHCP: что это и зачем включать
В настройках DHCP-сервера MikroTik есть параметр add-arp. Когда он включён, RouterOS автоматически добавляет статическую ARP-запись для каждого клиента, получившего IP-адрес по DHCP.
Включить:
# Включить для конкретного DHCP-сервера
/ip dhcp-server set [find name=dhcp1] add-arp=yes
# Проверить
/ip dhcp-server print detail
После включения в ARP-таблице будут появляться записи с флагом H (DHCP):
/ip arp print
# H 192.168.1.10 00:11:22:33:44:55 bridge
# H 192.168.1.15 78:24:AF:22:11:01 bridge
Почему это важно
Само по себе add-arp=yes не даёт безопасности — оно лишь создаёт записи. Настоящий смысл раскрывается в связке с режимом arp=reply-only на интерфейсе или bridge. Вместе они создают систему контроля: роутер знает только «разрешённые» пары IP-MAC и отвечает только на запросы из этого списка.
Также add-arp=yes полезно для стабильности ARP-таблицы: DHCP-записи не протухают по таймауту пока аренда активна, что снижает количество ARP-запросов в сети.
Режим reply-only в MikroTik: простая защита от посторонних
ARP reply-only — один из самых эффективных и простых механизмов контроля доступа в LAN-сегменте. В этом режиме интерфейс или bridge отвечает на ARP-запросы только для IP-адресов из статической ARP-таблицы. Для всех остальных — молчание.
Что это означает на практике: подключи к сети неизвестный ноутбук — он не получит ARP-ответа от роутера, не узнает MAC шлюза и не выйдет в интернет. Даже если вручную пропишешь IP, маску и шлюз.
Настройка reply-only на bridge
# Установить режим reply-only на bridge
/interface bridge set [find name=bridge] arp=reply-only
# Проверить
/interface bridge print detail
Настройка reply-only на интерфейсе
/interface ethernet set [find name=ether2] arp=reply-only
Полная схема: DHCP + add-arp + reply-only
# Шаг 1: Включаем add-arp на DHCP сервере
/ip dhcp-server set [find name=dhcp1] add-arp=yes
# Шаг 2: Переводим bridge в режим reply-only
/interface bridge set [find name=bridge] arp=reply-only
# Шаг 3: Для устройств со статическими IP добавляем записи вручную
/ip arp add address=192.168.1.100 mac-address=AA:BB:CC:DD:EE:FF interface=bridge
# Шаг 4: Проверяем ARP таблицу
/ip arp print
После этой настройки в сети работают только устройства, чьи пары IP-MAC известны роутеру — либо через DHCP, либо через статические записи. Всё остальное — отрезано на уровне ARP.
Важно: при включении reply-only на bridge проверьте что сам MikroTik (его IP на bridge) есть в ARP-таблице как published-запись — иначе устройства не смогут достучаться до шлюза:
# Добавить published запись для самого роутера
/ip arp add address=192.168.1.1 mac-address=D4:CA:6D:AA:BB:CC interface=bridge published=yes
Proxy ARP и Local Proxy ARP в MikroTik
Это два режима работы интерфейса, при которых MikroTik сам отвечает на ARP-запросы вместо целевых устройств.
Proxy ARP
MikroTik отвечает на ARP-запросы о хостах из других подсетей, которые он знает через таблицу маршрутизации. Полезно когда нужно «склеить» два L3-сегмента так, чтобы они выглядели как один L2 — типичный сценарий в некоторых провайдерских схемах и VPN-конфигурациях.
# Включить proxy-arp на интерфейсе
/interface ethernet set [find name=ether1] arp=proxy-arp
# Проверить
/interface ethernet print detail where name=ether1
Local Proxy ARP
Более специфичный режим: MikroTik отвечает на ARP-запросы внутри одного сегмента — то есть когда источник и цель ARP-запроса находятся на одном интерфейсе. Используется при Split Horizon в L2-сетях, когда порты физически изолированы друг от друга (Private VLAN, port isolation), но логически должны видеть шлюз.
# Включить local-proxy-arp
/interface ethernet set [find name=ether2] arp=local-proxy-arp
Сравнение режимов ARP
| Режим | Описание | Типичное применение |
|---|---|---|
| enabled (default) | Стандартное поведение ARP | Обычные LAN-сети |
| disabled | ARP полностью отключён, записи только статические | Жёсткий контроль, p2p-линки |
| reply-only | Отвечает только на известные IP из таблицы | Защита LAN от неизвестных устройств |
| proxy-arp | Отвечает за хосты из других подсетей | VPN, провайдерские схемы |
| local-proxy-arp | Отвечает за хосты в том же сегменте | Port isolation, Private VLAN |
ARP Flux в MikroTik: что это и как с этим бороться
ARP Flux (или ARP Flapping) — ситуация, когда один и тот же IP-адрес «отвечает» с разных MAC-адресов или с разных интерфейсов. Таблица ARP постоянно перезаписывается, устройства не могут стабильно достучаться до нужного хоста.
Причины ARP Flux в MikroTik
- Несколько интерфейсов с адресами из одной подсети — MikroTik отвечает на ARP с разных интерфейсов в зависимости от того, какой получил запрос первым.
- Неправильная настройка bridge — если интерфейсы добавлены в bridge, но у самих интерфейсов остались IP-адреса, возможны конфликты ARP между bridge и физическими интерфейсами.
- VRRP без корректной настройки ARP — при переключении VRRP-мастера ARP-кэши на клиентах могут не обновиться вовремя.
- Виртуальные машины с общим IP — live migration, клонирование без смены MAC.
Диагностика ARP Flux
# Смотрим ARP таблицу - один IP с разными MAC
/ip arp print
# Мониторим ARP-трафик в реальном времени
/tool sniffer quick port=0 ip-address=192.168.1.10
# Используем torch для наблюдения за трафиком
/tool torch interface=bridge
Решение ARP Flux
# Убираем IP с физических интерфейсов если они в bridge
/ip address remove [find interface=ether2]
/ip address remove [find interface=ether3]
# IP должен быть только на bridge интерфейсе
# Проверяем что адреса назначены только bridge
/ip address print
# При VRRP - настраиваем gratuitous ARP
/interface vrrp set [find] on-backup="" on-master=""
detected conflict by arp: что это и как найти виновника
В логах MikroTik появляется запись:
arp,error detected conflict by arp response for 192.168.1.10 on bridge
Это означает: MikroTik получил ARP-ответ с IP-адресом, который уже есть в его ARP-таблице, но с другим MAC-адресом. Другими словами — в сети два устройства с одним IP-адресом. Классический IP-конфликт.
Причины конфликта ARP
- Два устройства вручную прописали одинаковый статический IP
- DHCP-сервер выдал адрес, который уже занят статически на другом устройстве
- Виртуальная машина клонирована без смены IP
- Неправильные статические резервации в DHCP
- Устаревшая статическая ARP-запись в таблице MikroTik конфликтует с реальным устройством
Как найти устройство с конфликтующим IP
# Шаг 1: Смотрим ARP таблицу - ищем подозрительный IP
/ip arp print where address=192.168.1.10
# Шаг 2: Включаем логирование ARP
/system logging add topics=arp action=memory
# Шаг 3: Смотрим логи
/log print where topics~"arp"
# Шаг 4: Захватываем ARP-пакеты для анализа
/tool sniffer quick port=0
# В выводе ищем ARP пакеты от 192.168.1.10
# Шаг 5: Используем torch
/tool torch interface=bridge src-address=192.168.1.10
Как только найдёте второй MAC-адрес — сопоставьте его с устройством. На Cisco-коммутаторах:
# На управляемом коммутаторе в сети
show mac address-table | include [найденный MAC]
Нашли устройство — меняем IP или удаляем конфликтующую запись.
Удаление конфликтующей ARP записи
# Удалить запись для конкретного IP
/ip arp remove [find address=192.168.1.10]
# Или обновить запись вручную (если знаем правильный MAC)
/ip arp set [find address=192.168.1.10] mac-address=00:11:22:33:44:55
Как очистить ARP таблицу в MikroTik
Иногда нужно сбросить ARP-таблицу полностью — после смены IP-схемы, при переносе устройств, после устранения конфликтов.
# Удалить только динамические записи (безопасно)
/ip arp remove [find dynamic=yes]
# Удалить все записи кроме published (осторожно!)
/ip arp remove [find dynamic=yes !published=yes]
# Удалить запись для конкретного IP
/ip arp remove [find address=192.168.1.10]
# Удалить все записи на конкретном интерфейсе
/ip arp remove [find interface=bridge dynamic=yes]
# Просмотреть что осталось
/ip arp print
Осторожно: не удаляйте статические и published-записи без необходимости — особенно при включённом reply-only. После удаления устройства потеряют связь с роутером до следующего DHCP-запроса или ручного восстановления записей.
ARP в Bridge MikroTik: особенности настройки
Когда интерфейсы объединены в bridge, ARP-настройки работают на двух уровнях: на самом bridge и на физических интерфейсах внутри него. Это иногда вызывает путаницу.
# Смотрим настройки bridge
/interface bridge print detail
# Смотрим порты bridge
/interface bridge port print
# ARP настройки применяем к bridge, не к физическим интерфейсам
/interface bridge set [find name=bridge] arp=reply-only
Правила для bridge и ARP
- IP-адрес шлюза назначайте на bridge, не на физические интерфейсы внутри него
- Режим ARP (reply-only, proxy-arp) настраивайте на bridge
- Физические интерфейсы внутри bridge оставляйте с
arp=enabledилиarp=disabled - Проверяйте что у физических интерфейсов нет своих IP-адресов при использовании bridge
# Проверяем что IP только на bridge
/ip address print
# Строки с ether2, ether3 не должны иметь адресов из LAN-подсети
# Проверяем ARP на уровне bridge
/interface bridge print detail where name=bridge
Практические кейсы настройки ARP
Кейс 1: Безопасный офисный LAN — контроль подключений через ARP
Задача: Запретить неизвестным устройствам выходить в сеть, не заблокировав при этом корпоративные устройства.
# Шаг 1: DHCP с автоматическим добавлением ARP
/ip dhcp-server set [find name=dhcp1] add-arp=yes
# Шаг 2: Bridge в режиме reply-only
/interface bridge set [find name=bridge] arp=reply-only
# Шаг 3: Для серверов и устройств со статическим IP
# добавляем записи вручную
/ip arp add address=192.168.1.100 mac-address=AA:BB:CC:DD:EE:FF interface=bridge
/ip arp add address=192.168.1.101 mac-address=AA:BB:CC:DD:EE:00 interface=bridge
# Шаг 4: Проверяем - подключаем неизвестный ноутбук
# Пропишем статически 192.168.1.50 - интернета не будет
# ARP-ответа от роутера не последует
Кейс 2: Диагностика «пропадающего» хоста
Задача: Хост 192.168.1.50 периодически недоступен, хотя физически подключён и включён.
# Шаг 1: Смотрим ARP запись
/ip arp print where address=192.168.1.50
# Если incomplete - ARP-запрос уходит, ответа нет
# Если записи нет - ARP протух, новый ещё не получен
# Шаг 2: Пингуем с роутера (это обновит ARP)
/ping 192.168.1.50 count=5
# Шаг 3: Снова смотрим ARP
/ip arp print where address=192.168.1.50
# Теперь должна быть complete запись
# Шаг 4: Если проблема повторяется - увеличиваем timeout
/ip settings set arp-timeout=5m
# Шаг 5: Или делаем запись статической
/ip arp add address=192.168.1.50 mac-address=00:11:22:33:44:55 interface=bridge
Кейс 3: Поиск и устранение ARP-конфликта
Задача: В логах появилось «detected conflict by arp response for 192.168.1.25». Нужно найти виновника.
# Шаг 1: Включаем логирование ARP
/system logging add topics=arp action=memory
# Шаг 2: Ждём несколько минут, смотрим логи
/log print where topics~"arp"
# Находим два разных MAC для 192.168.1.25
# Шаг 3: Захватываем пакеты
/tool sniffer quick port=0
# Фильтруем ARP пакеты от 192.168.1.25
# Шаг 4: Нашли второй MAC - ищем устройство
/ip dhcp-server lease print where mac-address="ВТОРОЙ-MAC"
# Или смотрим bridge host table
/interface bridge host print where mac-address="ВТОРОЙ-MAC"
# Шаг 5: Устраняем конфликт - меняем IP на найденном устройстве
# или добавляем его в DHCP с правильной резервацией
# Шаг 6: Очищаем старую ARP запись
/ip arp remove [find address=192.168.1.25]
# Шаг 7: Отключаем логирование ARP (чтобы не засорять)
/system logging remove [find topics~"arp"]
Шпаргалка команд ARP для MikroTik
# ===== ПРОСМОТР =====
# Вся ARP таблица
/ip arp print
# Со статусами (подробно)
/ip arp print detail
# Только динамические
/ip arp print where dynamic=yes
# Только статические
/ip arp print where dynamic=no
# По IP
/ip arp print where address=192.168.1.10
# По MAC
/ip arp print where mac-address="00:11:22:33:44:55"
# По интерфейсу
/ip arp print where interface=bridge
# ===== УПРАВЛЕНИЕ ЗАПИСЯМИ =====
# Добавить статическую запись
/ip arp add address=192.168.1.100 mac-address=AA:BB:CC:DD:EE:FF interface=bridge
# Удалить конкретную запись
/ip arp remove [find address=192.168.1.100]
# Удалить все динамические
/ip arp remove [find dynamic=yes]
# Очистить весь кэш (осторожно!)
/ip arp remove [find]
# ===== НАСТРОЙКИ =====
# Посмотреть ARP timeout
/ip settings print
# Изменить timeout
/ip settings set arp-timeout=5m
# Включить add-arp в DHCP
/ip dhcp-server set [find name=dhcp1] add-arp=yes
# ===== РЕЖИМЫ ИНТЕРФЕЙСА =====
# reply-only на bridge
/interface bridge set [find name=bridge] arp=reply-only
# proxy-arp на интерфейсе
/interface ethernet set [find name=ether1] arp=proxy-arp
# Вернуть стандартный режим
/interface bridge set [find name=bridge] arp=enabled
# ===== ДИАГНОСТИКА =====
# Захват ARP пакетов
/tool sniffer quick port=0
# Логи ARP конфликтов
/log print where topics~"arp"
# Включить логирование ARP
/system logging add topics=arp action=memory
# Мониторинг трафика
/tool torch interface=bridge
Заключение
ARP — протокол простой по сути, но богатый на нюансы в реальных сетях. MikroTik даёт полный набор инструментов для работы с ним: от просмотра и очистки ARP-таблицы до тонкой настройки режимов интерфейсов и защиты сети через reply-only.
Три главных правила для стабильной работы ARP в MikroTik:
- В безопасных LAN-сетях — включайте
add-arp=yesна DHCP-сервере иarp=reply-onlyна bridge. Простая и эффективная защита от неизвестных устройств. - При конфликтах IP — сразу в логи и packet sniffer. Находите второй MAC, ищете устройство, устраняете дубликат. Не оставляйте конфликты висеть — они нестабилизируют ARP-кэши на всех устройствах в сегменте.
- При «плавающих» хостах и ARP Flux — проверяйте что IP-адреса назначены только на bridge, а не на физические интерфейсы внутри него. Это источник большинства ARP-проблем в MikroTik-сетях с bridge.
Столкнулись с нестандартным поведением ARP или «detected conflict» который никак не даётся? Пишите в комментарии — разберём.
Оставайтесь на связи
Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.
Подписаться на IT-Аптеку →


