![So ändern Sie die Videowiedergabeeinstellungen, um das Internet in Windows 11 zu sparen](/f/d1532f2ffe00885b1296bc130ec7ff35.jpg?width=100&height=100)
Domänennamenserver (DNS) wird für die Namensauflösung zu beliebigen Hosts verwendet. Master-DNS-Server (Primärserver) sind die ursprünglichen Zonendatenhandler und der Slave-DNS-Server (Sekundärserver) sind nur Backup-Server, die verwendet werden, um dieselben Zoneninformationen von den Master-Servern zu kopieren. Der Master Server wird die Namen für alle Hosts auflösen, die wir in der Zonendatenbank definiert haben und verwenden UDP-Protokoll, da UDP-Protokolle niemals den Bestätigungsprozess verwenden, während tcp verwendet Wissen. DNS-Server verwenden auch UDP-Protokolle, um die Abfrageanfrage frühestens aufzulösen.
Das Verständnis von DNS kann für Neulinge wenig verwirrend sein. Hier ist eine kurze Erklärung, wie das DNS funktioniert.
Nehmen wir an, wenn wir auf eine Website zugreifen müssen, was werden wir tun? Schreib einfach www.google.com im Browser und drücken Sie die Eingabetaste. Hmm, das ist alles, was wir wissen, aber Tatsache ist, wie schmerzhaft DNS es durchläuft, während es nach uns fragt. Während wir www.google.com eingeben, sucht das System nach www.google.com. Immer wenn wir einen Domainnamen eingeben, gibt es ein
. (Punkt) am Ende von www.google.com, die besagen, den Root-Server des Namespace zu durchsuchen.Weltweit gibt es 13 Root-Server zur Verfügung, um die Anfrage zu lösen. Während wir zuerst die Eingabetaste als www.google.com drücken, leitet unser Browser eine Anfrage an unseren lokalen Resolver weiter, der einen Eintrag über unsere Master- und Slave-DNS-Serverinformationen enthält. Wenn sie keine Informationen zu einer solchen angeforderten Anfrage haben, leiten sie die Anfrage an die Top-Level-Domain (TLD), wenn TLD sagt, dass ich die Anfrage nicht kenne, kann der autoritative Server Ihre Anfrage kennen, sie wird an autoritative Server weitergeleitet, hier wurde nur www.google.com als Adresse 72.36.15.56 definiert.
In der Zwischenzeit wird der autoritative Server die Antwort auf die TLD geben und die TLD wird an den Root-Server übergeben und Root liefert die Informationen an den Browser, sodass der Browser die DNS-Anfrage für die zukünftige Verwendung zwischenspeichert. Somit werden diese langen Prozesse nur innerhalb von Millisekunden aufgelöst. Wenn sie die Anfrage nicht kennen, antworten sie als NXDOMAIN. Das heißt, es wurde kein Eintrag in der Zonendatenbank gefunden. Ich hoffe, dass Sie dadurch verstehen, wie das DNS funktioniert.
Lesen Sie auch: DNS-Cache-Server in Ubuntu einrichten
Für diesen Artikel verwende ich 3 Maschinen, 2 für die Servereinrichtung (Master und Slave) und 1 für den Client.
Master-DNS-Server IP-Adresse: 192.168.0.200. Hostname: masterdns.tecmintlocal.com. Betriebssystem: Centos 6.5 Finale.
Slave-DNS-Server IP-Adresse: 192.168.0.201. Hostname: slavedns.tecmintlocal.com. Betriebssystem: Centos 6.5 Finale.
Client-Rechner zur Verwendung von DNS IP-Adresse: 192.168.0.210. Hostname: node1.tecmintlocal.com. Betriebssystem: Centos 6.5 Finale.
bind, bind-utils, bind-chroot.
Konfigurationsdatei: /etc/named.conf. Skriptdatei: /etc/init.d/named.
53, UDP
Überprüfen Sie zunächst die IP-Adresse, den Hostnamen und die Verteilungsversion des Master-DNS-Servers, bevor Sie mit der Einrichtung fortfahren.
$ sudo ifconfig | grep inet. $-Hostname. $ cat /etc/redhat-release.
Sobald Sie bestätigen, dass die obigen Einstellungen korrekt sind, können Sie mit der Installation der erforderlichen Pakete fortfahren.
$ sudo yum install bind* -y.
Definieren Sie nach der Installation der erforderlichen Pakete nun Zonendateien in der Master-Konfiguration.named.conf' Datei.
$ sudo vim /etc/named.conf.
Unten angegeben ist mein named.conf Dateieintrag, ändern Sie die Konfigurationsdatei nach Bedarf.
// // named.conf. // // Wird vom Red Hat bind-Paket bereitgestellt, um das ISC BIND mit dem Namen (8) DNS zu konfigurieren. // Server nur als Caching-Nameserver (nur als Localhost-DNS-Resolver). // // Siehe /usr/share/doc/bind*/sample/ für zum Beispiel benannte Konfigurationsdateien. // Optionen { Abhör-Port 53 {127.0.0.1; 192.168.0.200; }; # Hier müssen wir unsere Master-DNS-Server-IP hinzufügen. Abhören-auf-v6-Port 53 { ::1; }; Verzeichnis "/var/named"; Dump-Datei "/var/named/data/cache_dump.db"; Statistikdatei "/var/named/data/named_stats.txt"; memstatistics-Datei "/var/named/data/named_mem_stats.txt"; Allow-Query { localhost; 192.168.0.0/24; }; # Subnetzbereich, in dem meine Hosts unser DNS abfragen dürfen. erlauben-übertragen { localhost; 192.168.0.201; }; # Hier benötigen wir die IP unseres Slave-DNS-Servers. Rekursion nein; DNS-Aktivierung ja; DNSsec-Validierung ja; DNSsec-Lookaside-Auto; /* Pfad zum ISC DLV-Schlüssel */ bindkeys-file "/etc/named.iscdlv.key"; Managed-Keys-Verzeichnis "/var/named/dynamic"; }; Protokollierung { Kanal default_debug { Datei "data/named.run"; Schweregrad dynamisch; }; }; Zone "." IN { Hinweis eingeben; Datei "named.ca"; }; ## Definieren Sie hier unsere Forward & Reverse Zone-Datei für tecmintlocal.com. Zone"tecmintlocal.com" IN { Typ Master; Datei "tecmintlocal.fwd.zone"; erlauben-aktualisieren { keine; }; }; Zone"0.168.192.in-adr.arpa" IN { Typ Master; Datei "tecmintlocal.rev.zone"; erlauben-aktualisieren { keine; }; }; ##### include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
Im Folgenden finden Sie die Erklärung jeder Konfiguration, die wir in der obigen Datei verwendet haben.
Lassen Sie uns zunächst einen Forward-Lookup-Zoneneintrag definieren. Hier müssen wir die Zonendateien mit dem Namen erstellen, den wir in der definiert haben named.conf Datei wie unten.
tecmintlocal.fwd.zone. tecmintlocal.rev.zone.
Wir verwenden Beispielkonfigurationsdateien zum Erstellen von Forward-Zonen-Dateien, dazu müssen wir die Beispielkonfigurationsdateien kopieren.
$ sudo cp /var/named/named.localhost /var/named/tecmintlocal.fwd.zone. $ sudo cp /var/named/named.loopback /var/named/tecmintlocal.rev.zone.
Nachdem Sie Konfigurationsdateien kopiert haben, bearbeiten Sie diese Zonendateien jetzt mit vim Editor.
$ sudo vim /var/named/tecmintlocal.fwd.zone.
Bevor Sie unsere Hostinformationen in der Forward-Zonendatei definieren, werfen Sie zunächst einen kurzen Blick auf die Beispielzonendatei.
Dies ist meine Forward-Zone-Konfiguration, fügen Sie den folgenden Eintrag an und nehmen Sie Änderungen nach Ihren Bedürfnissen vor.
$TTL 86400. @ IN SOA masterdns.tecmintlocal.com. root.tecmintlocal.com. ( 2014090401; Serie 3600; 1800 auffrischen; 604800 erneut versuchen; verfallen 86400 ); Minimum; @ IN NS masterdns.tecmintlocal.com des Nameservers. @ IN NS slavedns.tecmintlocal.com.; Nameserver-Hostname in IP-Auflösung auflösen. @ IN A 192.168.0.200. @ IN A 192.168.0.201; Hosts in dieser Domäne @ IN A 192.168.0.210. @ IN A 192.168.0.220. masterdns IN A 192.168.0.200. slavedns IN A 192.168.0.201. Knoten1 IN A 192.168.0.210. rhel1 IN A 192.168.0.220.
Speichern und beenden Sie die Datei mit wq!. Nach der Bearbeitung der Vorwärtssuche sieht sie wie folgt aus: Use TAB um ein anständiges Format in der Zonendatei zu erhalten.
Erstellen Sie nun eine Reverse-Lookup-Datei, wir haben bereits eine Kopie der Loopback-Datei im Namen von. erstellt tecmintlocal.rev.zone. Wir verwenden diese Datei also, um unser Reverse-Lookup zu konfigurieren.
$ sudo vim /var/named/tecmintlocal.rev.zone.
Bevor Sie unsere Host-Informationen in einer Reverse-Zone-Datei definieren, werfen Sie einen kurzen Blick auf die Beispiel-Reverse-Lookup-Datei, wie unten gezeigt.
Dies ist meine Reverse-Zone-Konfiguration, fügen Sie den folgenden Eintrag an und nehmen Sie nach Bedarf Änderungen vor.
$TTL 86400. @ IN SOA masterdns.tecmintlocal.com. root.tecmintlocal.com. ( 2014090402; Serie 3600; 1800 auffrischen; 604800 erneut versuchen; verfallen 86400 ); Minimum; @ IN NS masterdns.tecmintlocal.com des Nameservers. @ IN NS slavedns.tecmintlocal.com. @ IN PTR tecmintlocal.com.; Nameserver-Hostname in IP-Auflösung auflösen. masterdns IN A 192.168.0.200. slavedns IN A 192.168.0.201 ;Hosts in der Domäne node1 IN A 192.168.0.210. rhel IN A 192.168.0.220. 200 IN PTR masterdns.tecmintlocal.com. 201 IN PTR slavedns.tecmintlocal.com. 210 IN PTR node1.tecmintlocal.com. 220 IN PTR rhel1.tecmintlocal.com.
Speichern und beenden Sie die Datei mit wq!. Nach der Bearbeitung der umgekehrten Suche sieht sie wie folgt aus: Verwenden TAB um ein anständiges Format in der Zonendatei zu erhalten.
Überprüfen Sie den Gruppenbesitz von Forward-Lookup- und Reverse-Lookup-Dateien, bevor Sie nach Konfigurationsfehlern suchen.
$ sudo ls -l /var/named/
Hier können wir sehen, dass beide Dateien in sind Wurzel Eigentum der Benutzer, da Dateien, die wir aus Beispieldateien kopieren, verfügbar sind unter /var/named/. Ändern Sie die Gruppe in beiden Dateien mit den folgenden Befehlen in den Namen.
$ sudo chgrp namens /var/named/tecmintlocal.fwd.zone. $ sudo chgrp namens /var/named/tecmintlocal.rev.zone.
Nachdem Sie die richtigen Eigentümer für die Dateien festgelegt haben, überprüfen Sie sie erneut.
$ sudo ls -l /var/named/
Überprüfen Sie nun die Fehler in den Zonendateien, bevor Sie den DNS-Dienst starten. Überprüfen Sie zuerst die named.conf Datei und überprüfen Sie dann andere Zonendateien.
$ sudo named-checkconf /etc/named.conf. $ sudo named-checkzone masterdns.tecminlocal.com /var/named/tecmintlocal.fwd.zone. $ sudo named-checkzone masterdns.tecminlocal.com /var/named/tecmintlocal.rev.zone.
Standardmäßig lief iptables und unser DNS-Server ist auf localhost beschränkt, wenn der Client den Namen von auflösen möchte unserem DNS-Server, dann müssen wir die eingehende Anfrage zulassen, dafür müssen wir die eingehende iptables-Regel für den Port hinzufügen 53.
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEU -j ACCEPT.
Überprüfen Sie nun, ob die Regeln korrekt in hinzugefügt wurden EINGANG Kette.
$ sudo iptables -L EINGABE.
Speichern Sie als Nächstes die Regeln und starten Sie die Firewall neu.
$ sudo service iptables speichern. $ sudo service iptables neu starten.
Starten Sie den benannten Dienst und machen Sie ihn persistent.
$ sudo-Dienst namens start. $ sudo chkconfig benannt auf. $ sudo chkconfig --list benannt.
Testen Sie abschließend die konfigurierten Master-DNS-Zonendateien (vorwärts und rückwärts) mit graben & nslookup Werkzeuge.
$ dig masterdns.tecmintlocal.com [Forward Zone]
$ dig -x 192.168.0.200.
$nslookuptecmintlocal.com. $ nslookup masterdns.tecmintlocal.com. $ nslookup slavedns.tecmintlocal.com.
Cool! wir haben konfiguriert a Master-DNS, jetzt müssen wir a einrichten Slave-DNS Server. Lassen Sie uns mit der Einrichtung eines Slave-Servers fortfahren. Dies wird als Master-Einrichtung nicht viel Zeit in Anspruch nehmen.
Auf dem Slave-Computer müssen wir auch die gleichen Bindepakete installieren wie in Master gezeigt, also installieren wir sie mit dem folgenden Befehl.
$ sudo yum install bind* -y.
Öffnen und bearbeiten ‘named.conf’ Datei für unsere Zonendatenbank und Port Listen.
$ sudo vim /etc/named.conf.
Nehmen Sie die Änderungen wie gezeigt gemäß Ihren Anforderungen vor.
// // named.conf. // // Wird vom Red Hat bind-Paket bereitgestellt, um das ISC BIND mit dem Namen (8) DNS zu konfigurieren. // Server nur als Caching-Nameserver (nur als Localhost-DNS-Resolver). // // Siehe /usr/share/doc/bind*/sample/ für zum Beispiel benannte Konfigurationsdateien. // Optionen { Abhör-Port 53 {127.0.0.1; 192.168.0.201}; # Unsere Slave-DNS-Server-IP-Listen-on-v6-Port 53 { ::1; }; Verzeichnis "/var/named"; Dump-Datei "/var/named/data/cache_dump.db"; Statistikdatei "/var/named/data/named_stats.txt"; memstatistics-Datei "/var/named/data/named_mem_stats.txt"; Allow-Abfrage { localhost; 192.168.0.0/24; }; Rekursion nein; DNS-Aktivierung ja; DNSsec-Validierung ja; DNSsec-Lookaside-Auto; /* Pfad zum ISC DLV-Schlüssel */ bindkeys-file "/etc/named.iscdlv.key"; Managed-Keys-Verzeichnis "/var/named/dynamic"; }; Protokollierung { Kanal default_debug { Datei "data/named.run"; Schweregrad dynamisch; }; }; Zone "." IN { Hinweis eingeben; Datei "named.ca"; }; ## Definieren Sie unsere Slave-Vorwärts- und -Rückwärtszone, Zonendateien werden vom Master repliziert. Zone"tecmintlocal.com" IN { Typ Slave; Datei "slaves/tecmintlocal.fwd.zone"; Meister { 192.168.0.200; }; }; Zone"0.168.192.in-adr.arpa" IN { Typ Slave; Datei "slaves/tecmintlocal.rev.zone"; Meister { 192.168.0.200; }; }; ##### include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
Starten Sie den DNS-Dienst mit.
$ sudo-Dienst namens start.
Nach dem Neustart des Bind-Dienstes müssen wir die Zoneninformationen nicht einzeln definieren, da unsere erlauben-übertragen repliziert die Zoneninformationen vom Master-Server, wie in der Abbildung unten gezeigt.
$ sudo ls -l /var/named/slaves.
Überprüfen Sie die Zoneninformationen mit dem Befehl cat.
$ sudo cat /var/named/slaves/tecmintlocal.fwd.zone. $ sudo cat /var/named/slaves/tecmintlocal.rev.zone.
Öffnen Sie als Nächstes den DNS-Port 53 auf iptables, um eingehende Verbindungen zuzulassen.
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEU -j ACCEPT.
Speichern Sie die iptables-Regeln und starten Sie den iptables-Dienst neu.
$ sudo service iptables speichern. $ sudo service iptables neu starten.
Machen Sie den Dienst beim Systemstart persistent.
$ sudo chkconfig iptables an
Prüfen Sie, ob für Runlevels persistent gesetzt ist.
$ sudo chkconfig --list iptables.
Das ist es!. Jetzt ist es an der Zeit, unsere Client-Rechner zu konfigurieren und den Hostnamen zu überprüfen.
Auf der Clientseite müssen wir die primäre (192.168.0.200) und sekundäres DNS (192.168.0.201) Eintrag in den Netzwerkeinstellungen, um einen Hostnamen zuzuweisen. Führen Sie dazu den Setup-Befehl aus, um alle diese Einträge wie in der Abbildung gezeigt zu definieren.
$ einrichten.
Bearbeiten Sie andernfalls das '/etc/reslov.conf‘ Datei und fügen Sie die folgenden Einträge hinzu.
$ vim /etc/resolv.conf.
Suche nach tecmintlocal.com. Nameserver 192.168.0.200. Nameserver 192.168.0.201.
Überprüfen Sie nun die IP-, Hostnamen- und Nameserver-Suche.
$ ifconfig | grep inet. $-Hostname. $nslookuptecmintlocal.com.
Überprüfen Sie nun die Forward- und Reverse-DNS-Suche mit.
$ dig masterdns.tecmintlocal.com. $ dig -x 192.168.0.200.
Die dig-Ausgabe verstehen:
Schließlich suchen Sie nach unserem Knoten und machen einen Ping.
$ dig node1.tecmintlocal.com.
$ ping masterdns.tecmintlocal.com -c 2. $ ping slavedns.tecmintlocal.com -c 2. $ping 192.168.0.200 -c 2. $ping 192.168.0.201 -c 2.
Schließlich ist die Einrichtung abgeschlossen, hier haben wir sowohl den primären (Master) als auch den Slave- (Seconday) DNS-Server konfiguriert erfolgreich, hoffe, dass alle ohne Probleme eingerichtet haben, zögern Sie nicht, einen Kommentar zu hinterlassen, wenn Sie auf ein Problem stoßen während der Einrichtung.