В файле конфигурации для локального сетевого интерфейса мы должны указать, что мы хотим получить адрес локального DNS-сервера от DHCP-сервера, используя DHCP=
опцию :
[Network]
DHCP=yes
или укажите его адрес явно, используя DNS=
опцию :
[Network]
DNS=10.0.0.1
Кроме того, нам нужно указать (в том же разделе) локальные домены, используя Domains=
опцию
Domains=domainA.example domainB.example ~example
Мы указываем локальные домены, domainA.example domainB.example
чтобы получить следующее поведение (из systemd-resolved.service, mand- страницы systemd-resolved ):
Поиск имени хоста, оканчивающегося в одном из доменов для интерфейса, направляется исключительно на соответствующие интерфейсы.
Этот способ hostX.domainA.example
будет решаться исключительно нашим локальным DNS-сервером.
Мы указываем, ~example
что все домены, оканчивающиеся на example
, должны рассматриваться как домены только для маршрутов, чтобы получить следующее поведение (из описания этого коммита):
DNS-серверы, имеющие домены только для маршрутов, должны использоваться только для указанных доменов.
Этот путь hostY.on.the.internet
будет решен исключительно нашим глобальным, удаленным DNS-сервером.
Заметка
В идеале при использовании протокола DHCP локальные доменные имена должны быть получены с DHCP-сервера, а не указываться явно в конфигурационном файле сетевого интерфейса выше. Смотрите UseDomains=
вариант . Однако с этой функцией все еще остаются нерешенные проблемы - см. Проблему с опцией systemd-networkd DHCP search domains .
Нам необходимо указать удаленный DNS-сервер в качестве глобального общесистемного DNS-сервера. Мы можем сделать это в /etc/systemd/resolved.conf
файле:
[Resolve]
DNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Не забудьте перезагрузить конфигурацию и перезапустить сервисы:
$ sudo systemctl daemon-reload
$ sudo systemctl restart systemd-networkd
$ sudo systemctl restart systemd-resolved
Внимание!
Вышеуказанные гарантии применяются только тогда, когда имена разрешаются с помощью systemd-resolved - см. Справочную страницу для nss-resol, libnss_resolve.so.2 и справочную страницу для systemd-resolved.service, systemd-resolved .
Смотрите также:
Ссылки:
.local
в этом примере? Конечно, с avahi это должно было быть зарезервировано для MDNS, и злоупотребление им было большим нет-нет. Мне было бы понятнее использоватьexample.com
или .example .