web-dev-qa-db-fra.com

Les hôtes le fichier semble être ignoré

J'ai presque frais Ubuntu Desktop Box. OS a été installé il y a deux semaines et mis à jour des référentiels karmiques. La semaine dernière, je n'ai eu aucun problème avec DNS. Mais cette semaine, quelque chose avait changé. Je ne sais pas quoi et quand, et je ne sais pas si j'ai changé de configuration.

Alors maintenant, j'ai une situation vraiment étrange. Selon le nom des journaux, le nom de résolution doit fonctionner normalement.

/ 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

Mais si ce n'est pas le cas.

ser @ test ~> test de ping

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

Pinging est ok.

ser @ Test ~> Test d'hôte

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

Je soupçonne que NetworkManager pourrait causer cette mauvaise conduite, mais je ne sais pas où commencer à le vérifier. Des pensées, des suggestions?

18
z4y4ts

Avec cette configuration, la plupart des applications travailleront volontiers avec votre entrée de /etc/hosts.

Cependant Host ne regarde pas /etc/nsswitch.conf. C'est par conception, pas par accident, puisque Host est spécifiquement un programme de recherche DNS. /etc/hosts n'est pas DNS, c'est (principalement) ce que nous avons utilisé avant Nous avions DNS.

La même chose est également vraie pour Dig et nslookup - ils sont également spécifiques à DNS.

20
Alnitak

La commande Host (avec Dig et nslookup) fait partie des utilitaires bind DNS. En tant qu'utilisation de résolution DNS, la résolution DNS est-elle seule.

Si vous souhaitez rechercher une entrée de n'importe quel magasin de données libnss, vous pouvez utiliser le programme getent. Pour obtenir une entrée d'hôtes, par exemple, utilisez-la comme ceci:

getent hosts google.com

Cela suit l'ordre de résolution défini sous hosts: dans /etc/nsswitch.conf Dans l'ordre, qui comprend /etc/hosts Si "Files" est lisée comme l'une des options.

15
tylerl

Pour moi, cette question est survenue en raison d'autorisations de fichiers incorrectes. Seule la racine pourrait lire/etc/hosts. Le fichier doit être lisible dans le monde entier.

0
user152253