DNS


Введение

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

Спецификации

  • Требуемые пакеты: system
  • Необходимый уровень лицензии: Level1
  • Подменю: /ip dns
  • Стандарты и технологии: DNS
  • Нагрузка на оборудование: незначительная

Описание

Маршрутизатор MikroTik с активированной DNS-функцией может быть задан в качестве DNS-сервера для любого DNS-совместимого клиента. Кроме того, маршрутизатор MikroTik может быть определён в качестве основного (primary) DNS-сервера при настройке на маршрутизаторе DHCP-сервера. При разрешённых удалённых запросах маршрутизатор MikroTik перехватывает TCP и UDP DNS-запросы к порту 53.

Настройка DNS-кэша

  • Подменю: /ip dns

Описание

Функция DNS используется для обеспечения разрешения доменного имени как для самого маршрутизатора, так и для подключённых к нему клиентов.

Описание параметров

Параметр Описание
allow-remote-requests (yes | no; default: no) определяет, разрешены ли удалённые запросы
cache-max-ttl (время; default: 1w) определяет максимальное время жизни (time-to-live) записей кэша. Иными словами, по истечении времени, присвоенного значению cache-max-ttl записи кэша станут неактуальны. Предпочтительны более короткие значения TTL, получаемые от DNS-серверов.
cache-size (целочисленное значение: 512..10240; default: 2048KiB) определяет размер DNS-кэша в килобайтах
cache-used (только для чтения: целочисленное значение) отображает текущий размер кэша в килобайтах
servers (список IPv4/IPv6-адресов; default: 0.0.0.0) разделённый запятой список IP-адресов DNS-серверов


{{Примечание|До RouterOS версии 4.6 DNS-серверы через командную консоль задавались с помощью параметров primary-dns и secondary-dns, начиная с упомянутой версии, эти два параметра были заменены одним параметром servers, с помощью которого должны быть перечислены IP-адреса всех DNS-серверов.}}
{{Note|Если параметру use-peer-dns в меню /ip dhcp-client присвоено значение yes, то в этом случае значение параметра primary-dns в меню /ip dns изменится на адрес DNS-сервера, выдаваемый DHCP-сервером. }}

Пример

Для установки адреса 159.148.60.2 в качестве основного DNS-сервера и разрешения на использование маршрутизатора в качестве DNS-сервера выполните следующее:

[admin@MikroTik] ip dns> set servers=159.148.60.2 \
\... allow-remote-requests=yes
[admin@MikroTik] ip dns> print
                servers: 159.148.60.2
  allow-remote-requests: yes
             cache-size: 2048KiB
          cache-max-ttl: 1w
             cache-used: 7KiB
[admin@MikroTik] ip dns>

Мониторинг кэша

  • Подменю: /ip dns cache

Описание

Данное меню предоставляет список всех записей адресов (DNS тип "A"), хранящихся на сервере.

Описание параметров

Параметр Описание
address (только для чтения: IP-адрес) IP-адрес узла
name (только для чтения: имя) DNS-имя узла
ttl (только для чтения: время) оставшееся время жизни (time to live) записи

Все DNS-записи

  • Подменю: /ip dns cache all

Описание

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

Описание параметров

Параметр Описание
data (только для чтения: текст) поле DNS-данных. Для записей типа "A" это IP-адрес. У других типов записей в поле данных может размещаться другое содержимое (например, имя узла или произвольный текст)
name (только для чтения: имя) DNS-имя узла
ttl (только для чтения: время) оставшееся время жизни (time to live) записи
type (только для чтения: текст) тип DNS-записи

Статические DNS-записи

  • Подменю: /ip dns static

Описание

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

Сервер способен разрешать DNS-запросы, основанные на применении регулярных POSIX-выражений, таким образом, что несколько запросов могут соответствовать одной и той же записи. В случае если какая-либо запись не соответствует стандартам присвоения доменных имён, она считается регулярным выражением и отмечается флагом "R". Список упорядочен и проверяется сверху вниз. Сначала проверяются регулярные выражения, затем простые записи.

Описание параметров

Параметр Описание
address (IP-адрес) IP-адрес присвоенный доменному имени
name (текст) DNS-имя, которое будет разрешено в данный IP-адрес. Может являться регулярным выражением
ttl (время) время жизни DNS-записи

Примечания

Обратный DNS-запрос (перевод IP-адреса в имя) записей, сделанных с помощью регулярных выражений, невозможен. Можно, однако, добавить дополнительную простую запись с тем же самым IP-адресом и задать какое-нибудь имя для него.

Помните, что точкой (.) в регулярных выражениях можно задать любой символ, поэтому выражение необходимо составлять должным образом. Например, если вам необходимо задать какое-либо соответствие в пределах домена example.com, но не для всех доменов, а только для тех, имена которых заканчиваются на .example.com, исключая домены вида www.another-example.com, примените name=".*\.example\.com".

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

Пример

Добавим статическую DNS-запись для имени www.example.com, которое должно быть разрешено в IP-адрес 10.0.0.1:

[admin@MikroTik] ip dns static> add name www.example.com address=10.0.0.1
[admin@MikroTik] ip dns static> print
Flags: D - dynamic, X - disabled, R - regexp
 #     NAME               ADDRESS                                 TTL
 0     www.example.com    10.0.0.1                                1d
[admin@MikroTik] ip dns static>

Очистка DNS-кэша

  • Команда: /ip dns cache flush

Описание команд

Параметр Описание
flush очищает встроенный DNS-кэш

Пример

[admin@MikroTik] ip dns> cache flush
[admin@MikroTik] ip dns> print
              servers: 159.148.60.2
    allow-remote-requests: yes
               cache-size: 2048 KiB
            cache-max-ttl: 1w
               cache-used: 10 KiB
[admin@MikroTik] ip dns>