GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie den DNS-Server unter RHEL 8 / CentOS 8 Linux

Diese Anleitung zeigt, wie ein DNS-Server in RHEL 8 / CentOS 8 nur im Caching-Modus oder als einzelner DNS-Server ohne Master-Slave-Konfiguration installiert und konfiguriert wird. Ein Beispiel für Rückwärts- und Vorwärtszonen wird bereitgestellt.

In diesem Tutorial lernen Sie:

  • So installieren Sie einen DNS-Server in RHEL 8 / CentOS 8
  • So konfigurieren Sie einen Server als nur zwischenspeichernden DNS-Server
  • So konfigurieren Sie einen Server als einzelnen DNS-Server

Client, der eine Abfrage über den DNS-Server auflöst.

Softwareanforderungen und verwendete Konventionen

Softwareanforderungen und Linux-Befehlszeilen
Konventionen
Kategorie Vernetzung
System RHEL 8 / CentOS 8
Software binden
Andere Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl.
Konventionen # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl
$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden

Voraussetzungen

Vor dem Start wird angenommen, dass:

  • Sie oder Ihre Organisation haben bereits ein Konto in Red Hat erstellt
  • RHEL 8 / CentOS 8 wurde bereits heruntergeladen und installiert
  • Das System wurde bereits über den Abonnement-
    Manager
  • registriert
  • Sie haben bereits ein lokales oder entferntes Repository eingerichtet

DNS-Server-Installation

  1. Bind-Installation
    Wir werden das Paket BIND, den berühmtesten Open-Source-DNS-Server, über den dnf installieren Tool zu dem jetzt yum basiert.
    Der auszuführende Befehl lautet:

    #  dnf -y install bind*

    Was alle diese Pakete installieren sollte:

    Liste der Bind-Pakete

Allgemeine DNS-Serverkonfiguration

  1. Konfigurieren der Firewall
    Wir müssen den DNS-Dienst aktivieren:

    # firewall-cmd --permanent --zone=public --add-service=dns

    und laden Sie die Konfiguration neu:

    # firewall-cmd --reload
  2. Hauptkonfigurationsdateien sichern
    Es ist immer eine gute Angewohnheit, eine anfängliche Sicherungskopie der Hauptkonfigurationsdateien zu erstellen; auch vor jeder Änderung.

    #  cp /etc/named.conf /etc/named.conf.org
    #  cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.org
    
    
  3. Überprüfen der Netzwerkkonfiguration
    Ein DNS-Server muss eine statische IP-Adresse haben, lassen Sie uns überprüfen, ob dies der Fall ist:

    $  cat /etc/sysconfig/network-scripts/ifcfg-enp0s3|egrep -i "boot|ipaddr|mask|gateway"

    Was zum Beispiel zu den folgenden Ergebnissen führt:

    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=10.0.0.63
    NETMASK=255.255.255.0
    GATEWAY=10.0.0.1
    

    Natürlich kann Ihre Netzwerkkonfiguration anders sein, aber auch hier muss die IP-Adresse statisch sein.

  4. Auswahl des Domainnamens
    Um einen vollqualifizierten Domainnamen oder FQDN festzulegen

    #  hostnamectl set-host name dns-srv.vulcansys-local.com

    Sie können natürlich einen anderen Namen wählen, hier habe ich einen Domainnamen erfunden, der anscheinend bei keiner Organisation registriert wurde.

  5. Resolver-Konfiguration
    Wir werden die resolv.conf konfigurieren Datei. Die ersten Zeilen müssen sein:

    search vulcansys-local.com
    nameserver 10.0.0.63
    

    Dies ist sowohl im Server als auch in jedem Client, der unser DNS abfragt; Natürlich müssen Sie einen zweiten Nameserver hinzufügen, um Internetseiten oder andere Domains aufzulösen.

  6. DNS-Autokonfiguration von Network Manager deaktivieren
    Wir möchten nicht, dass der Network Manager die resolv.conf ändert Datei. Dazu fügen wir einfach die
    Zeile hinzu:dns=none in der Datei /etc/NetworkManager/NetworkManager.conf , und wir laden den Dienst neu:

    #  systemctl reload NetworkManager
  7. Den Bindungsdienst beim Start aktivieren
    Wir müssen sicherstellen, dass der DNS-Dienst mit dem System gestartet wird, also:

    #  systemctl enable named

DNS-Servertypen

Es ist möglich, einen DNS-Server so zu konfigurieren, dass er in einem der folgenden Modi arbeitet, jeweils nur in einem:

  • Root-Server
  • Einzelner Server
  • Sekundärserver
  • Nur-Caching-Server
  • Weiterleitungsserver

