Вводная информация DNS forwarding

Mikrotik DNS forwarding

Если используете маршрутизатор MikroTik с настроенным vpn между офисами, вероятно приходилось сталкиваться с проблемой переадресации DNS-запросов на внутренний сервер имён. Существует DNS-сервер, который автоматически разрешает имена сайтов на другом конце туннеля. Однако, если вы запрашиваете DNS-запись для внутреннего домена, например, company.ru, на другом конце, маршрутизатор MikroTik попытается преобразовать запрос через собственный DNS-сервер, который, очевидно, не имеет необходимой информации. Разберемся с проблемой DNS forwarding более детально.

У вас всегда есть возможность создавать записи вручную в файле хостов или добавлять ручные записи на ваш DNS-сервер, однако, если количество сайтов является значительным, это может превратиться в настоящую проблему, не говоря уже о том, что ваши записи не будут обновляться в случае изменения записей DNS на корпоративном сервере.

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

Буду считать, что читатель знаком с командной строкой Mikrotik и нет необходимости расписывать используемый функционал, – это выходит за рамки этой публикации. В решении мы будем работать на 7 уровне сетевой модели OSI или прикладном уровне.

Прежде чем начать, вам понадобится следующая информация:

  • Внутренний IP адрес вашего маршрутизатора MikroTik (172.16.100.1 в моем случае)
  • IP адрес внутреннего DNS сервера (10.100.100.2 в моем случае)
  • Имя внутреннего домена (mycompany.ru в моем случае)
  • Доступ к маршрутизатору Микротик по протоколу ssh

Приступим к решению

1. Откройте текстовый редактор, например, notepad и вставьте следующие команды:

/ip firewall layer7-protocol add name=mycompany.ru regexp=mycompany.ru

/ip firewall mangle add chain=prerouting dst-address=172.16.100.1 layer7-protocol=mycompany.ru action=mark-connection new-connection-mark=mycompany.ru-forward protocol=tcp dst-port=53

/ip firewall mangle add chain=prerouting dst-address=172.16.100.1 layer7-protocol=mycompany.ru action=mark-connection new-connection-mark=mycompany.ru-forward protocol=udp dst-port=53

/ip firewall nat add action=dst-nat chain=dstnat connection-mark=mycompany.ru-forward to-addresses=10.100.100.2

/ip firewall nat add action=masquerade chain=srcnat connection-mark=mycompany.ru-forward

2. В списке команд выше необходимо изменить внутренний IP-адрес вашего маршрутизатора (зеленый цвет), имя внутреннего домена (оранжевый цвет) и адрес внутреннего DNS сервера (синий цвет) в соответствии с вашими настройками в текстовом редакторе.

3. Откройте ssh-сеанс на маршрутизаторе MikroTik и вставьте отредактированное содержимое текстового редактора в командную строку.

4. Перезагрузите маршрутизатор, чтобы изменения вступили  в силу

/system reboot

Поиск неисправностей

Нам необходимо проверить, сможем ли попасть на сайты интрасети с другой стороны VPN. Если вы не можете, убедитесь, что туннель vpn запущен и работает, и что сайты действительно доступны через их внутренние IP-адреса, например, проверка по ping-протоколу нашего DNS-сервера 10.100.100.2. Следующим шагом является устранение проблемы с разрешением DNS при помощи таких команд, как nslookup. Сначала убедитесь, что DNS-сервер с другой стороны туннеля отвечает на запросы NS, выдавая команду:

C:\>nslookup - 10.100.100.2

Default Server : dns.mycompany.ru

Address: 10.100.100.2

>

где 10.100.100.2 DNS-сервер Интранета.

После приглашения > введите имя одного из ваших сайтов интрасети, и сервер имен должен сообщить его IP-адрес:

Default Server : dns.mycompany.ru
Address: 10.100.100.2

>server1.mycompany.ru

Name: server1.mycompany.ru
Address: 10.100.100.50

Если проверка проходит, то это означает, что туннель и DNS-сервер работают как нужно. Проверим перенаправление запросов через наш маршрутизатор, для этого выполним команду на клиентском устройстве:

C:\>nslookup - 172.16.100.1  

где 172.16.100.1 – внутренний IP-адрес нашего маршрутизатора MikroTik.

Default Server : router
Address: 172.16.100.1

>server1.mycompany.ru

Name: server1.mycompany.ru
Address: 10.100.100.50

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

Спасибо за внимание, готов помочь, если у вас возникли вопросы с реализацией данного сценария; готов выслушать Ваши дополнения.

Материал любезно предоставлен Johann Fenech — https://blog.johannfenech.com/?p=536

Читать далее

Условная переадресация DNS-запросов на MikroTik
Метки:    
Adblock detector