Есть проблемы, которые выглядят как мистика, пока не знаешь причину. Устройство в сети пингуется через раз. Хост вроде онлайн, но до него не достучаться. В логах мелькает «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-Аптеку →


