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?
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.
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.
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.