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

So installieren und konfigurieren Sie den DNS-Server unter Linux

Domain Name Service (DNS) ist ein Internetdienst, der IP-Adressen vollqualifizierten Domainnamen (FQDN) zuordnet und umgekehrt.

BIND steht für Berkley Internet Naming Daemon.

BIND ist das am häufigsten verwendete Programm zur Verwaltung eines Nameservers unter Linux.

In diesem Tutorial erklären wir, wie man einen DNS-Server installiert und konfiguriert.

Wenn DNS neu für Sie ist, sollten Sie zuerst die Grundlagen von DNS und seine Funktionsweise verstehen.

1. Netzwerkinformationen

In diesem Tutorial richten wir einen lokalen DNS-Server für das im folgenden Diagramm gezeigte Netzwerk ein.

Wir verwenden die Domain „thegeekstuff.net“ als Beispiel für diese DNS-Installation. „mail“, „web“, „ns“ sind die Hosts, die sich innerhalb dieser Domain befinden.

Es ist möglich, ein einzelnes System so zu konfigurieren, dass es als Caching-Nameserver fungiert, primär/Master und sekundär/Slave. Wir werden diesen DNS als Primär-/Master- sowie als Caching-DNS-Server konfigurieren.

Wir installieren den DNS-Server auf „10.42.0.83“.

2. Bind installieren

Installieren Sie das bind9-Paket mit den entsprechenden Paketverwaltungsprogrammen für Ihre Linux-Distributionen.

Gehen Sie bei Debian/Ubuntu-Varianten wie folgt vor:

$ sudo apt-get install bind9

Gehen Sie bei Redhat/CentOS/Fedora-Varianten wie folgt vor:

# yum install bind9

Alle DNS-Konfigurationen werden im Verzeichnis /etc/bind gespeichert. Die primäre Konfiguration ist /etc/bind/named.conf, die andere benötigte Dateien enthält. Die Datei namens /etc/bind/db.root beschreibt die Root-Nameserver der Welt.

3. Cache NameServer konfigurieren

Die Aufgabe eines DNS-Caching-Servers besteht darin, andere DNS-Server abzufragen und die Antwort zwischenzuspeichern. Wenn dieselbe Abfrage das nächste Mal gegeben wird, wird die Antwort aus dem Cache bereitgestellt. Der Cache wird regelmäßig aktualisiert.

Bitte beachten Sie, dass Sie bind zwar so konfigurieren können, dass es als primärer und als Caching-Server funktioniert, dies jedoch aus Sicherheitsgründen nicht empfohlen wird. Es ist ratsam, einen separaten Caching-Server zu haben.

Alles, was wir tun müssen, um einen Cache NameServer zu konfigurieren, ist, den DNS-Server Ihres ISP (Internet Service Provider) oder einen beliebigen OpenDNS-Server zur Datei /etc/bind/named.conf.options hinzuzufügen. Zum Beispiel verwenden wir die öffentlichen DNS-Server von Google, 8.8.8.8 und 8.8.4.4.

Entkommentieren und bearbeiten Sie die folgende Zeile wie unten gezeigt in der Datei /etc/bind/named.conf.options.

forwarders {
    8.8.8.8;
    8.8.4.4;
};

Starten Sie nach der obigen Änderung den DNS-Server neu.

$ sudo service bind9 restart

4. Testen Sie den Cache NameServer

Mit dem Befehl dig können Sie DNS-Dienste testen. DIG-Befehlsbeispiele erklären mehr darüber, wie man DNS-Lookups durchführt.

$ dig ubuntu.com

;; Query time: 1323 msec

Wenn Sie jetzt die Ausgrabung zum zweiten Mal ausführen, sollte sich die Abfragezeit verbessern. Wie Sie unten sehen, dauerte es beim zweiten Mal nur 3 ms, da die Informationen von unserem Caching-DNS-Server abgerufen wurden.

$ dig ubuntu.com

;; Query time: 3 msec

5. Primären/Master-Nameserver konfigurieren

Als Nächstes konfigurieren wir bind9 als Primary/Master für die Domain/Zone „thegeekstuff.net“.

Als ersten Schritt bei der Konfiguration unseres primären/Master-Nameservers sollten wir die Vorwärts- und Rückwärtsauflösung zu bind9 hinzufügen.

Um eine DNS-Forward- und Reverse-Auflösung zu bind9 hinzuzufügen, bearbeiten Sie /etc/bind9/named.conf.local.

zone "thegeekstuff.net" {
    type master;
    file "/etc/bind/db.thegeekstuff.net";
};
zone "0.42.10.in-addr.arpa" {
        type master;
        notify no;
        file "/etc/bind/db.10";
};

Jetzt enthält die Datei /etc/bind/db.thegeekstuff.net die Details zum Auflösen des Hostnamens in die IP-Adresse für diese Domäne/Zone, und die Datei /etc/bind/db.10 enthält die Details zum Auflösen der IP-Adresse in den Hostnamen .

6. Erstellen Sie die Weiterleitungsauflösung für Primär-/Master-Nameserver

Jetzt werden wir die für die Vorwärtsauflösung erforderlichen Details in /etc/bind/db.thegeekstuff.net hinzufügen.

Kopieren Sie zuerst /etc/bind/db.local nach /etc/bind/db.thegeekstuff.net

$ sudo cp /etc/bind/db.local /etc/bind/db.thegeekstuff.net

