O Ubuntu 17.04 pesquisas de DNS resolvidas pelo sistema falham aleatoriamente

34

Eu atualizei para o Ubuntu 17.04 e parece que agora tem um novo mecanismo de resolução de DNS apresentado pela primeira vez no Ubuntu 16.10.

Agora estou recebendo falhas de pesquisa de DNS em 50% do tempo. Todas as outras chamadas para o nslookup estão falhando, com metade das chamadas resolvendo bem e metade dando isto:

watch -n 1 nslookup google.com

Server:     127.0.0.53
Address:    127.0.0.53#53

** server can't find google.com: SERVFAIL

Pelo que entendi, o endereço IP do servidor DNS agora é usado para representar o systemd-resolved, que faz algum tipo de meta-consulta para evitar consultas DNS mais lentas (ou algo assim ...). Estou vendo exatamente o mesmo comportamento em duas máquinas que atualizei para 17,04 na semana passada.

Alguma ideia de qual é o problema aqui e a maneira correta de abordá-lo?

As coisas estavam funcionando bem antes do upgrade (de 16.04 ou 16.10, não lembro quais, desculpe). EU PENSEI que o 17.04 era um lançamento do LTS, mas agora vejo que pulei a arma e não será considerado estável até abril. Então ... aqui estou eu.

Também digno de nota ... os navegadores não parecem apresentar problemas, mas nslookup, ping, git, etc. fazem.

    
por moodboom 05.12.2016 / 18:13

5 respostas

42

O Ubuntu 17.04 não pode resolver servidores DNS com suporte a DNSSEC a partir de 2017-04-18. Desative o DNSSEC com este daemon:

sudo mkdir -p /etc/systemd/resolved.conf.d
printf "[Resolve]\nDNSSEC=no\n" | sudo tee /etc/systemd/resolved.conf.d/no-dnssec.conf

Opcionalmente, reconfigure o resolvconf se você mexeu com ele (diga sim para "preparar /etc/resolve.conf para atualizações dinâmicas?"):

sudo dpkg-reconfigure resolvconf

Reinicie o sistemad-resolvido:

sudo systemctl restart systemd-resolved

Seu DNS deve começar a funcionar. Você pode verificar tentando systemd-resolve www.google.com e vendo uma resposta.

    
por 18.04.2017 / 12:32
11

Eu tenho alternado entre o gerenciamento systemd-resolved e o manual /etc/resolv.conf e não encontrei o mecanismo de resolução de DNS systemd ainda estável.

Aparentemente há pelo menos um bug libnss no Ubuntu 16.10 e, aparentemente, ainda em 17,04. Existem muitas pessoas com problemas de DNS desde que o Ubuntu 16.10 foi ativado, aqui é uma análise e < um href="https://sobrelinux.info/questions/13657/how-to-configure-local-dns-lookup-in-ubuntu-16-10"> aqui é a solução alternativa de outra pessoa. Nenhum deles funcionou para mim até que eu sobrescrevesse /etc/resolv.conf manualmente com os servidores DNS do google.

nameserver 8.8.8.8   << or another if you don't trust google
nameserver 8.8.4.4

Esta é uma solução perfeitamente válida , se você não precisar da configuração dinâmica do DNS. Apenas certifique-se de parar e desativar o systemd-resolved:

sudo systemctl disable systemd-resolved.service
sudo service systemd-resolved stop
    
por 08.12.2016 / 16:12
3

O Ubuntu 17.04 e outras distribuições estão adotando o systemd, que inclui o systemd-resolved, que sujeita os usuários a uma resolução DNS bastante pesada.

  • Como mencionado na resposta da SjB, o suporte a DNSSEC pode causar problemas.
  • systemd-resolved pings todos os resolvedores de DNS para que possam usar o mais rápido. Isso pode causar problemas com VPNs etc em ambientes mais complexos.
  • Os certificados do servidor DNS são verificados. Ocorreram erros se o meu relógio estiver distorcido.

Eu não acho que seja necessariamente uma mudança ruim, é apenas uma grande mudança.  Tentarei atualizar e expandir essa resposta à medida que eu aprendo mais.

    
por 17.06.2017 / 19:48
2

Coloque simplesmente você só precisa ter a linha "DNSSEC = no" na seção [Resolve] do /etc/systemd/resolved.conf.

link

    
por 05.09.2017 / 17:40
1

adicione apenas o servidor de nomes /etc/systemd/resolved.conf DNS = 194.109.xxx.xxx (no seu roteador, servidor de nomes externo)

systenctl restart systemd-resolved

não é necessário alterar o rand de 3 para 2 não há necessidade de mudar o dnssec para off

    
por 20.11.2017 / 16:01