BIND wurde in den 80er Jahren von Studenten der Berkeley University entwickelt (Berkeley Internet Name Domain ) ist ein Open-Source-DNS-Server das DNS-Dienste auf Linux-Distributionen bereitstellt. Also, was ist ein DNS-Server? Ein DNS Server ist ein Dienst, der dabei hilft, einen vollständig qualifizierten Domänennamen (FQDN ) in eine IP-Adresse und führen Sie zusätzlich eine Rückübersetzung durch – Übersetzung einer IP-Adresse in einen benutzerfreundlichen Domänennamen.
Warum ist die Namensauflösung wichtig? Nun, Computer suchen Dienste auf Servern mithilfe von IP-Adressen. IP-Adressen sind jedoch nicht so benutzerfreundlich wie Domänennamen, und es wäre ein großes Problem, sich jede IP-Adresse zu merken, die mit jedem Domänennamen verknüpft ist. Ein DNS-Server springt ein und hilft, diese Domänennamen in Computer-IP-Adressen aufzulösen.
Diese Anleitung führt Sie durch den Prozess der Einrichtung eines DNS-Bind-Servers auf CentOS 8 / RHEL 8.
Lab-Setup:
- Server : CentOS 8 (Minimalserver)
- IP-Adresse: 192.168.43.35
- Hots-Name: dns-primary.linuxtechi.local
- Domain: linuxtechi.local
Lassen Sie uns jetzt mit der Konfiguration des DNS-Bind-Servers loslegen.
Schritt 1:Bind DNS auf CentOS 8 / RHEL 8 installieren
Wir beginnen mit der Installation des Pakets bind und bind-utils. Diese Pakete bilden den DNS-Server und seine Dienstprogramme, die für die Abfrage von Nameservern oder DNS-Servern verantwortlich sind.
Führen Sie den Befehl aus:
# dnf install bind bind-utils
Starten Sie nach erfolgreicher Installation den DNS-Server mit dem folgenden Befehl:
# systemctl start named
Aktivieren Sie es als Nächstes, damit es auch nach einem Neustart aktiviert werden kann
# systemctl enable named
Um sicherzugehen, dass der Dienst wie erwartet läuft, überprüfen Sie seinen Status
# systemctl status named
Toll, der DNS-Server läuft einfach perfekt. Lassen Sie uns nun mit der Konfiguration des Bind-DNS-Servers beginnen
Schritt 2: Bindungs-DNS-Server konfigurieren
In der Regel empfiehlt es sich als Best Practice, eine Sicherungskopie einer Konfigurationsdatei zu erstellen, bevor Sie Änderungen vornehmen. Dies ist so, dass wir, falls etwas schief gehen sollte, immer auf die ursprüngliche unbearbeitete Datei zurückgreifen können. Und hier ist es nicht anders.
Erstellen wir eine Sicherungskopie der Konfigurationsdatei /etc/named.conf
# cp /etc/named.conf /etc/named.bak
Öffnen Sie nun die Datei mit Ihrem bevorzugten Texteditor. In diesem Fall verwenden wir den vim-Editor.
# vim /etc/named.conf
Unter „Optionen ’ stellen Sie sicher, dass Sie die unten angegebenen Zeilen auskommentieren, damit der Bind-DNS-Server alle IPs abhören kann.
// listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; };
Suchen Sie außerdem den Parameter allow-query und passen Sie ihn entsprechend Ihrem Netzwerksubnetz an.
allow-query { localhost; 192.168.43.0/24; };
Diese Einstellung erlaubt nur den Hosts im definierten Netzwerk den Zugriff auf den DNS-Server und nicht irgendeinen anderen Host.
Eine Forward-Lookup-DNS-Zone ist eine, die die Beziehung zwischen Hostname und IP-Adresse speichert. Bei einer Abfrage gibt es die IP-Adresse des Hostsystems unter Verwendung des Hostnamens an. Im Gegensatz dazu die ReverseDNS-Zone gibt den vollständig qualifizierten Domänennamen (FQDN) des Servers in Bezug auf seine IP-Adresse zurück.
Um die Rückwärts- und Vorwärts-Lookupzonen zu definieren, kopieren Sie die folgende Konfiguration und fügen Sie sie am Ende von /etc/named.conf ein
//forward zone zone "linuxtechi.local" IN { type master; file "linuxtechi.local.db"; allow-update { none; }; allow-query { any; }; }; //backward zone zone "43.168.192.in-addr.arpa" IN { type master; file "linuxtechi.local.rev"; allow-update { none; }; allow-query { any; }; };
- tippen :Legt die Rolle des Servers für eine bestimmte Zone fest. das Attribut „Master“ impliziert, dass dies ein autoritativer Server ist.
- Datei :Zeigt auf die Forward/Reverse-Zonendatei der Domain.
- Aktualisierung zulassen :Dieses Attribut definiert die Hostsysteme, die Dynamic DNS-Updates weiterleiten dürfen. In diesem Fall haben wir keine.
Beenden Sie nach dem Speichern die Konfigurationsdatei /etc/named.conf.
Schritt 3:Erstellen Sie eine Forward-DNS-Zonendatei für die Domain
Erstellen Sie eine Forward-DNS-Zonendatei für die Domain linuxtechi.local wie unten gezeigt und fügen Sie den folgenden Inhalt hinzu
[[email protected] ~]# vim /var/named/linuxtechi.local.db $TTL 86400 @ IN SOA dns-primary.linuxtechi.local. admin.linuxtechi.local. ( 2020011800 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) ;Name Server Information @ IN NS dns-primary.linuxtechi.local. ;IP Address for Name Server dns-primary IN A 192.168.43.35 ;Mail Server MX (Mail exchanger) Record linuxtechi.local. IN MX 10 mail.linuxtechi.local. ;A Record for the following Host name www IN A 192.168.43.50 mail IN A 192.168.43.60 ;CNAME Record ftp IN CNAME www.linuxtechi.local.
Lassen Sie uns einige der in der Konfigurationsdatei angegebenen Parameter definieren:
- TTL :Dies ist die Abkürzung für Time-To-Live. TTL ist die Zeitdauer (oder Sprünge), die ein Paket in einem Netzwerk existiert, bevor es schließlich vom Router verworfen wird.
- IN :Dies impliziert das Internet.
- SOA :Dies ist die Abkürzung für den Beginn der Autorität. Grundsätzlich definiert es den autoritativen Nameserver, in diesem Fall dns-primary.linuxtechi.local, und die Kontaktinformationen – admin.linuxtechi.local
- NS :Dies ist die Abkürzung für Name Server.
- A :Das ist ein A-Record. Es zeigt auf einen Domain-/Subdomain-Namen zur IP-Adresse
- Seriennummer :Dies ist das Attribut, das vom DNS-Server verwendet wird, um sicherzustellen, dass der Inhalt einer bestimmten Zonendatei aktualisiert wird.
- Aktualisieren :Definiert, wie oft ein Slave-DNS-Server eine Zone vom Master übertragen soll.
- Wiederholen :Definiert, wie oft ein Slave einen nicht reagierenden Zonentransfer wiederholen soll.
- Ablaufen :Gibt an, wie lange ein Slave-Server warten soll, bevor er auf eine Client-Anfrage antwortet, wenn der Master nicht verfügbar ist.
- Minimum :Dies ist verantwortlich für die Einstellung der minimalen TTL für eine Zone.
- MX :Dies ist der Mail-Exchanger-Datensatz. Es gibt den Mailserver an, der E-Mails empfängt und versendet
- CNAME :Dies ist der kanonische Name. Es ordnet einen Alias-Domainnamen einem anderen Domainnamen zu.
- PTR :Abkürzung für Pointer, dieses Attribut löst eine IP-Adresse in einen Domainnamen auf, im Gegensatz zu einem Domainnamen.
Schritt 4:Erstellen Sie eine Reverse-DNS-Zonendatei für die Domain
Ebenso müssen wir eine Datei für Reverse-DNS-Lookups erstellen. Fügen Sie den folgenden Inhalt in die Datei ein:
[[email protected] ~]# vim /var/named/linuxtechi.local.rev $TTL 86400 @ IN SOA dns-primary.linuxtechi.local. admin.linuxtechi.local. ( 2020011800 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) ;Name Server Information @ IN NS dns-primary.linuxtechi.local. dns-primary IN A 192.168.43.35 ;Reverse lookup for Name Server 35 IN PTR dns-primary.linuxtechi.local. ;PTR Record IP address to Hostname 50 IN PTR www.linuxtechi.local. 60 IN PTR mail.linuxtechi.local.
Weisen Sie als Nächstes den beiden Konfigurationsdateien die erforderlichen Dateiberechtigungen zu.
# chown named:named /var/named/linuxtechi.local.db # chown named:named /var/named/linuxtechi.local.rev
Um zu bestätigen, dass die Suchdateien der DNS-Zone frei von syntaktischen Fehlern sind, führen Sie die angezeigten Befehle aus:
# named-checkconf # named-checkzone linuxtechi.local /var/named/linuxtechi.local.db # named-checkzone 192.168.43.35 /var/named/linuxtechi.local.rev
Wenn es keine Fehler gibt, sollten Sie die folgende Ausgabe erhalten:
Damit die Änderungen im System widergespiegelt werden, starten Sie den Bind-DNS-Server neu
# systemctl restart named
Damit Client-Systeme auf das System zugreifen können, müssen wir den DNS-Dienst auf der Firewall hinzufügen und danach die Firewall neu laden.
# firewall-cmd --add-service=dns --zone=public --permanent # firewall-cmd --reload
Schritt 5:Testen Sie den Bind-DNS-Server von einem Client-System aus
Nachdem wir die Konfiguration auf dem DNS-Server abgeschlossen haben, gehen wir zu einem Client-Rechner und führen ein paar Tests durch.
Öffnen Sie auf einem Client-Rechner (CentOS 8/RHEL 8) die Datei /etc/resolv.conf Datei und bearbeiten Sie den folgenden Parameter:
Nameserver 192.168.43.35
Speichern und schließen Sie wie immer die Konfigurationsdatei.
Zuletzt müssen Sie die IP-Adresse des Bind-DNS-Servers an /etc/sysconfig/network-scripts/ifcfg-enp0s3 anhängen Datei wie gezeigt.
Speichern und schließen Sie die Konfigurationsdatei und starten Sie dann den Netzwerkmanager-Dienst neu, um die obige Änderung in den Effekt zu übernehmen,
# systemctl restart NetworkManager
Verwenden Sie den Befehl nslookup, um den Bind-DNS-Server wie gezeigt zu testen:
# nslookup dns-primary.linuxtechi.local # nslookup mail.linuxtechi.local # nslookup www.linuxtechi.local # nslookup ftp.linuxtechi.local
# nslookup 192.168.43.35
Die Ausgabe des Befehls nslookup bestätigt, dass die Forward-DNS-Suche wie erwartet funktioniert.
Darüber hinaus können Sie auch den dig-Befehl wie gezeigt verwenden
# dig dns-primary.linuxtechi.local
Um eine umgekehrte DNS-Suche durchzuführen, verwenden Sie den dig-Befehl wie gezeigt:
# dig -x 192.168.43.35
Perfekt! Die umgekehrte DNS-Suche funktioniert auch wie erwartet.
Und damit endet dieses Tutorial. In dieser Anleitung haben wir Sie durch die Installation eines DNS-Servers mit Bind auf CentOS 8 geführt. Probieren Sie es aus und zögern Sie nicht, uns Ihr Feedback zu senden.
Auch lesen : So richten Sie den NFS-Server unter CentOS 8 / RHEL 8 ein