Überarbeitete Antwort:
Der Host selbst verarbeitet den tatsächlichen FQDN nicht. Das erledigt der DNS . FQDN (Fully Qualified Domain Name) wird von DNS verarbeitet, das Namen in IP-Adressen übersetzt. Mit der /etc/hosts
Datei überschreiben Sie im Wesentlichen den DNS-Server. Der Computer überprüft zuerst die /etc/hosts
Datei, um festzustellen, ob ein Eintrag für einen Hostnamen in eine IP-Adresse definiert ist. Die Einträge in sehen /etc/hosts
folgendermaßen aus:
127.0.0.1 localhost
127.0.1.1 terrance-ubuntu.local terrance-ubuntu
Diese Einträge sind nicht distro-spezifisch. Alle Betriebssysteme verwenden für diese Zeilen dasselbe Format. Nur der Speicherort der hosts
Datei ändert sich. Linux befindet sich normalerweise im /etc/
Ordner, während es sich in Windows normalerweise im C:\Windows\System32\drivers\etc\
Ordner befindet.
Wenn Sie diese Zeile unterbrechen, können Sie sehen, dass ich beide zuweise terrance-ubuntu.local
, nämlich meinen vollqualifizierten Domänennamen selbst, um DNS zu überschreiben, damit Anwendungen wissen, dass sie meinen Computer nicht verlassen, und terrance-ubuntu
, was der Hostname ist, erneut, damit Anwendungen wissen, dass sie meinen Computer nicht verlassen oder 127.0.0.1 ( localhost ). Das Zuweisen meines Hostnamens zu meinem System 127.0.1.1
hat keine Auswirkungen auf die übrigen Computer, die meinen Host im Netzwerk finden. Wenn DNS ordnungsgemäß funktioniert, wird mein Hostname als angezeigt 10.0.0.100
. Der Grund für die Verwendung 127.0.1.1
besteht darin, dass meine Anwendungen mein System schneller finden, da sie wissen, dass mein System nicht irgendwo anders in meinem Netzwerk verfügbar ist. Mein tatsächlicher Hostname mit dem .local
FQDN, dem.local
ist eigentlich meine Domain, die ich über meinen Router einrichte, der auch ein anderer DNS-Server in meinem Netzwerk ist.
Angenommen, die DNS-Dienste im lokalen Netzwerk weisen IP-Adressen keine Hostnamen oder FQDNs zu, Sie wissen jedoch, wie die IP-Adresse des Hosts im lokalen Netzwerk lautet. Sie würden diesen Host dann in Ihrer /etc/hosts
Datei zuweisen, sodass Sie nicht jedes Mal die IP-Adresse des Hosts eingeben müssen, wenn Sie darauf zugreifen möchten. Der Host kann ein Tool-Server, ein Drucker oder ein anderes mit dem Netzwerk verbundenes System sein. Fügen Sie den Eintrag wie gewohnt zur /etc/hosts
Datei hinzu.
Ich werde zum Beispiel meinen mit dem Netzwerk verbundenen Drucker verwenden. Es hat eine statische IP von 10.0.0.253. Ich kenne den Namen allerdings nicht. Dafür möchte ich es nennen hp_printer
. Ich werde die IP und den Hostnamen dafür anpingen und dann hinzufügen /etc/hosts
.
terrance@terrance-ubuntu:~$ ping -c 2 10.0.0.253
PING 10.0.0.253 (10.0.0.253) 56(84) bytes of data.
64 bytes from 10.0.0.253: icmp_seq=1 ttl=255 time=0.326 ms
64 bytes from 10.0.0.253: icmp_seq=2 ttl=255 time=0.334 ms
terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
ping: unknown host hp_printer
terrance@terrance-ubuntu:~$ sudo vi /etc/hosts
10.0.0.253 hp_printer.local hp_printer
terrance@terrance-ubuntu:~$ ping -c 2 hp_printer
PING hp_printer.local (10.0.0.253) 56(84) bytes of data.
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=1 ttl=255 time=0.334 ms
64 bytes from hp_printer.local (10.0.0.253): icmp_seq=2 ttl=255 time=0.303 ms
Jetzt kann ich auch auf die Webseite für mein Drucker-Setup unter dem von mir angegebenen Namen anstelle der IP-Adresse zugreifen, die möglicherweise leichter zu merken ist:
Ihre Datei /etc/resolv.conf wird auch von DNS verwendet, um Hostnamen zu finden. Dies ist die Konfigurationsdatei für den Resolver. Es bietet die Suchdomäne, sodass Sie Ihren FQDN nicht immer angeben müssen, wenn Sie nach einem Host suchen. Es liefert auch die IP-Adresse für den DNS oder Nameserver Ihres lokalen Netzwerks. Die folgende search
Zeile zeigt den Namen, local
der mein Domainname ist.
terrance@terrance-ubuntu:~$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.0.0.1
search local
Hoffentlich hilft dies dabei, die Funktionsweise von DNS und FQDNs besser zu verstehen.