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.