NSD Autoritativer DNS
Als Alternative zu BIND ist NSD (Name Server Daemon) ein moderner, ausschließlich autoritativer DNS-Server, der von NLnet Labs verwaltet wird.
Voraussetzungen¶
- Ein Server mit Rocky Linux
- Die Möglichkeit firewalld zum Erstellen von Firewall-Regeln zu verwenden
- Ein Domänenname oder ein interner rekursiver DNS-Server, der auf Ihren autoritativen DNS-Server verweist
Einleitung¶
Externe oder öffentliche DNS-Server werden im Internet verwendet, um Hostnamen IP-Adressen zuzuordnen und im Falle von PTR (bekannt als pointer
oder reverse
) Records, um die IP dem Hostnamen zuzuordnen. Das ist ein wesentlicher Teil des Internets. Es sorgt dafür, dass Ihr Mailserver, Webserver, FTP-Server oder viele andere Server und Dienste wie erwartet funktionieren, egal wo Sie sich befinden.
Installation und Aktivierung von NSD
¶
Zuerst EPEL installieren:
dnf install epel-release
Installieren Sie nun NSD:
dnf install nsd
NSD-Konfiguration¶
Bevor Sie Änderungen an einer Konfigurationsdatei vornehmen, kopieren Sie die ursprünglich installierte Arbeitsdatei nsd.conf
:
cp /etc/nsd/nsd.conf /etc/nsd/nsd.conf.orig
Dies wird in der Zukunft helfen, wenn Fehler in die Konfigurationsdatei eingefügt werden. Es ist immer eine gute Idee, eine Sicherungskopie zu erstellen, bevor Sie Änderungen vornehmen.
Bearbeiten Sie die Datei nsd.conf. Der Autor verwendet vi, Sie können jedoch auch Ihren bevorzugten Befehlszeileneditor verwenden:
vi /etc/nsd/nsd.conf
Navigieren Sie nach unten und geben Sie Folgendes ein:
zone:
name: example.com
zonefile: /etc/nsd/example.com.zone
Ersetzen Sie example.com
durch den Domainnamen, für den Sie einen Nameserver ausführen.
Als nächstes erstellen Sie die Zonendateien:
vi /etc/nsd/example.com.zone
Die DNS-Zone-Dateien sind BIND-kompatibel. Fügen Sie in die Datei Folgendes ein:
$TTL 86400 ; How long should records last?
; $TTL used for all RRs without explicit TTL value
$ORIGIN example.com. ; Define our domain name
@ 1D IN SOA ns1.example.com. hostmaster.example.com. (
2024061301 ; serial
3h ; refresh duration
15 ; retry duration
1w ; expiry duration
3h ; nxdomain error ttl
)
IN NS ns1.example.com. ; in the domain
IN MX 10 mail.another.com. ; external mail provider
IN A 172.20.0.100 ; default A record
; server host definitions
ns1 IN A 172.20.0.100 ; name server definition
www IN A 172.20.0.101 ; web server definition
mail IN A 172.20.0.102 ; mail server definition
Wenn Sie Hilfe beim Anpassen von Zone-Dateien im BIND-Stil benötigen, bietet Oracle eine ausgezeichnete Einführung in Zonendateien.
Speichern Sie Ihre Änderungen.
NSD
Aktivierung¶
Als nächstes erlauben Sie DNS-Ports in firewalld
und aktivieren NSD:
firewall-cmd --add-service=dns --zone=public
firewall-cmd --runtime-to-permanent
systemctl enable --now nsd
Überprüfen Sie die DNS-Auflösung mit dem Befehl host
:
% host example.com 172.20.0.100
Using domain server:
Name: 172.20.0.100
Address: 172.20.0.100#53
Aliases:
example.com has address 172.20.0.100
example.com mail is handled by 10 mail.another.com.
%
Zusammenfassung¶
Die meisten Menschen nutzen Dienste von Drittanbietern für DNS. Es gibt jedoch Szenarien, in denen ein selbst gehostetes DNS erwünscht ist. Beispielsweise hosten Telekommunikations-, Hosting- und Social-Media-Unternehmen eine große Anzahl von DNS-Einträgen, bei denen auch gehostete Dienste unerwünscht sind.
NSD ist eines von vielen Open-Source-Tools, die das Hosten von DNS ermöglichen. Herzlichen Glückwunsch, Sie haben Ihren eigenen DNS-Server!
Author: Neel Chauhan
Contributors: Steven Spencer, Ganna Zhyrnova