Bearbeiten Sie als Nächstes /etc/bind/db.thegeekstuff.net und ersetzen Sie Folgendes.

  1. In der Zeile mit SOA:localhost. – Dies ist der FQDN des für diese Domain zuständigen Servers. Ich habe bind9 in 10.42.0.83 installiert, dessen Hostname „ns“ ist. Ersetzen Sie also den „localhost“. mit "ns.thegeekstuff.net.". Stellen Sie sicher, dass es mit einem Punkt (.) endet.
  2. In der Zeile mit SOA:root.localhost. – Dies ist die E-Mail-Adresse der Person, die für diesen Server verantwortlich ist. Verwenden Sie Punkt (.) anstelle von @. Ich habe sie durch lak.localhost.
  3. ersetzt
  4. In der Zeile mit NS:localhost. – Dies definiert den Nameserver für die Domain (NS). Wir müssen dies in den vollqualifizierten Domänennamen des Nameservers ändern. Ändern Sie es in „ns.thegeekstuff.net“. Stellen Sie sicher, dass Sie ein "." am Ende.

Definieren Sie als Nächstes den A-Eintrag und den MX-Eintrag für die Domain. Ein Eintrag ist derjenige, der den Hostnamen der IP-Adresse zuordnet, und der MX-Eintrag teilt dem Mailserver mit, dass er diese Domain verwenden soll.

Sobald die Änderungen vorgenommen wurden, sieht die Datei /etc/bind/db.thegeekstuff.net wie folgt aus:

$TTL    604800
@   IN  SOA ns.thegeekstuff.net. lak.localhost. (
             1024       ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.thegeekstuff.net.
thegeekstuff.net.    IN      MX      10      mail.thegeekstuff.net.
ns  IN  A   10.42.0.83
web IN  A   10.42.0.80
mail IN A   10.42.0.70

6. Erstellen Sie die umgekehrte Auflösung für Primär-/Master-Nameserver

Wir werden die für die umgekehrte Auflösung erforderlichen Details in die Datei /etc/bind/db.10 einfügen. Kopieren Sie die Datei /etc/bind/db.127 nach /etc/bind/db.10

$ sudo cp /etc/bind/db.127 /etc/bind/db.10

Bearbeiten Sie als Nächstes die Datei /etc/bind/db.10 und ändern Sie im Wesentlichen die gleichen Optionen wie in /etc/bind/db.thegeekstuff.net

$TTL    604800
@   IN  SOA ns.thegeekstuff.net. root.localhost. (
             20         ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.

Als nächstes fügen Sie für jeden A-Eintrag in /etc/bind/db.thegeekstuff.net einen PTR-Eintrag hinzu.

$TTL    604800
@   IN  SOA ns.thegeekstuff.net. root.thegeekstuff.net. (
             20     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@    IN  NS  ns.
83   IN  PTR ns.thegeekstuff.net.
70   IN  PTR mail.thegeekstuff.net.
80   IN  PTR web.thegeekstuff.net.

Immer wenn Sie die Datei db.thegeekstuff.net und db.10 ändern, müssen Sie auch die „Seriennummer“ erhöhen. Normalerweise verwendet der Administrator DDMMYYSS für Seriennummern und ändert die Seriennummer entsprechend, wenn er sie ändert.

Starten Sie schließlich den bind9-Dienst neu:

$ sudo service bind9 restart

7. Testen Sie den DNS-Server

Jetzt haben wir den DNS-Server für unsere Domain konfiguriert. Wir werden unseren DNS-Server testen, indem wir mail.thegeekstuff.net von web.thegeekstuff.net aus anpingen.

Wenn der Ping erfolgreich ist, haben wir den DNS erfolgreich konfiguriert.

Sie können auch nslookup und dig verwenden, um DNS-Server zu testen.

Fügen Sie auf dem Server web.thegeekstuff.net Folgendes zu /etc/resolv.conf

hinzu
nameserver 10.42.0.83

Pingen Sie jetzt mail.thegeekstuff.net, was die Adresse entsprechend vom DNS-Server auflösen sollte, den wir gerade konfiguriert haben.

$ ping mail.thegeekstuff.net

PING mail.thegeekstuff.net (10.42.0.70) 56(84) bytes of data.
64 bytes from mail.thegeekstuff.net (10.42.0.70): icmp_req=1 ttl=64 time=0.482 ms
64 bytes from mail.thegeekstuff.net (10.42.0.70): icmp_req=2 ttl=64 time=0.532 ms

Linux
  1. So installieren und konfigurieren Sie Arch Linux als Server

  2. So installieren und konfigurieren Sie den DHCP-Server unter Linux

  3. So installieren und konfigurieren Sie den Zabbix-Überwachungsserver unter Linux

  4. So installieren und konfigurieren Sie EMC PowerPath unter Linux

  5. So installieren und konfigurieren Sie Linux NTP-Server und -Client

So installieren und konfigurieren Sie Apache Webserver unter Oracle Linux 8

So installieren und konfigurieren Sie den Nginx-Webserver unter Oracle Linux 8

Wie installiere und konfiguriere ich Django auf Linux VPS und Dedicated Server?

So installieren und konfigurieren Sie einen TeamSpeak Server auf Ubuntu 18.04

So installieren und konfigurieren Sie einen Minecraft-Server unter Ubuntu 18.04

So installieren und konfigurieren Sie einen Linux Ubuntu NFS-Server