So richten Sie lokales DNS mit der Datei /etc/hosts unter Linux ein
DNS (Domain Name System or Service) ist ein hierarchisches dezentrales Namenssystem/-dienst, der Domainnamen in IP-Adressen im Internet oder in einem privaten Netzwerk übersetzt, und ein Server, der einen solchen Dienst bereitstellt, wird als DNS-Server bezeichnet.
In diesem Artikel wird erklärt, wie Sie ein lokales DNS mit der hosts-Datei (/etc/hosts) in Linux-Systemen für die lokale Domain-Auflösung einrichten oder die Website testen, bevor Sie live gehen.
Sie können z. B. eine Website lokal mit einem benutzerdefinierten Domainnamen testen, bevor Sie öffentlich live gehen, indem Sie die Datei /etc/hosts auf Ihrem lokalen System so ändern, dass der Domänenname auf die IP-Adresse des von Ihnen konfigurierten lokalen DNS-Servers verweist.
/etc/hosts ist eine Betriebssystemdatei, die Hostnamen oder Domänennamen in IP-Adressen übersetzt. Dies ist nützlich, um Änderungen an Websites oder die SSL-Einrichtung zu testen, bevor eine Website öffentlich live geschaltet wird.
Achtung: Diese Methode funktioniert nur, wenn die Hosts eine statische IP-Adresse haben. Stellen Sie daher sicher, dass Sie statische IP-Adressen für Ihre Linux-Hosts oder -Knoten festgelegt haben, auf denen andere Betriebssysteme ausgeführt werden.
Für die Zwecke dieses Artikels verwenden wir die folgende Domain, Hostnamen und IP-Adressen (verwenden Sie Werte, die für Ihre lokale Einstellung gelten).
Domain: tecmint.lan
Host 1: ubuntu.tecmint.lan 192.168.56.1
Host 2: centos.tecmint.lan 192.168.56.10
Grundlegendes zum Name-Service-Switch in Linux
Bevor Sie fortfahren, sollten Sie einige Dinge über eine andere wichtige Datei verstehen, nämlich /etc/nsswitch.conf. Sie bietet die Name-Service-Switch-Funktionalität, die die Reihenfolge steuert, in der Dienste für Name-Service-Suchen abgefragt werden.
Die Konfiguration basiert auf der Reihenfolge; Wenn files vor DNS steht, bedeutet dies, dass das System die Datei /etc/hosts abfragt, bevor DNS auf Name-Service-Anfragen überprüft wird. Wenn DNS jedoch vor Dateien steht, wird der Domain-Lookup-Prozess zuerst DNS konsultieren, bevor andere geeignete Dienste oder Dateien verwendet werden.
In diesem Szenario möchten wir den Dienst "files" abfragen. Um die Reihenfolge zu überprüfen, geben Sie ein.
$ cat /etc/nsswitch.conf
OR
grep hosts /etc/nsswitch.conf
Konfigurieren Sie DNS lokal mit der Datei /etc/hosts unter Linux
Öffnen Sie nun die Datei /etc/hosts mit dem Editor Ihrer Wahl wie folgt
$ sudo vi /etc/hosts
Fügen Sie dann die folgenden Zeilen am Ende der Datei hinzu, wie im Screenshot unten gezeigt.
192.168.56.1 ubuntu.tecmint.lan
192.168.56.10 centos.tecmint.lan
Testen Sie als nächstes, ob alles wie erwartet gut funktioniert, indem Sie den Ping-Befehl von Host 1 verwenden, Sie können Host 2 mit seinem Domänennamen wie folgt anpingen.
$ ping -c 4 centos.tecmint.lan
OR
ping -c 4 centos
Auf Host 2 haben wir den Apache HTTP-Server eingerichtet. Wir können also auch wie folgt testen, ob der Namensübersetzungsdienst funktioniert, indem wir zu URL-http://centos.tecmint.lan gehen.
Wichtig: Um die Domainnamen auf einem beliebigen Host im Netzwerk zu verwenden, müssen Sie die oben genannten Einstellungen in der Datei /etc/hosts konfigurieren.
Was bedeutet das, im obigen Beispiel haben wir nur die Hosts-Datei von Host 1 konfiguriert und können nur die Domainnamen darauf verwenden. Um dieselben Namen auf Host 2 zu verwenden, müssen wir die Adressen und Namen auch zur Hosts-Datei hinzufügen.
Zuletzt sollten Sie den Befehl host oder nslookup verwenden, um zu testen, ob der Namensübersetzungsdienst tatsächlich funktioniert. Diese Befehle fragen nur DNS ab und übersehen alle Konfigurationen in den Dateien /etc/hosts und /etc/nsswitch.conf.
Vielleicht möchten Sie auch die folgenden verwandten Artikel lesen.
- Installieren und Konfigurieren des Nur-Caching-DNS-Servers in RHEL/CentOS 7
- Richten Sie einen grundlegenden DNS-Server für rekursives Caching ein und konfigurieren Sie Zonen für die Domäne
- 8 Linux-nslookup-Befehle zur Fehlerbehebung bei DNS (Domain Name Server)
- Nützliche Beispiele für 'host'-Befehle für die Abfrage von DNS-Lookups
Das wars! Teilen Sie uns weitere Gedanken oder Fragen zu diesem Thema über den Kommentarbereich unten mit.


