Como desativar o systemd-resolvido no Ubuntu?

38

Como posso desativar o systemd-resolvido no Ubuntu 17.04?

Desativando-o com systemctl disable não funcionou, o serviço parece ter sido reiniciado (pelo Networkmanager?)

    
por Bastian Voigt 21.04.2017 / 07:37

3 respostas

62

Cuidado! Esteja ciente de que a desativação do systemd-resolvd pode quebrar a resolução de nomes na VPN para alguns usuários. Veja este bug no launchpad (Obrigado, Vincent).

Desative o serviço resolvido pelo sistema e pare-o:

sudo systemctl disable systemd-resolved.service
sudo service systemd-resolved stop

Coloque a seguinte linha na seção [main] do seu /etc/NetworkManager/NetworkManager.conf :

dns=default

Exclua o link simbólico /etc/resolv.conf

rm /etc/resolv.conf

Reinicie o gerenciador de rede

sudo service network-manager restart
    
por Bastian Voigt 21.04.2017 / 07:48
7

Eu recentemente atualizei para o (k) Ubuntu 17.04 e também deparei com a mudança para o systemd.

Minha configuração é bastante típica, na medida em que tenho um provedor de DNS no meu HUB de banda larga e essa é minha principal fonte de informações para todos os dispositivos da minha rede (dos quais tenho alguns).

Existe alguma beleza no systemd, não é de todo ruim, mas o que é realmente ruim é a documentação, a falta de comunicação da equipe do Ubuntu e a mentalidade de "vamos apenas mudar, apesar de quebrar para todos".

A solução para mim depois de arrancar alguns cabelos foi editar /etc/systemd/resolved.conf:

[Resolve]
DNS=192.168.1.254   # <-- change to your router address
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Domains=lan         # <-- change to your localdomain name (maybe .local)
#LLMNR=yes  <-- I dabbled with this for a while but it doesn't matter
#DNSSEC=no
#Cache=yes
#DNSStubListener=udp

Depois de não entender por que isso não funcionaria, descobri que o que também era necessário era trocar o /etc/resolv.conf pelo fornecido pelo systemd. Este não é o caso em uma instalação out-of-a-box (por razões desconhecidas para mim).

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

O servidor DNS local não é usado e todas as solicitações de DNS são enviadas para o meu HUB.

Eu acho que esta é uma solução muito melhor do que cortar e colocar em alguma outra solução, já que o systemd-resolv é agora o padrão em diante.

Um problema relacionado é que o /etc/nsswitch.conf é neutralizado.

Deverá ler:

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

Esta é uma configuração confusa, pois [NOTFOUND = return] significa que o processamento termina aí. As entradas depois dele nunca serão usadas.

    
por user2427436 22.07.2017 / 14:12
0

Se você está tendo vazamentos de problemas com sua VPN e não consegue descobrir como configurar o systemd (como eu), pode removê-lo da maneira descrita na primeira resposta, mas não adicione a linha dns=default porque ele ativará o servidor de nomes 127.0.0.1. Para definir o roteador como dns, crie o arquivo "tail" no seu /etc/resolvconf/resolv.conf.d/ pasta adicionando a linha nameserser 192.168.1.1

faça ln -sf /var/run/resolved/resovl.conf /etc/resolv.conf se você estragou este arquivo.

    
por Yvain 05.09.2017 / 21:38