Die Datei /etc/hostsund der DNS arbeiten nicht zusammen. Sie bieten unabhängige Auflösungen von Namen (Netzwerknamen).
Der Kleber, der sie verbindet, befindet sich in /etc/nsswitch.confLinux-Systemen . In /etc/netsvc.conffü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 DSwerden.
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:53oder ::1:53(oder beides)) liest und enthält normalerweise den /etc/hostsDateiinhalt. 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 hostnameim Dienstmyhostname
Zum Beispiel in diesem System (von cat /etc/nsswitch):
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
Beachten Sie, dass der sehr alte orderEintrag (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, DNSgilt 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/hostsvor DNS, bedeutet dies , dass ein Eintrag in dieser Datei Vorrang nehmen DNSAuflö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/hostsbewerben 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/hostsdie lokal definierten Nameserver vollständig . Es ist ziemlich verwirrend, das erste Mal Zeuge zu werden. (Sieh dich an, Chromium-basierte Browser!)