Как настроить DNS на MikroTik для локального доступа к видеорегистраторам без петли через интернет

    При организации видеонаблюдения на предприятии часто возникает задача: обеспечить доступ к видеорегистраторам (Dahua, RVI) как из интернета, так и из локальной сети через единый домен с портом. Если просто прописать белый IP в DNS, то при подключении изнутри сети трафик уходит наружу и возвращается обратно - это неэффективно и может вызывать задержки. В этой статье мы разберём, как настроить MikroTik RouterOS так, чтобы запросы из локальной сети обрабатывались напрямую, минуя интернет-петлю.

    Проблема: почему DNS-запись с портом не работает

    Стандартный DNS-сервер MikroTik (и любой другой) не поддерживает указание порта в A-записи. Например, запись ip.company.ru:37144 → 192.168.50.144:37144 не будет обработана корректно - DNS работает только на уровне IP-адресов, без учёта портов. Поэтому при попытке подключения из локальной сети к внешнему домену с портом трафик идёт через интернет, создавая петлю.

    Решение: Hairpin NAT и статические DNS-записи

    Для организации прямого доступа к видеорегистраторам изнутри сети без выхода в интернет используйте комбинацию Hairpin NAT (NAT loopback) и статических DNS-записей на MikroTik. Это позволит перенаправлять запросы к внешнему IP:порт на локальные адреса устройств.

    Шаг 1. Настройка статической DNS-записи

    На MikroTik перейдите в меню IP → DNS → Static. Добавьте запись для каждого видеорегистратора:

    • Name: ip.company.ru (без порта)
    • Address: 192.168.5.50 (локальный IP регистратора)
    • TTL: оставьте по умолчанию

    Важно: DNS-запись не содержит порта. Порт будет обрабатываться правилами NAT.

    Шаг 2. Настройка Hairpin NAT (NAT loopback)

    Создайте правило в IP → Firewall → NAT для перенаправления трафика:

    • Chain: dstnat
    • Dst. Address: 192.168.5.50 (локальный IP регистратора)
    • Protocol: tcp
    • Dst. Port: 44444 (внешний порт, который вы используете)
    • Action: dst-nat
    • To Addresses: 192.168.5.50
    • To Ports: 37144 (внутренний порт регистратора, если он отличается)

    Также добавьте правило для source NAT (masquerade), чтобы обратный трафик корректно возвращался на клиентское устройство:

    • Chain: srcnat
    • Src. Address: 192.168.0.0/16 (ваша локальная подсеть)
    • Dst. Address: 192.168.5.50
    • Action: masquerade

    Шаг 3. Проверка работы

    После настройки при обращении с телефона через Wi-Fi к ip.company.ru:44444 DNS-сервер MikroTik вернёт локальный IP (192.168.5.50), а Hairpin NAT перенаправит запрос на нужный порт регистратора. Петля через интернет исключена. Пинги между подсетями должны работать, как и раньше.

    Альтернативный подход: отдельные домены для локального доступа

    Если Hairpin NAT кажется сложным, можно создать отдельные DNS-записи для локального доступа, например cam-local.company.ru, и настроить их на локальные IP. Однако это потребует изменения конфигурации клиентских приложений (переключение между внешним и внутренним доменом).

    Часто задаваемые вопросы

    Почему DNS-запись с портом не работает на MikroTik?

    DNS-серверы работают только на уровне IP-адресов и не поддерживают указание порта в A-записи. Порт обрабатывается на транспортном уровне (TCP/UDP) и не может быть частью DNS-ответа.

    Нужно ли настраивать Hairpin NAT для каждого регистратора отдельно?

    Да, для каждого видеорегистратора с уникальным портом требуется отдельное правило dstnat. Это обеспечит корректное перенаправление трафика на конкретное устройство.

    Можно ли использовать один статический DNS для всех регистраторов?

    Нет, если регистраторы имеют разные локальные IP. Для каждого устройства нужна отдельная DNS-запись, указывающая на его локальный адрес.

    Как проверить, что трафик идёт локально, а не через интернет?

    Выполните трассировку (traceroute) с клиента до ip.company.ru:44444. Если все прыжки внутри локальной сети (192.168.x.x), то петля отсутствует.

    Что делать, если после настройки доступ из интернета перестал работать?

    Проверьте, что внешние правила dstnat для белого IP остались активными и не конфликтуют с новыми локальными правилами. Убедитесь, что Hairpin NAT не блокирует входящие соединения извне.

    Часто задаваемые вопросы