DNS (Domain Name System or Service) ist ein hierarchisches dezentrales Benennungssystem / -dienst, das Domänennamen in IP-Adressen im Internet oder in einem privaten Netzwerk übersetzt Ein Server, der einen solchen Dienst bereitstellt, wird als DNS-Server bezeichnet.
In diesem Artikel wird erläutert, wie Sie ein lokales DNS mithilfe der Hosts-Datei (/ etc/hosts) in Linux-Systemen für die lokale Domänenauflösung einrichten oder die Website testen, bevor Sie live gehen.
Sie können beispielsweise 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 Domainname auf die IP-Adresse des lokalen DNS-Servers verweist, den Sie konfiguriert haben.
Die Datei /etc/hosts ist eine Betriebssystemdatei, die Hostnamen oder Domänennamen in IP-Adressen übersetzt. Dies ist nützlich, um Änderungen an Websites oder das SSL-Setup 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 folgenden Domänen-, Hostnamen und IP-Adressen (verwenden Sie Werte, die für Ihre lokale Einstellung gelten).
Domain: tecmint.lanHost 1: ubuntu.tecmint.lan 192.168.56.1Host 2: centos.tecmint.lan 192.168.56.10
Name Service Switch in Linux verstehen
Bevor Sie fortfahren, sollten Sie ein paar Dinge über eine andere wichtige Datei verstehen, die /etc/nsswitch ist.conf. Es bietet eine Namensdienst-Switch-Funktionalität, die die Reihenfolge steuert, in der Dienste für Namensdienst-Lookups 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 Namensdienstanforderungen überprüft wird. Wenn DNS jedoch vor Dateien steht, konsultiert der Domain-Lookup-Prozess DNS zuerst vor anderen geeigneten Diensten oder Dateien.
In diesem Szenario möchten wir den Dienst „Dateien“ abfragen. Um die Bestellung zu überprüfen, geben Sie ein.
$ cat /etc/nsswitch.confOR$ grep hosts /etc/nsswitch.conf
DNS lokal mit der Datei /etc/hosts unter Linux konfigurieren
Ö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.lan192.168.56.10 centos.tecmint.lan
Testen Sie als nächstes, ob alles wie erwartet funktioniert, und verwenden Sie den Befehl ping von Host 1. Sie können Host 2 damit anpingen Domain-Name wie so.
$ ping -c 4 centos.tecmint.lan OR$ ping -c 4 centos
Auf dem Host 2 haben wir Apache HTTP Server eingerichtet. Wir können also auch testen, ob der Namensübersetzungsdienst wie folgt funktioniert, indem wir zu URL http://centos.tecmint.lan .
Wichtig: Um die Domänennamen auf einem beliebigen Host im Netzwerk zu verwenden, müssen Sie die obigen Einstellungen in der Datei /etc/hosts konfigurieren.Im obigen Beispiel haben wir nur die Hosts-Datei von Host 1 konfiguriert und können nur die Domänennamen darauf verwenden. Um dieselben Namen auf Host 2 zu verwenden, müssen wir die Adressen und Namen auch zur Hosts-Datei hinzufügen.
Schließlich sollten Sie den Befehl host oder den Befehl nslookup verwenden, um zu testen, ob der Namensübersetzungsdienst tatsächlich funktioniert. Diese Befehle fragen nur DNS ab und übersehen alle Konfigurationen in /etc/hosts und /etc/nsswitch.conf-Dateien.
Vielleicht möchten Sie auch die folgenden verwandten Artikel lesen.
- DNS-Server nur für Caching in RHEL/CentOS 7 installieren und konfigurieren
- einen einfachen rekursiven DNS-Caching-Server einrichten und Zonen für die Domäne konfigurieren
- 8 Linux-Nslookup-Befehle zur Fehlerbehebung bei DNS (Domain Name Server)
- Nützliche ‚host‘-Befehlsbeispiele zum Abfragen von DNS-Lookups