In diesem Artikel beschreiben wir nur, wie man einen Nur-Caching-Server und einen Einzelserver einrichtet.

Ein Nur-Caching-DNS-Server hostet keine Zone und ist nicht autorisierend für eine bestimmte Domäne; Wenn der Server zum ersten Mal gestartet wird, hat er keine zwischengespeicherten Informationen und die Informationen werden im Laufe der Zeit abgerufen, wenn Client-Anfragen
erfüllt werden.

Ein primärer oder einzelner DNS-Server ist autorisierend für eine Domäne, aber wir haben keine hohe Verfügbarkeit und daher funktioniert keine DNS-Abfrage für die Domäne, wenn er ausgefallen oder nicht erreichbar ist, es sei denn, er wird in der statischen Datei /etc/hosts .

HINWEIS
Was wir bisher konfiguriert haben, ist üblich, egal welchen „Konfigurationsmodus“ wir wählen werden.
  1. Caching only DNS Server
    Wir stellen sicher, dass die folgenden Zeilen in der named.conf geändert/konfiguriert werden Datei:

    listen-on port 53 { 127.0.0.1; 10.0.0.63; };
    #listen-on-v6 port 53 { ::1; };
    allow-query { 127.0.0.1; 10.0.0.0/24; };
    recursion yes;
    allow-recursion { 127.0.0.1; 10.0.0.0/24; };
    

    Der Einfachheit halber wird der Server hier nicht auf eine IPv6-Adresse lauschen ( die entsprechende Zeile ist daher auskommentiert ). Um zu überprüfen, ob die Konfiguration in Ordnung ist, können wir den Befehl ausführen:

    #  named-checkconf

    Wenn alles in Ordnung ist, wird keine Ausgabe zurückgegeben. Schließlich müssen wir den Dienst seine Konfiguration neu laden lassen:

    #  systemctl reload named
  2. Einzelner DNS-Server
    Falls wir diesen Typ wählen, ist er unser autoritativer DNS-Server, der für jede Namensauflösung in der von uns gewählten Domain verantwortlich ist. Auch hier bearbeiten wir /etc/named.conf :

    listen-on port 53 { localhost; 10.0.0.63; };
    #listen-on-v6 port 53 { ::1; };
    allow-query { 127.0.0.1; 10.0.0.0/24; };
    recursion no;

    In diesem Handbuch stellen wir der Einfachheit halber den Bindungsdienst nicht so ein, dass er eine IPv6-Adresse abhört.

    Die Option recursion no stellt sicher, dass das DNS nicht die ganze Arbeit erledigt, um eine Antwort auf eine bestimmte Anfrage zu geben, sondern die Aufgabe für diese unbekannten Namen oder IPs bei Bedarf an die Root-Server und andere autoritative Server delegiert. Mit anderen Worten:Ein autoritativer Server darf nicht rekursiv sein .

    Danach müssen wir unsere Zonendateien spezifizieren; Hier konfigurieren wir eine Weiterleitungszone (um einen Namen in eine IP aufzulösen) und eine Reverse Zone (zur Auflösung in einen Namen bei gegebener IP-Adresse) jeweils in seiner spezifischen Datei, indem Sie die folgenden Zeilen an die Datei named.rfc1912.zones anhängen Datei:

    zone "vulcansys-local.com" IN {
                   type master;
                   file "forward.zone";
                   allow-update { none; };
    };
    
    zone "63.0.0.10.in-addr.arpa" IN {
                   type master;
                   file "reverse.zone";
                   allow-update { none; };
    };

    Die Option allow-update bezieht sich auf dynamische DNS-Updates, d. h. eine Anwendung in einem Host kann einen DNS-Eintrag hinzufügen; Aus Sicherheitsgründen ist dies standardmäßig deaktiviert und daher kann nur der Systemadministrator Datensätze manuell hinzufügen.

    Jetzt müssen wir die Dateien forward.zone erstellen und reverse.zone . Normalerweise befinden sich die Zonendateien im
    Verzeichnis /var/named wie wir dem directory entnehmen können Option in der named.conf Konfigurationsdatei.

    Unsere forward.zone Datei enthält:

    $TTL     1D
    @        IN  SOA dns-srv.vulcansys-local.com. root.vulcansys-local.com. (
                          2019022400 ; serial
                          3h         ; refresh
                          15         ; retry
                          1w         ; expire
                          3h         ; minimum
                                                                                )
    
             IN  NS dns-srv.vulcansys-local.com.
    dns-srv  IN  A  10.0.0.63
    
    

    Und die reverse.zone Datei:

    $TTL     1D
    @        IN  SOA dns-srv.vulcansys-local.com. root.vulcansys-local.com. (
                          2019022400 ; serial
                          3h         ; refresh
                          15         ; retry
                          1w         ; expire
                          3h         ; minimum
                                                                                )
    
             IN  NS dns-srv.vulcansys-local.com.
    63       IN  PTR  dns-srv.vulcansys-local.com

    In den erwähnten Konfigurationsdateien SOA (Start Of Authority) definiert die globalen Parameter für die Zone (Domäne); Es kann nur ein Ressourceneintrag angegeben werden (die Zeile mit dem SOA-Schlüsselwort mit unserem vollständig qualifizierten Domänennamen). Die Time To Leave ($TTL) beträgt standardmäßig 1 Tag (oder 86400 Sekunden) und sollte vorübergehend verkürzt werden, wenn ein Eintrag in dieser Konfigurationsdatei geändert wird, da sie dem DNS-Server mitteilt, wie lange abgerufene Informationen zwischengespeichert werden sollen. Am wichtigsten ist es, daran zu denken, jeden vollständig qualifizierten Domänennamen in diesen Konfigurationsdateien mit einem Punkt zu beenden .

    Hier root.vulcansys-local.com ist die E-Mail-Adresse und 2019022400 ein serielles Feld, das in der Praxis dazu dient, jede Änderung in der Zonendatei nachzuverfolgen, und üblicherweise die Form YYYYmmddss hat , wobei ss ist eine zweistellige Zahl.

    In der umgekehrten Datei haben Sie vielleicht bemerkt, dass bis auf die letzte Zeile alles gleich aussieht. Dort spezifizieren wir mit PTR eine Rückwärtssuche, die zu 10.0.0.63 aufgelöst wird; Es muss nur die letzte Ziffer 63 eingegeben werden der den Host identifiziert (als Netzmaske ist 255.255.255.0 ).

    Jetzt stellen wir sicher, dass wir die richtigen Berechtigungen haben:

    #  chgrp named /var/named/reverse.zone
    #  chgrp named /var/named/forward.zone
    
    

    Um zu überprüfen, ob die Zonendateien korrekt konfiguriert sind, können Sie die folgenden Befehle ausführen:

    #  named-checkzone vulcansys-local.com /var/named/forward.zone
    #  named-checkzone 10.0.0.63 /var/named/reverse.zone
    

    Und um die Gesamtkonfiguration zu überprüfen:

    #  named-checkconf -v

    Wenn alles in Ordnung ist, können wir den Dienst neu laden:

    #  systemctl reload named

Client-Konfiguration

  1. Firewall konfigurieren
    Wir müssen die Firewall wie oben beschrieben mit dem Server konfigurieren. Der Einfachheit halber gehe ich davon aus, dass der Client auch ein RHEL 7 oder 8 ist.
  2. Resolver-Konfiguration
    Der erste Nameserver muss unser Server-DNS sein, stellen Sie auch hier sicher, dass der Network Manager die resolv.conf-Datei nicht verändert.
  3. Festlegen des Hostnamens
    Aus Gründen der Konsistenz würde jedem Client in der Domäne ein FQDN-Hostname zugewiesen.

Schließlich überprüfen wir, ob unsere DNS-Konfiguration von einem Client aus funktioniert, indem wir versuchen, den DNS-Server nach Namen zu pingen.

Client, der eine Abfrage über den DNS-Server auflöst.

Schlussfolgerung

Das Einrichten eines DNS-Servers ist eine Aufgabe, die jeder ernsthafte Administrator mindestens einmal durchgeführt haben sollte, und in RHEL 8 ist die Vorgehensweise nicht schwierig.


Cent OS
  1. So installieren Sie Redmine unter RHEL 8 / CentOS 8 Linux

  2. So installieren Sie den vnc-Server auf RHEL 8 / CentOS 8

  3. So installieren Sie Puppet unter CentOS 8 / RHEL 8

  4. So installieren Sie Puppet 6.x auf CentOS 7 / RHEL 7

  5. CentOS / RHEL 7:So installieren Sie die GUI

So installieren Sie WordPress unter RHEL 8 / CentOS 8 Linux

So installieren Sie GIMP unter CentOS 8 / RHEL 8 Linux

So installieren Sie Redis Server auf CentOS 8 / RHEL 8

So installieren Sie Zabbix Server 4.x unter CentOS 6 / RHEL 6

So installieren Sie Zabbix Server 5.0 / 4.0 unter CentOS 7 / RHEL 7

So installieren Sie die GUI auf CentOS 8 / RHEL 8 Minimal Linux Server