GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erstellen Sie einen DNS-Server

In diesem Artikel wird beschrieben, wie die folgenden Aufgaben ausgeführt werden:

  • Erstellen Sie einen Caching-DNS-Server.
  • Erstellen Sie einen Weiterleitungs-DNS-Server.
  • Installieren und konfigurieren Sie den Bind-DNS-Server als Caching- oder Weiterleitungs-DNS-Server.

Erstellen Sie einen Caching-DNS-Server

Dieser Servertyp wird auch als Resolver bezeichnet weil es rekursive Abfragen handhabt und die Routinearbeit erledigen kann, DNS-Daten von anderen Servern aufzuspüren.

1. Installieren Sie die Software

Der erste Schritt bei der Implementierung eines Bind-DNS-Servers ist die Installation der eigentlichen Software.

sudo apt-get update
sudo apt-get install bind9 bind9utils bind9-doc

2. Konfigurieren Sie einen Caching-DNS-Server

Ändern Sie für einen Cache-DNS-Server nur die named.conf.options Datei.

Führen Sie den folgenden Befehl aus, um diese Datei in Ihrem Texteditor mit sudo zu öffnen Privilegien:

sudo nano named.conf.options

Die Datei sieht ähnlich aus wie im folgenden Beispiel:

options {
        directory "/var/cache/bind";

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

3. Konfigurieren Sie eine Liste vertrauenswürdiger IP-Adressen oder Netzwerkbereiche

Über den Optionen Block in der Datei erstellen Sie einen neuen Block namens acl . Erstellen Sie eine Bezeichnung für die ACL-Gruppe, die Sie konfigurieren. Das folgende Beispiel ruft die ACL-Gruppe rackspace auf :

acl rackspace {
};

options {
    . . .

Listen Sie dann alle IP-Adressen und Netzwerke auf, die diesen DNS-Server innerhalb der acl verwenden dürfen blockieren.

acl rackspace {
    192.0.2.0/24;
    localhost;
    localnets;
};

options {
    . . .

Konfigurieren Sie abschließend die Funktionen in den Optionen Block. Fügen Sie innerhalb dieses Blocks die folgenden Zeilen hinzu:

options {
    directory "/var/cache/bind";

    recursion yes;
    allow-query { rackspace; };
    . . .

Wenn Sie diese Änderungen vorgenommen haben, speichern und schließen Sie die Datei.

Sie haben jetzt einen Caching-DNS-Server erstellt. Wenn dies der Servertyp ist, den Sie verwenden möchten, fahren Sie fort, um Ihre Konfigurationsdateien zu überprüfen und den Dienst neu zu starten.

Erstellen Sie einen Weiterleitungsserver

Verwenden Sie die folgenden Schritte, um den DNS-Server weiterzuleiten:

1. Konfigurieren Sie einen Weiterleitungs-DNS-Server

Beginnen Sie für Ihren Weiterleitungsserver mit der Konfiguration des Caching-Servers im vorherigen Abschnitt. Die named.conf.options Datei sollte ungefähr so ​​aussehen wie im folgenden Beispiel:

acl rackspace {
        192.0.2.0/24;
        localhost;
        localnets;
};

options {
        directory "/var/cache/bind";

        recursion yes;
        allow-query { rackspace; };

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

Hinweis: Der Weiterleitungsserver stellt weiterhin rekursive Dienste bereit, indem er Abfragen für Zonen beantwortet, für die er nicht autorisierend ist. Daher müssen wir eine Liste von Caching-Servern einrichten, an die unsere Anforderungen weitergeleitet werden. Verwenden Sie die ACL, um Ihren DNS-Server auf eine bestimmte Liste von Clients zu beschränken.

2. Weiterleitungen konfigurieren

Erstellen Sie einen Block namens Forwarders , innerhalb der Optionen Block. Fügen Sie die IP-Adressen der kursiven Nameserver hinzu, an die Sie Anfragen weiterleiten möchten. Das folgende Beispiel verwendet die öffentlichen DNS-Server von Google (8.8.8.8 und 8.8.4.4 ):

. . .
options {
        directory "/var/cache/bind";

        recursion yes;
        allow-query { rackspace; };

        forwarders {
                8.8.8.8;
                8.8.4.4;
        };
        . . .

Stellen Sie dann die Weiterleitung ein Direktive zu only da dieser Server alle Anfragen weiterleiten muss und nicht versuchen sollte, Anfragen selbst zu lösen.

acl rackspace {
        192.0.2.0/24;
        localhost;
        localnets;
};

options {
        directory "/var/cache/bind";

        recursion yes;
        allow-query { rackspace; };

        forwarders {
                8.8.8.8;
                8.8.4.4;
        };
        forward only;

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

Ändern Sie die dnssec-Validierung und dnssec-enable Einstellungen auf yes :

. . .
forward only;

dnssec-enable yes;
dnssec-validation yes;

auth-nxdomain no;    # conform to RFC1035
. . .

Jetzt haben Sie einen DNS-Weiterleitungsserver eingerichtet. Speichern und schließen Sie die Datei.

Überprüfen Sie Ihre Konfigurationsdateien und starten Sie den Dienst neu

Verwenden Sie die folgenden Anweisungen, um Ihre Konfigurationsdateien zu überprüfen und den Dienst neu zu starten:

1. Prüfen Sie die Konfigurationsdateien

Verwenden Sie die Bind-Tools, um die Syntax Ihrer Konfigurationsdateien zu überprüfen:

sudo named-checkconf

Wenn der Überprüfungsprozess keine Syntaxfehler findet, wird keine Ausgabe angezeigt.

Wenn die Konfigurationsdatei Syntaxfehler aufweist, zeigt die Ausgabe den Fehler und die Zeilennummer an. Bearbeiten Sie die Datei und korrigieren Sie die Fehler.

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Überprüfen Sie die Syntax erneut.

2. Starten Sie den Dienst neu

Verwenden Sie den folgenden Befehl, um den Bind-Daemon neu zu starten und Ihre Änderungen zu implementieren:

sudo service bind9 restart

Schlussfolgerung

Sie sollten jetzt entweder einen Caching- oder einen Weiterleitungs-DNS-Server konfiguriert haben, um Ihre Clients zu bedienen. Dies kann eine großartige Möglichkeit sein, DNS-Abfragen für die von Ihnen verwalteten Computer zu beschleunigen.

Verwenden Sie die Registerkarte „Feedback“, um Kommentare abzugeben oder Fragen zu stellen. Sie können auch mit uns ins Gespräch kommen.


Linux
  1. Einrichtung eines ungebundenen Nur-Cache-DNS-Servers unter RHEL 7 Linux

  2. Einfacher Ubuntu-FTP-Server?

  3. Erstellen Sie ein Image eines General Purpose v1 Cloud Server

  4. Erstellen Sie OnMetal Cloud-Server

  5. Centos 7:Konfigurieren Sie den DNS-Server

So erstellen Sie einen Minecraft-Server unter Ubuntu 20.04

So erstellen Sie einen neuen Atlantic.Net-Cloud-Server

So erstellen Sie eine DNS-Zone in cPanel und WHM

So konfigurieren Sie DNS in Windows Server 2012

Erstellen Sie einen Cloud-Server

Erstellen Sie einen Allzweck-Cloud-Server