No arquivo de configuração da interface de rede local, temos que especificar se queremos obter o endereço do servidor DNS local do servidor DHCP usando DHCP=
option :
[Network]
DHCP=yes
ou especifique seu endereço explicitamente usando DNS=
option :
[Network]
DNS=10.0.0.1
Além disso, precisamos especificar (na mesma seção) domínios locais usando % opçãoDomains=
Domains=domainA.example domainB.example ~example
Especificamos os domínios locais domainA.example domainB.example
para obter o seguinte comportamento (da página do manual systemd-resolved.service, systemd-resolved ):
Lookups for a hostname ending in one of the per-interface domains are exclusively routed to the matching interfaces.
Desta forma, hostX.domainA.example
será resolvido exclusivamente pelo nosso servidor DNS local.
Especificamos com ~example
que todos os domínios terminados em example
devem ser tratados como domínios somente de rota para obter o seguinte comportamento (da descrição de este commit):
DNS servers which have route-only domains should only be used for the specified domains.
Desta forma, hostY.on.the.internet
será resolvido exclusivamente pelo nosso servidor DNS global e remoto.
Nota
O ideal é que, ao usar o protocolo DHCP, os nomes de domínio local sejam obtidos no servidor DHCP, em vez de serem especificados explicitamente no arquivo de configuração da interface de rede acima. Consulte a UseDomains=
opção . No entanto, ainda há problemas pendentes com esse recurso - consulte a opção opção de domínios de pesquisa DHCP do systemd-networkd .
Precisamos especificar o servidor DNS remoto como nosso servidor DNS global do sistema. Podemos fazer isso em /etc/systemd/resolved.conf
file:
[Resolve]
DNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
Não se esqueça de recarregar a configuração e reiniciar os serviços:
$ sudo systemctl daemon-reload
$ sudo systemctl restart systemd-networkd
$ sudo systemctl restart systemd-resolved
Cuidado!
Acima de garantias aplicam-se somente quando os nomes estão sendo resolvidos por systemd-resolved - veja man page para nss-resolve, libnss_resolve.so.2 e man page para systemd-resolved.service, systemd-resolved .Veja também:
- A descrição das solicitações de pesquisa de roteamento nas páginas do manual relacionadas ao systemd não é clara
- Como solucionar problemas de DNS com o systemd-resolvido?
Referências: