J'ai une boîte de bureau Ubuntu presque fraîche. Le système d'exploitation a été installé il y a deux semaines et mis à jour à partir 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é les configurations.
Alors maintenant, j'ai une situation vraiment bizarre. Selon les journaux, la résolution des noms devrait 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.
user @ test ~> test ping
PING localhost (127.0.0.1) 56(84) bytes of data.
[skip]
Le ping est ok.
user @ test ~> test hôte
test.mydomain.com has address xx.xxx.161.201
Je soupçonne que NetworkManager pourrait provoquer ce mauvais comportement, mais je ne sais pas par où commencer pour le vérifier. Des pensées, des suggestions?
la source
host
utilitaire n'utilise pas/etc/hosts
? Et il n'y a rien à corriger dans mon cas?host
> était <la commande "régulière" d'interrogation des noms, obéissant/etc/nsswitch.conf
host
ait jamais faitLa
host
commande (avecdig
etnslookup
) fait partie desbind
utilitaires DNS. En tant qu'utilitaire de résolution DNS, il effectue uniquement la résolution DNS.Si vous souhaitez récupérer une entrée dans n'importe
libnss
quel magasin de données piloté, vous pouvez utiliser legetent
programme. Pour obtenir une entrée d'hôtes, par exemple, utilisez-la comme ceci:Cela suit l'ordre de résolution défini sous
hosts:
dans l'/etc/nsswitch.conf
ordre, qui inclut/etc/hosts
si "fichiers" est lisé comme l'une des options.la source
getent
commande.getent ahosts
plutôt quegetent hosts
parce que lesgetent hosts
usagesgethostbyaddr()
ougethostbyname*()
qui sont obsolètes. Si j'ai bien compris,getent hosts
émule l'ancien fonctionnement des programmes UNIX C etgetent ahosts
émule le fonctionnement des programmes moderm.Pour moi, ce problème s'est produit en raison d'autorisations de fichier incorrectes. Seul root pouvait lire / etc / hosts. Le fichier doit être lisible dans le monde entier.
la source