Ich verwende Ubuntu 10.04.2 LTS Desktop. Als Webentwickler habe ich natürlich ein "me.com" in meiner /etc/hosts
Datei erstellt. Leider wird meine Namensauflösung vor der ersten Überprüfung meines lokalen Hosteintrags an den DNS gesendet, und ich kann nicht herausfinden, warum.
Das Endergebnis ist, dass, wenn meine /etc/resolv.conf nameserver 127.0.0.1
zuerst darin enthalten ist, ich innerhalb von weniger als einer Sekunde eine Antwort von me.com (local) in meinem Webbrowser erhalte. Aber wenn ich diesen Eintrag nicht habe, dauert meine Antwort manchmal bis zu 5 Sekunden, wenn mein ISP etwas langsam ist.
Das Problem war so lästig, dass ich hier tatsächlich eine Frage stellen musste (und jemand hat sie gelöst), wie dieser Eintrag automatisch eingefügt werden kann /etc/resolv.conf
. Aber einer der User (@shellholic) hat mir hier dringend empfohlen (und mit mir darüber hin und her kommentiert), dass ich diese Frage stellen soll.
Wissen Sie, warum die Namensauflösung meiner Workstation zuerst den DNS-Server erreichen muss, bevor ich meinen /etc/hosts
Dateieintrag erhalte? Im Moment verwende ich den Trick resolv.conf .
cat /etc/nsswitch.conf
und geben cat /etc/host.conf
? Außerdem: Wie testen Sie dies (durch Ping, Browser, Packet Sniffing usw.)?
time getent hosts me.com; hostname --fqdn; grep 'me.com' /etc/hosts; grep hosts /etc/nsswitch.conf; netstat -uln | grep ':53'; cat /etc/host.conf; wc -l /etc/hosts
. Zögern Sie nicht, die Rationalität zu verschleiern.
/etc/nsswitch.conf
. Die Einträge in meinem System sind ein wenig nicht offensichtlich, aber Sie können Lookups nurfiles
als Option testen und sehen, ob dies einen Unterschied macht.