разрешение имени avahi не соблюдалось для поддоменов в 19.04

Это, кажется, разница в поведении, которая началась только в 18.10 или 19.04.

Хотя avahi-resolve --name my.subdomain.local возвращает действительный IP-адрес и работает, он не работает вне этого, то есть ping, curl или chrome.

Разрешение имен все еще работает, хотя для subdomain.local. Похоже, это связано с тем, что *.subdomain.local разрешается как CNDN mDNS.

Содержание nsswitch.conf

passwd:         compat systemd
group:          compat systemd
shadow:         compat
gshadow:        files

hosts:          files mdns4_minimal [NOTFOUND=return] dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Содержание /etc/resolv.conf

nameserver 127.0.0.53
options edns0
1
задан 23 September 2019 в 20:28

2 ответа

Существует много способов настроить DNS, но со стандартной установкой Ubuntu с помощью systemd я нахожу, что неустойчивые отказы происходят, если я также не устанавливаю пакет libnss-твердости. Единственная вещь, которую делает этот пакет, состоит в том, чтобы изменить строку "хостов" в/etc/nsswitch.conf файле - добавляющий в "твердости [! UNAVAIL=return]" перед записью DNS. например.

hosts: files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns myhostname  

Посмотрите ошибки, 1 727 237 systemd-разрешенных не находят домен, 1 805 027 systemd-разрешенных не могут разрешить, что адреса почтового сервера Comcast, и systemd-разрешенный имеют проблемы, когда ответ составляет более чем 512 байтов с отключенным EDNS

То, что делает эти отказы определения имен трудно для разыскивания, - то, что они происходят только при определенных условиях, когда нейтрализация к UDB имеет предел 512 байтов для результатов. То, как это, проблемы касаются nsswitch.conf, размещает строку, еще более трудно выяснить, но предложение добавления пакета libnss-твердости было упомянуто в ошибках, и это решило все мои случайные проблемы.

1
ответ дан 7 December 2019 в 14:58

Следующее работало на меня на Ubuntu 19.10:

sudo apt install libnss-resolve

sudo bash -c "cat > /etc/mdns.allow" <<'EOF'
.local.
.local
EOF

Затем отредактируйте /etc/nsswitch.conf как корень и изменение:

hosts:          files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns

к [1 118]

hosts:          files mdns4 [NOTFOUND=return] resolve [!UNAVAIL=return] dns

Это поведение происходит из-за предел с двумя маркировками эвристика в nss-mdns. Другие такие пределы:

  • , Если запрос не заканчивается .local или .local., он отклоняется. Пример: example.test отклоняется.
  • , Если запрос имеет больше чем две маркировки, он отклоняется. Пример: foo.bar.local отклоняется. Это предельная эвристика с двумя маркировками .
  • , Если во время запроса настроенные системой одноадресно передают DNS (указанный в /etc/resolv.conf) сообщает о записи SOA для локального имени верхнего уровня, запрос отклоняется. Пример: host -t SOA local возвраты что-то другое, чем "Хост, локальный не найденный: 3 (NXDOMAIN)". Это - одноадресная передача эвристика SOA.

вышеупомянутое решение адаптировано от выпуска #64 .

GitHub
0
ответ дан 7 December 2019 в 14:58

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

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