Ich habe fast frische Ubuntu-Desktop-Box. Das Betriebssystem wurde vor zwei Wochen installiert und von karmischen Repositories aktualisiert. Letzte Woche hatte ich keine Probleme mit DNS. Aber diese Woche hatte sich etwas geändert. Ich bin nicht sicher, was und wann und nicht sicher, ob ich irgendwelche Configs geändert habe.
Jetzt habe ich eine wirklich seltsame Situation. Laut Protokollen sollte die Namensauflösung normal funktionieren.
/ 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
Aber wenn es so ist, dann nicht.
user @ test ~> ping test
PING localhost (127.0.0.1) 56(84) bytes of data.
[skip]
Ping ist in Ordnung.
user @ test ~> host test
test.mydomain.com has address xx.xxx.161.201
Ich vermute, dass NetworkManager dieses Fehlverhalten verursacht, weiß aber nicht, wo ich anfangen soll, es zu überprüfen. Irgendwelche Gedanken, Vorschläge?
quelle
host
Dienstprogramm wird nicht verwendet/etc/hosts
? Und in meinem Fall gibt es nichts zu reparieren?host
> früher <der "normale" Befehl zur/etc/nsswitch.conf
host
jemals erbracht wurdenDer
host
Befehl (zusammen mitdig
undnslookup
) ist Teil derbind
DNS-Dienstprogramme. Als DNS-Auflösungsdienstprogramm wird nur die DNS-Auflösung ausgeführt.Wenn Sie einen Eintrag aus einem beliebigen
libnss
Datenspeicher abrufen möchten, können Sie dasgetent
Programm verwenden. Um einen Hosts-Eintrag zu erhalten, verwenden Sie ihn beispielsweise folgendermaßen:Dies folgt der Auflösung Reihenfolge unter festgelegten
hosts:
in/etc/nsswitch.conf
um, die beinhaltet ,/etc/hosts
wenn „Dateien“ als eine der Optionen lisiert wird.quelle
getent
Befehl erinnert haben .getent ahosts
anstattgetent hosts
weilgetent hosts
verwendetgethostbyaddr()
odergethostbyname*()
die veraltet sind. Wenn ich es richtig verstanden habe,getent hosts
emuliert es, wie alte UNIX C-Programme funktionierten, undgetent ahosts
emuliert, wie Moderm-Programme funktionieren sollten.Bei mir trat dieses Problem aufgrund falscher Dateiberechtigungen auf. Nur root konnte / etc / hosts lesen. Die Datei sollte weltweit lesbar sein.
quelle