systemd-разрешенный не запрашивает сервер DNS для локального домена

Начиная с обновления до 17,04 я больше не могу разрешать адреса в своей локальной сети (silvesternet.local). Я получаю следующий ответ:

$ systemd-resolve edgerouter
edgerouter: resolve call failed: No appropriate name servers or networks for name found

В журнале существуют только сообщения о тайм-аутах для транзакции, связанной с этим поиском.

Я использовал Wireshark для сниффинга сетевого трафика, и кажется, что он даже не пробует к поиску имя. Вообще нет никакого трафика DNS. Поиск другого внешнего домена работает просто великолепно.

Много проблем вокруг той же темы упоминают, что изменили nsswitch.conf, но это, кажется, ничего не решает. Мои текущие настройки:

hosts:          files mdns4_minimal dns [NOTFOUND=return] resolve [!UNAVAIL=return] mdns4
12
задан 22 May 2017 в 08:00

5 ответов

Я полагаю, что это дизайном.

Ubuntu 17.04 переключилась на systemd-разрешенный для определения имен, и это использует только LLMNR (многоадресный поиск имени) для единственной маркировки называет разрешение. См. эту ссылку для деталей: https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html

Для обоснования позади этого решения проверяет ответ poettering в этом отчете об ошибках: https://github.com/systemd/systemd/issues/2514

UPD: Эта проблема может работаться вокруг при помощи домена для локальной сети. Если сетевой интерфейс будет настроен (или вручную или DHCP) для использования области поиска, затем systemd-разрешенной, то будет добавлять этот домен к именам единственной маркировки и затем искать их через одноадресную передачу DNS.

, Очевидно, локальный сервер DNS должен быть реконфигурирован для распознавания их домен. В случае dnsmasq, который читает локальных пар хоста IP из/etc/hosts, он может быть выполнен путем добавления следования инструкциям к dnsmasq.conf:

domain=mydomain.net
local=/mydomain.net/
expand-hosts

UPD2: Или Вы могли просто вернуться к dnsmasq, как описано сюда https://askubuntu.com/a/911432/692094

10
ответ дан 23 November 2019 в 03:35

У меня возникла та же проблема в Ubuntu 18.04, где также используется systemd-resolved для DNS. Его конфигурация по умолчанию не разрешает имена хостов с одной меткой или имена доменов .local по DNS, но по LLMNR или mDNS соответственно.

Чтобы разрешить локальные однокомпонентные имена хостов или имена доменов .local в DNS, я включил третий из «Четырех режимов обработки /etc/resolv.conf», описанных в на странице руководства для systemd-resolved. служба :

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

Аналогичный ответ был дан здесь . И снова, по причинам, лежащим в основе дефолта, см. Ответ Поэтеринга в об этом сообщении об ошибке .

8
ответ дан 23 November 2019 в 03:35

Я столкнулся с этой проблемой из-за неправильной настройки nsswitch.conf. С 12.04 следующая строка работала как положено. Имена хостов без домена разрешаются успешно.

Но новая 17.04 версия (а также версия 16.10) ubuntu со старым шаблоном для настройки системы nss не работает, как раньше.

Неверно сконфигурированная версия hosts, из старых версий Ubuntu: hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

Успешная рабочая версия hosts, например, от 17.04: [ 116]

0
ответ дан 23 November 2019 в 03:35

Что работало на меня после того, как upgrating к 18,04 должен был настроить файл/etc/systemd/resolved.conf изменение параметра Доменов к домену (локальный или как в моем случае mydomain.local). Я также изменил параметр DNS, но казалось, что это не релевантно, но я упоминаю это на всякий случай, который не верен. Для получения дополнительной информации перейдите к https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html.

Дополнительно я изменил avahi конфигурацию (/etc/avahi/avahi-daemon.conf) для изменения доменного параметра в разделе сервера от локального (значение по умолчанию) к чему-то еще как некоторые люди, на которых указывают на этом форуме.

С упомянутыми изменениями я могу достигнуть машин с помощью имен без точки, например, проверив с помощью ping-запросов к mycomputer, с машиной связываются успешно. Однако, если я проверяю с помощью ping-запросов к mycomputer.mydomain.local, он не работает, FQDN не разрешен как ожидалось.

Надеясь это помогает для некоторых случаев или вывода к более общему решению.

2
ответ дан 23 November 2019 в 03:35

Если кто-то использует systemd версии 242 или старше (Ubuntu 17.04 появилась с systemd 232), systemd-networkd для сети конфигурации и DHCP для получения локальных доменов (UseDomains=true в разделе [DHCP] файлов .network), то одна из причин, по которой не разрешается локальный (не обязательно .local) может быть ошибкой systemd-networkd DHCP search domains option, из-за которой разрешение работало только в том случае, если DHCP-сервер принудительно проталкивал доменные имена , т.е. даже если клиент не запрашивает его в списке запросов параметров.

1
ответ дан 24 April 2020 в 10:03

Другие вопросы по тегам:

Похожие вопросы: