Das Domain Name System (DNS) ist ein hierarchisches verteiltes Benennungssystem für Computer, Dienste oder andere Ressourcen, die mit dem Internet oder einem privaten Netzwerk verbunden sind. Es verknüpft verschiedene Informationen mit Domänennamen, die jeder der teilnehmenden Einheiten zugewiesen sind.
Am wichtigsten ist, dass es für Menschen bedeutungsvolle Domainnamen in numerische Kennungen übersetzt, die mit Netzwerkgeräten verbunden sind, um diese Geräte weltweit zu lokalisieren und zu adressieren.
Diese Anleitung hilft Ihnen beim Einrichten des DNS-Servers unter CentOS 7 / RHEL 7.
Umgebung
Servername: ns1itzgeek.local
IP-Adresse: 192.168.0.10
Installieren Sie DNS (BIND)
BIND steht für Berkeley Internet Name Domain, eine Software, die eine Umwandlung von Namen in IP-Adressen ermöglicht.
yum -y install bind bind-utils
DNS konfigurieren (BIND)
Standardmäßig lauscht BIND auf dem localhost. Also konfigurieren wir den DNS-Server so, dass er die IP-Adresse des Systems abhört, damit Clients den DNS-Server zum Auflösen von Domänennamen erreichen können.
vi /etc/named.conf
Alle IP-Adressen abhören:
Konfigurieren Sie BIND so, dass es auf allen IP-Adressen lauscht.
// listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; };
Bestimmte IP-Adresse abhören:
Konfigurieren Sie BIND so, dass es auf eine bestimmte IP-Adresse lauscht.
listen-on port 53 { 127.0.0.1; 192.168.0.10; };
Fügen Sie Ihr Netzwerk in der folgenden Zeile hinzu. Diese Einstellung ermöglicht es Clients aus dem genannten Netzwerk, den DNS nach der Übersetzung des Namens in die IP-Adresse abzufragen.
Ich habe 192.168.0.0/24 für diese Demo hinzugefügt.
allow-query { localhost; 192.168.0.0/24; };
Zonen erstellen
Bearbeiten Sie /etc/named.conf.
vi /etc/named.conf
Vorwärtszone
Die folgende Zone ist der Forward-Zoneneintrag für die Domain itzgeek.local.
zone "itzgeek.local" IN { type master; file "/var/named/itzgeek.local.db"; allow-update { none; }; };
itzgeek.local – Domänenname
Meister – Primärer DNS
fwd.itzgeek.local.db – Forward-Lookup-Datei
Aktualisierung zulassen – Da dies der primäre DNS ist, sollte es keiner sein
Gegenzone
Die folgende Zone ist der umgekehrte Zoneneintrag.
zone "0.168.192.in-addr.arpa" IN { type master; file "/var/named/192.168.0.db"; allow-update { none; }; };
0.168.192.in-addr.arpa – Reverse-Lookup-Name
Meister – Primärer DNS
192.168.0.db – Reverse-Lookup-Datei
Aktualisierung zulassen – Da dies das primäre DNS ist, sollte es keines sein
Zonendateien erstellen
Standardmäßig werden Zonen-Lookup-Dateien im Verzeichnis /var/named abgelegt. Erstellen Sie eine Zonendatei namens fwd.itzgeek.local.db für die Vorwärtssuche im Verzeichnis /var/named. Alle Domainnamen sollten mit einem Punkt (.) enden.
vi /var/named/itzgeek.local.db
Es gibt einige spezielle Schlüsselwörter für Zonendateien
A – Ein Datensatz
NS – Nameserver
MX – Mail für Exchange
CNAME – Kanonischer Name
@ IN SOA ns1.itzgeek.local. root.itzgeek.local. ( 1001 ;Serial 3H ;Refresh 15M ;Retry 1W ;Expire 1D ;Minimum TTL ) ;Name Server Information @ IN NS ns1.itzgeek.local. ;IP address of Name Server ns1 IN A 192.168.0.10 ;Mail exchanger itzgeek.local. IN MX 10 mail.itzgeek.local. ;A - Record HostName To IP Address www IN A 192.168.0.100 mail IN A 192.168.0.150 ;CNAME record ftp IN CNAME www.itgeek.local.Immer wenn Sie die Zonen-Lookup-Datei aktualisieren, müssen Sie die Seriennummer ändern/erhöhen, z. B. 1002;Serial.
Erstellen Sie eine Zonendatei mit dem Namen 192.168.0.db für die Reverse-Zone im Verzeichnis /var/named.
vi /var/named/192.168.0.db
Erstellen Sie einen Rückwärtszeiger für die zuvor erstellten Vorwärtszoneneinträge.
PTR – Zeiger
SOA – Beginn der Autorität
@ IN SOA ns1.itzgeek.local. root.itzgeek.local. ( 1001 ;Serial 3H ;Refresh 15M ;Retry 1W ;Expire 1D ;Minimum TTL ) ;Name Server Information @ IN NS ns1.itzgeek.local. ;Reverse lookup for Name Server 10 IN PTR ns1.itzgeek.local. ;PTR Record IP address to HostName 100 IN PTR www.itzgeek.local. 150 IN PTR mail.itzgeek.local.Immer wenn Sie die Zonen-Lookup-Datei aktualisieren, müssen Sie die Seriennummer ändern/erhöhen, z. B. 1002;Serial.
Nachdem die Zonendateien erstellt wurden, starten Sie den Bindungsdienst neu.
systemctl restart named
Aktivieren Sie es beim Systemstart.
systemctl enable named
Firewall
Fügen Sie eine Zulassungsregel in der Firewall hinzu, damit Clients eine Verbindung zum DNS-Server zur Namensauflösung herstellen können.
firewall-cmd --permanent --add-port=53/udp firewall-cmd --reload
Zonen überprüfen
Besuchen Sie einen beliebigen Client-Rechner und fügen Sie eine DNS-Server-IP-Adresse in /etc/resolv.conf hinzu.
nameserver 192.168.0.10
Wenn Network Manager das Netzwerk verwaltet, platzieren Sie den folgenden Eintrag in der Datei /etc/sysconfig/network-scripts/ifcfg-eXX.
DNS1=192.168.0.10
Netzwerkdienst neu starten.
systemctl restart NetworkManager
Verwenden Sie den folgenden Befehl, um die Vorwärtssuche zu überprüfen.
dig www.itzgeek.local
Ausgabe: Der DNS-Server sollte 192.168.0.100 als IP für www.itzgeek.local geben.
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> www.itzgeek.local ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35563 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.itzgeek.local. IN A ;; ANSWER SECTION: www.itzgeek.local. 86400 IN A 192.168.0.100 ;; AUTHORITY SECTION: itzgeek.local. 86400 IN NS primary.itzgeek.local. ;; ADDITIONAL SECTION: ns1.itzgeek.local. 86400 IN A 192.168.0.10 ;; Query time: 0 msec ;; SERVER: 192.168.0.10#53(192.168.0.10) ;; WHEN: Wed Jul 03 02:00:40 EDT 2019 ;; MSG SIZE rcvd: 100Installieren Sie die BIND-Dienstprogramme yum install -y bind-utils package, um den Befehl nslookup oder dig zu erhalten.
Bestätigen Sie die umgekehrte Suche.
dig -x 192.168.0.100
Ausgabe: Der DNS-Server gibt www.itzgeek.local als Namen für 192.168.0.100 an.
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> -x 192.168.0.100 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4807 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;100.0.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 100.0.168.192.in-addr.arpa. 86400 IN PTR www.itzgeek.local. ;; AUTHORITY SECTION: 0.168.192.in-addr.arpa. 86400 IN NS ns1.itzgeek.local. ;; ADDITIONAL SECTION: ns1.itzgeek.local. 86400 IN A 192.168.0.10 ;; Query time: 0 msec ;; SERVER: 192.168.0.10#53(192.168.0.10) ;; WHEN: Wed Jul 03 02:02:47 EDT 2019 ;; MSG SIZE rcvd: 124
Es wurde nun bestätigt, dass sowohl die Vorwärts- als auch die Rückwärtssuche einwandfrei funktionieren.
Schlussfolgerung
Das ist alles. Sie haben BIND erfolgreich auf CentOS 7 / RHEL 7 als Masterserver installiert. Sie können einen Slave-DNS-Server für Redundanz konfigurieren.