arquivo hosts parece ser ignorado

17

Eu tenho quase nova caixa de desktop Ubuntu. O sistema operacional foi instalado há duas semanas e atualizado a partir de repositórios cármicos. Na semana passada eu não tive problemas com o DNS. Mas esta semana algo mudou. Não sei o que e quando, e não tenho certeza se alterei alguma configuração.

Então agora eu tenho uma situação muito estranha. De acordo com o nome do registro, a resolução deve funcionar normalmente.

/ etc / hosts

127.0.0.1   localhost test
127.0.1.1   desktop

/etc/host.conf

order hosts,bind
multi on

/etc/resolv.conf

# Generated by NetworkManager
search search servers obtained via DHCP
nameserver 192.168.0.3

/etc/nsswitch.conf

passwd:         compat
group:          compat
shadow:         compat

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Mas se é verdade, não é.

teste do usuário @ teste ~ > ping

PING localhost (127.0.0.1) 56(84) bytes of data.
[skip]

O ping está ok.

user @ test ~ > teste do host

test.mydomain.com has address xx.xxx.161.201

Eu suspeito que o NetworkManager possa causar esse mau comportamento, mas não sei onde começar a verificá-lo. Alguma idéia, sugestões?

    
por z4y4ts 12.03.2010 / 15:05

3 respostas

19

Com essa configuração, a maioria dos aplicativos ficará feliz em trabalhar com sua entrada de /etc/hosts .

No entanto, host não parece em /etc/nsswitch.conf . Isso é por design, não por acidente, pois host é especificamente um programa de pesquisa de DNS. /etc/hosts não é DNS, é (principalmente) o que usamos antes que tivemos DNS.

O mesmo também vale para dig e nslookup - também são específicos do DNS.

    
por 12.03.2010 / 15:57
15

O comando host (juntamente com dig e nslookup ) faz parte dos utilitários bind DNS. Como um utilitário de resolução de DNS, ele só faz a resolução de DNS.

Se você estiver interessado em buscar uma entrada em qualquer armazenamento de dados com libnss , poderá usar o programa getent . Para obter uma entrada de hosts, por exemplo, use-a assim:

getent hosts google.com

Isso segue a ordem de resolução definida em hosts: em /etc/nsswitch.conf na ordem, que inclui /etc/hosts se "arquivos" estiver entre as opções.

    
por 15.02.2012 / 00:05
0

Para mim, esse problema ocorreu devido a permissões de arquivo incorretas. Apenas o root poderia ler / etc / hosts. O arquivo deve ser legível por todos.

    
por 16.03.2015 / 23:15