Eu instalei recentemente o Ubuntu 16.10 e rsync'd um backup do meu diretório pessoal anterior do kubuntu 16.04 para minha nova instalação. As coisas funcionam bem, mas não consegui resolver os endereços locais, apesar de muitas tentativas e erros.
Toda a rede parece estar funcionando perfeitamente. Navegação na Internet, pesquisa de DNS de endereços externos, ssh etc. são ótimas. Localmente, posso acessar máquinas via ssh com seus endereços, mas não com seus nomes. Tudo funciona bem no nautilus / samba, o que significa que o WINS funciona. O único problema, ao que parece, é o DNS da rede local. Eu tenho o avahi-daemon instalado e funcionando, como ele veio com o Ubuntu.
Incluí algumas soluções de problemas, usando << >> para reduzir partes redundantes ou que estão funcionando corretamente.
$ nmcli g
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
$ ping tendril8 << or tendril8.local >>
ping: tendril8: Name or service not known
$ ping gateway
PING gateway (192.168.1.1) 56(84) bytes of data.
64 bytes from gateway (192.168.1.1): icmp_seq=1 ttl=64 time=4.16 ms
$ ping askubuntu.com
PING askubuntu.com (151.101.129.69) 56(84) bytes of data.
64 bytes from 151.101.129.69 (151.101.129.69): icmp_seq=1 ttl=49 time=43.0 ms
$ nslookup askubuntu.com
Server: 127.0.1.1
Address: 127.0.0.1#53
<< followed by several IP addresses >>
$ nslookup tendril8 << or tendril8.local >>
Server: 127.0.1.1
Address: 127.0.0.1#53
** server can't find tendril8: NXDOMAIN
$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
$ ls -la /etc/resolv.conf
lrwxrwxrwx 1 root root 29 Oct 15 19:30 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
$ cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
gshadow: files
hosts: files resolve [!UNAVAIL=return] mdns4_minimal dns [NOTFOUND=return]
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Nota: Passei muito tempo analisando soluções "mais antigas", antes de o Ubuntu mudar para systemd.resolved na 16.10. Eles não funcionaram para mim e não acredito que seja uma pergunta duplicada para perguntas semelhantes às configurações anteriores do Ubuntu.
fonte
Respostas:
Se eu entendi sua pergunta corretamente, você não pode resolver os nomes de host locais.
Sobre isso, tive o mesmo problema com uma nova instalação da 16.10, e isso se mostra um problema conhecido ( https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624071 ) relacionado ao libnss -resolve no systemd.
A solução no meu caso foi revisar o arquivo /etc/nsswitch.conf e observar especificamente como o NSS resolve seus hosts:
Essa lógica parece falhar na resolução do nome do host antes mesmo de chegar ao mDNS.
A edição da linha de hosts de volta para uma versão anterior à 16.10 corrige esse aparente erro lógico:
O link do relatório de erros incluído sugere que uma versão futura do pacote systemd poderá eventualmente corrigir esse problema.
Rico
fonte
Uma solução alternativa que edita automaticamente
/etc/nsswitch.conf
está removendo [ editar: e reinstalar]libnss-resolve
:fonte
Eu tive esse problema com uma nova instalação do Ubuntu 17.04. Optei por deixar de usar o systemd-resolved para o dnsmasq no meu laptop (o servidor de nomes também está usando o dnsmasq). Eu segui as etapas em Como desativar o DNS resolvido pelo sistema e resolver o DNS com o dnsmasq?
fonte