Die Datei /etc/hosts
und der DNS arbeiten nicht zusammen. Sie bieten unabhängige Auflösungen von Namen (Netzwerknamen).
Der Kleber, der sie verbindet, befindet sich in /etc/nsswitch.conf
Linux-Systemen . In /etc/netsvc.conf
für AIX-Server, im System für Windows und könnte in MacOS-Systemen mit lookupd -configuration
(Suche nach LookupOrder, ähnlich wie :) aufgelistet Cache FF DNS NI DS
werden.
Die tatsächliche Reihenfolge wird komplex und normalerweise kompliziert, da jeder Namensauflösungsdienst in andere Auflösungsebenen schauen kann (und dies oft auch tut). Like dnsmasq
(ein leichter DNS-Server im Allgemeinen bei 127.0.0.1:53
oder ::1:53
(oder beides)) liest und enthält normalerweise den /etc/hosts
Dateiinhalt. Oder like systemd.resolver
(ein grundlegender Resolver, der nur nicht gepunktete Namen wie auflösen sollte mycomputer
) ruft mycomputer.here.dev.
unter bestimmten Bedingungen direkt DNS-Auflösungen für gepunktete Namen ( ) auf.
Im Allgemeinen werden Dienste der Reihe nach aufgerufen, und der erste, der nicht fehlschlägt, gewinnt und wird als korrekte Adresse akzeptiert. Die allgemeine Grundreihenfolge lautet: /etc/hosts
(Datei), mDNS (nicht gepunktete Namen), DNS, NIS, NIS +, LDAP. In einigen Linux-Systemen gibt es eine letzte Lösung für den Computer hostname
im Dienstmyhostname
Zum Beispiel in diesem System (von cat /etc/nsswitch
):
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
Beachten Sie, dass der sehr alte order
Eintrag (glibc 2.4 und früher) wie folgt festgelegt wurde/etc/host.conf
:
order hosts,bind,nis
Gilt nur für den Dateinamensdienst /etc/hosts
.
Die Auswirkungen auf diesen (Linux-) Client-Computer in Bezug auf NIS und LDAP werden (normalerweise) vom verwendeten DNS-Server (Binden, Ungebunden usw.) gesteuert.
so:
- Wenn ein Hostname in / etc / hosts aufgelöst werden kann, wird DNS nach / etc / hosts angewendet, um den Hostnamen aufzulösen, oder wird die aufgelöste IP-Adresse von / etc / hosts als "Hostname" behandelt, um sie rekursiv aufzulösen?
Keiner.
Wenn ein Hostname in aufgelöst werden kann /etc/hosts
, DNS
gilt dies nicht (wenn sich Dateien vor DNS befinden).
noch ist die aufgelöste IP - Adresse als „Host - Name“ behandelt.
Es ist einfach: die aufgelöste Adresse.
Browser
Ein Browser kann eine beliebige Methode verwenden, um einen Namen aufzulösen (nachdem er seinen Cache mit aufgelösten Namen überprüft hat). Nur wenn eine vom System bereitgestellte Methode verwendet wird, gilt die oben angegebene Reihenfolge. Der Browser kann wie jedes Programm jeden DNS-Server direkt kontaktieren.
Wenn das System hat , um /etc/hosts
vor DNS
, bedeutet dies , dass ein Eintrag in dieser Datei Vorrang nehmen DNS
Auflösung Service.
So:
- ... Bedeutet dies, dass / etc / hosts DNS zum Auflösen von Hostnamen überschreibt?
Ja (wenn der Browser die vom System bereitgestellte Auflösung verwendet).
Warum /etc/hosts
bewerben Sie sich nicht erneut, damit ich keine Verbindung zur Website herstellen kann?
Nur bis der interne Cache des Browsers für diesen bestimmten Namen gelöscht wird (oder eine Zeitüberschreitung auftritt), wird dieser Name erneut außerhalb des Browsers gesucht.
Wenn der Name des Browsers im Cache aufgelöst ist, verwendet der Browser ihn erneut.
Verwenden Sie diese Option, um den Cache zu leeren .
Oder schließen Sie einfach (warten Sie eine Weile) und starten Sie den Browser neu.
/etc/hosts
die lokal definierten Nameserver vollständig . Es ist ziemlich verwirrend, das erste Mal Zeuge zu werden. (Sieh dich an, Chromium-basierte Browser!)