Knot Autoritativer DNS
Eine Alternative zu BIND, Knot DNS, ist ein moderner, rein autoritativer DNS-Server, der von der tschechischen Domain-Registrierung CZ.NIC verwaltet wird.
Voraussetzungen¶
- Ein Server mit Rocky Linux
- Die Möglichkeit firewalld zum Erstellen von Firewall-Regeln 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 Knot
¶
Zuerst EPEL installieren:
dnf install epel-release
Dann Knot
installieren:
dnf install knot
Knot-Konfiguration¶
Bevor Sie Änderungen an einer Konfigurationsdatei vornehmen, verschieben Sie die ursprünglich installierte Datei knot.conf
:
mv /etc/knot/knot.conf /etc/knot/knot.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.
Die Datei knot.conf editieren. Der Autor verwendet vi, Sie können jedoch auch Ihren bevorzugten Befehlszeileneditor verwenden:
vi /etc/knot/knot.conf
Bitte Folgendes eingeben:
server:
listen: 0.0.0.0@53
listen: ::@53
zone:
- domain: example.com
storage: /var/lib/knot/zones
file: example.com.zone
log:
- target: syslog
any: info
Ersetzen Sie example.com
durch den Domainnamen, für den Sie einen Nameserver ausführen.
Als nächstes erstellen Sie die Zonendateien:
mkdir /var/lib/knot/zones
vi /var/lib/knot/zones/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.
Knot
Aktivierung¶
Lassen Sie als Nächstes DNS-Ports in firewalld
zu und aktivieren Sie Knot DNS:
firewall-cmd --add-service=dns --zone=public
firewall-cmd --runtime-to-permanent
systemctl enable --now knot
Ü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¶
Während die meisten Menschen Dienste von Drittanbietern für DNS nutzen, gibt es Szenarien, in denen selbst gehostetes DNS gewü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.
Knot ist eines von vielen Open-Source-Tools, das das Hosten von DNS möglich macht. Herzlichen Glückwunsch, Sie haben Ihren eigenen DNS-Server! Glück auf!
Author: Neel Chauhan
Contributors: Steven Spencer