Systemd-resolved

Материал из Rosalab Wiki
Перейти к: навигация, поиск

Установка systemd-resolvd

systemd-resolved — служба systemd, выполняющая разрешение сетевых имён .

systemd-resolved входит в пакет systemd, который установлен по умолчанию в системе Rosa.

Настройка systemd-resolved

systemd-resolved работает как резолвер (распознаватель) для системы доменных имён (включая DNSSEC и DNS over TLS), Multicast DNS (mDNS) и Link-Local Multicast Name Resolution (LLMNR).

Настройки резолвера можно изменить в файле /etc/systemd/resolved.conf

systemd-resolved может выполнять разрешение доменных имён четырьмя различными способами. Все четыре режима работы подробно описаны в руководстве systemd-resolved(8)

Наиболее часто используются следующие два:

  1. С файлом DNS-заглушки systemd — файл /run/systemd/resolve/stub-resolv.conf содержит указание использовать локальную заглушку (local stub) на адресе 127.0.0.53 в качестве единственного DNS-сервера, а также список доменов для поиска. Это рекомендуемый режим работы. Файл /etc/resolv.conf стоит заменить символической ссылкой на файл заглушки, чтобы все процессы использовали последний при разрешения имён:
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
  1. С файлом resolv.conf — systemd-resolved работает с файлом /etc/resolv.conf как обычный клиент. Этот режим менее разрушителен, поскольку другие программы по-прежнему смогут использовать /etc/resolv.conf.
Idea.png
Примечание
systemd-resolved определяет режим работы автоматически в зависимости от того, является ли /etc/resolv.conf символической ссылкой на файл заглушки или содержит адреса серверов.

Работа в астоматическом режиме

Узнать, какие серверы systemd-resolved использует в данный момент, можно командой:

resolvectl status.

systemd-resolved работает "из коробки" с сетевыми менеджерами, использующими файл /etc/resolv.conf. Никаких дополнительных настроек не требуется, поскольку systemd-resolved будет автоматически обнаружен при переходе по символической ссылке /etc/resolv.conf. Во всяком случае, это работает для systemd-networkd и NetworkManager.

Работа в ручном режиме

В режиме локальной DNS-заглушки можно назначить произвольные DNS-серверы, указав их в файле /etc/systemd/resolved.conf

[Resolve]
DNS=192.168.35.1 fd7b:d0bd:7a6e::1

Если systemd-resolved не получает адреса DNS-серверов от сетевого менеджера и никакие сервера не были настроены вручную, то он использует специальные зарезервированные DNS-адреса. Таким образом, разрешение доменных имён работает всегда.

Idea.png
Примечание
По дефолту, в Rosa основные DNS мерверы волучаются от NetworkManager'а. В качестве зарезервированные (дополнительные/резервные) DNS сервера: 77.88.8.8, 77.88.8.1, (Яндекс) 8.8.8.8, 8.8.8.4 (Google)

Изменить адреса можно с помощью параметра FallbackDNS= в файле resolved.conf(5), например:

[Resolve]
FallbackDNS=208.67.222.222 and 208.67.220.220

Работа с сервисом

Для перезапуска сервиса используется команда:

systemctl restart systemd-resolved.service

Для остановки сервиса:

systemctl stop systemd-resolved.service

По умолчанию, systemd-resolved.service всключен и работает.