Cliente DNS Gerenciado pelo systemd-resolved

Você pode encontrar situações onde o arquivo /etc/resolv.conf é gerenciado pelo systemd. Nesse caso não podemos editar diretamente esse arquivo.

Vendo o conteúdo  podemos ver o seguinte aviso:

elder@ubuntu:~$ cat /etc/resolv.conf 
# This file is managed by man:systemd-resolved(8). Do not edit.
.....
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently in use.

nameserver 127.0.0.53
.....

A primeira linha em laranja diz que: “Este arquivo é gerenciado pelo systemd-resolved. Não Altere Ele”

A outra linha alaranjada diz que nosso servidor dns é 127.0.0.53.

Ainda podemos perceber que /etc/resolv.conf é um link para  /run/systemd/resolve/stub-resolv.conf

elder@ubuntu:~$ ls -l /etc/resolv.conf 
lrwxrwxrwx 1 root root 39 abr  2  2019 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

Visualizando Informações com “systemd-resolv status”

Podemos ver informações dns com “systemd-resolv status”

elder@ubuntu:~$ sudo systemd-resolve --status
Global
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      .........
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

Link 3 (enp0s8)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 192.168.0.40
                      192.168.0.41
          DNS Domain: ~.
                      lab.local

Link 2 (enp0s3)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

 

Alterando o Arquivo /etc/systemd/resolved.conf

 

O Arquivo /etc/systemd/resolved.conf é onde podemos colocar algumas informações de dns. Veja Exemplo:

elder@ubuntu:~$ sudo vim /etc/systemd/resolved.conf

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details

[Resolve]
DNS=192.168.0.40 192.168.0.41
#FallbackDNS=
Domains=lab.local
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes

Acima configurei dois servidores dns:  192.168.0.40 e 192.168.0.41

Para aplicar as alterações executamos os seguintes comandos

 sudo systemctl restart systemd-resolved.service
sudo systemctl restart systemd-networkd
sudo netplan apply

 

Reveja as configurações

elder@ubuntu:~$ sudo systemd-resolve --status
Global
         DNS Servers: 192.168.0.40
                      192.168.0.41
          DNS Domain: lab.local
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

Link 3 (enp0s8)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 192.168.0.40
                      192.168.0.41
          DNS Domain: ~.
                      lab.local

Link 2 (enp0s3)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

 

Retornado os Valores Padrões

Para retornar aos valores padrões, além de editar o arquivo e desfazer o que fizemos,  podemos simplesmente apagar ou renomear o arquivo

sudo mv /etc/systemd/resolved.conf    /etc/systemd/resolved.conf.bkp

E executarmos os restarts

 sudo systemctl restart systemd-resolved.service
sudo systemctl restart systemd-networkd
sudo netplan apply

 

Fazendo com que o systemd-resolved não configure serviços clientes de dns

 

Para evitar que o systemd-resolved gerencie as configurações de dns devemos:

Quebrar o link

Sabemos que quando  gerenciado pelo systemd-resolved o arquivo /etc/resolv.conf é somente um link apontando para /run/systemd/resolve/stub-resolv.conf

Vamos quebrar esse link. Podemos simplesmente criar um arquivo sobrescrevendo-o.

Usamos rm para remover

sudo rm /etc/resolv.conf

Agora, com editores como nano, vi ou vim podemos recriar o arquivo que deixará de ser um link. Inserirei os endereços dns do google

elder@ubuntu:~$ sudo vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

pare e Desabilite  o systemd-resolved

elder@ubuntu:~$ sudo  systemctl stop systemd-resolved.service 
elder@ubuntu:~$ sudo  systemctl disable  systemd-resolved.service

 

Pronto agora podemos gerenciar, colocar o endereço dns do servidor que quisermos diretamente dentro de /etc/resolv.conf

One Comment to “Cliente DNS Gerenciado pelo systemd-resolved”

Deixe um comentário

O seu endereço de e-mail não será publicado.