Hallo,
Es ist default, das zuerst die hosts abgefragt wird und dann erst DNS, bei Linux wie auch bei Windows.
unter Mac OS X scheint das nicht der Fall zu sein.
Das ist etwas komplizierter...
DNS Auflösung geschieht unter Mac OS X über das Generalnachschlagedingsbums lookupd. Und das kriegt seine Informationen aus verschiedenen Quellen. Man kann es ja mal ausprobieren:
$ lookupd -d
lookupd version 369.5 (root 2006.02.10 04:16:23 UTC)
Enter command name, "help", or "quit" to exit
hostWithName: localhost
Dictionary: "FF: host localhost"
_lookup_agent: FFAgent
_lookup_validation: /etc/hosts 2 1114809660
ip_address: 127.0.0.1
(Gekürzt)
hostWithName: selfhtml.org
Dictionary: "DNS: host selfhtml.org"
_lookup_DNS_domain: org
_lookup_DNS_server: 192.168.2.1
_lookup_DNS_time_to_live: 1800
_lookup_DNS_timestamp: 1145190543
_lookup_agent: DNSAgent
_lookup_info_system: DNS
interface: 5
ip_address: 213.198.84.179
name: selfhtml.org
(Gekürzt)
hostWithName: columbus
Dictionary: "NI: host columbus"
_lookup_agent: NIAgent
_lookup_validation: 0 41286
ip_address: 127.0.0.1
name: columbus
serves: ./local
(Gekürzt)
hostWithName: bla
nil
Wenn man all die hingepastete Information halbwegs überliest – und wer würde das nicht – dann läuft das im wesentlichen darauf aus, dass ich lookupd im interaktiven Modus befrage (hostWithName) und zwar nach drei Hostnames (localhost, selfhtml.org und columbus). Die entscheidene Information steckt in der Information „Dictionary“, nämlich wo lookupd nachfragt, wo die Information steckt:
• Den Host „localhost“ findet er unter „FF“, das für FlatFile steht, konkret ist das auch unter /etc/hosts eingetragen.
• Den Host „selfhtml.org“ findet er unter (DNS), lookupd ruft einen Agenten auf, der das DNS befragt.
• Den Host „columbus“ habe ich noch während des Befragens mittels NetInfo Manager in die lokale NetInfo Datenbank unter /machines eingetragen. Konsequenterweise findet er ihn unter „NI“, also genau dort.
• Der Host „bla“ ist nirgendwo definiert, wird also auch nirgendwo gefunden.
Die voreingestellte Ordnung, wo lookupd der Reihe nach den gewünschten Informationen nachgucken soll, sieht unter Mac OS X so aus:
$ lookupd -configuration
(Gekürzt)
LookupOrder: Cache FF DNS NI DS
_config_name: Host Configuration
Im wesentlichen: Erst im Cache, dann in Flatfiles, dann im DNS, dann in der NetInfo Datenbank, dann in den Directory Services wie z.B. LDAP. Für Hosts ist die Reihenfolge anders als in der globalen Konfiguration, deswegen habe ich das gekürzt.
Wie gesagt: Es ist etwas komplizierter.
Tim