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

So konfigurieren Sie den DNS-Server unter Debian 10 / Debian 9

Domain Name System (kurz DNS) ist ein Internetdienst, der zur Auflösung von Domainnamen in IP-Adressen und umgekehrt verwendet wird.

BIND (Berkeley Internet Name Domain) bietet die Funktionalität der Name-zu-IP-Konvertierung.

Dieser Beitrag hilft Ihnen bei der Konfiguration des DNS-Servers unter Debian 10 / Debian 9.

Umgebung

Domänenname:itzgeek.local
ns1.itzgeek.local 192.168.0.10 Master-DNS-Server

Voraussetzungen

Aktualisieren Sie den Repository-Index.

sudo apt-get update

Stellen Sie sicher, dass der DNS-Server eine statische IP-Adresse hat.

LESEN :So konfigurieren Sie eine statische IP-Adresse in Debian

DNS-Server installieren

Der Paketname des DNS-Servers in Debian lautet bind9 und ist im Basis-Repository verfügbar. Sie können den apt-Befehl verwenden, um das bind9-Paket zu installieren.

sudo apt-get install -y bind9 bind9utils bind9-doc dnsutils

DNS-Server konfigurieren

/etc/bind/ ist das Konfigurationsverzeichnis von bind9, enthält Konfigurationsdateien und Zonen-Lookup-Dateien. Die globale Konfigurationsdatei ist /etc/bind/named.conf.

Zonen erstellen

Beginnen wir damit, eine Weiterleitungszone für Ihre Domain zu erstellen.

Sie sollten nicht die globale Konfigurationsdatei für die lokale DNS-Zone verwenden, sondern die Datei /etc/bind/named.conf.local.

sudo nano /etc/bind/named.conf.local

Vorwärtszone

Das Folgende ist der Forward-Zone-Eintrag für die Domain itzgeek.local in der Datei named.conf.local.

zone "itzgeek.local" IN { //Domain name

     type master; //Primary DNS

     file "/etc/bind/forward.itzgeek.local.db"; //Forward lookup file

     allow-update { none; }; // Since this is the primary DNS, it should be none.

};

Gegenzone

Das Folgende gilt für die Reverse-Zone in der Datei named.conf.local.

zone "0.168.192.in-addr.arpa" IN { //Reverse lookup name, should match your network in reverse order

     type master; // Primary DNS

     file "/etc/bind/reverse.itzgeek.local.db"; //Reverse lookup file

     allow-update { none; }; //Since this is the primary DNS, it should be none.

};

Zonen-Lookup-Datei erstellen

Nachdem Zonen erstellt wurden, können Sie fortfahren und Zonendatendateien für die Vorwärtszone und die Rückwärtszone erstellen.

Vorwärtszone

Kopieren Sie die Beispieleinträge in die Zonendatei forward.itzgeek.local.db für die Forward-Zone im Verzeichnis /etc/bind.

Eintragstypen in der Zonendatei,

SOA – Start of Authority
NS – Name Server
A – A record
MX – Mail for Exchange
CN – Canonical Name

Domänennamen sollten mit einem Punkt (.) enden.

sudo cp /etc/bind/db.local /etc/bind/forward.itzgeek.local.db

Bearbeiten Sie die Zone.

sudo nano /etc/bind/forward.itzgeek.local.db

Aktualisieren Sie den Inhalt wie unten gezeigt.

Wenn Sie Datensätze in der Nachschlagedatei ändern, stellen Sie sicher, dass Sie die Seriennummer auf eine Zufallszahl aktualisieren, die höher als die aktuelle ist.
;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns1.itzgeek.local. root.itzgeek.local. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
; Commentout below three lines
;@      IN      NS      localhost.
;@      IN      A       127.0.0.1
;@      IN      AAAA    ::1

;Name Server Information

@       IN      NS      ns1.itzgeek.local.

;IP address of Name Server

ns1     IN      A       192.168.0.10

;Mail Exchanger

itzgeek.local.   IN     MX   10   mail.itzgeek.local.

;A – Record HostName To Ip Address

www     IN       A      192.168.0.100
mail    IN       A      192.168.0.150

;CNAME record

ftp     IN      CNAME   www.itgeek.local.

Gegenzone

Kopieren Sie die Beispieleinträge in die Zonendatei namens reverse.itzgeek.local.db für die Reverse-Zone im Verzeichnis /etc/bind und erstellen Sie Reverse-Zeiger für die obigen Forward-Zonen-Einträge.

PTR – Pointer
SOA – Start of Authority

sudo cp /etc/bind/db.127 /etc/bind/reverse.itzgeek.local.db

Bearbeiten Sie die Reverse-Zone-Datei.

sudo nano /etc/bind/reverse.itzgeek.local.db

Aktualisieren Sie den Inhalt wie unten gezeigt.

Wenn Sie Datensätze in der Nachschlagedatei ändern, stellen Sie sicher, dass Sie die Seriennummer auf eine Zufallszahl aktualisieren, die höher als die aktuelle ist.
;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     itzgeek.local. root.itzgeek.local. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
; Commentout below two lines

;@      IN      NS      localhost.
;1.0.0  IN      PTR     localhost.

;Name Server Information

@       IN      NS     ns1.itzgeek.local.

;Reverse lookup for Name Server

10      IN      PTR    ns1.itzgeek.local.

;PTR Record IP address to HostName

100     IN      PTR    www.itzgeek.local.
150     IN      PTR    mail.itzgeek.local.

Überprüfen Sie die BIND-Konfigurationssyntax

Verwenden Sie den Befehl named-checkconf, um die Syntax von named.conf*-Dateien auf Fehler zu überprüfen.

sudo named-checkconf

Der Befehl kehrt zur Shell zurück, wenn keine Fehler vorliegen.

Außerdem können Sie named-checkzone verwenden, um die Syntaxfehler in Zonendateien zu überprüfen.

Vorwärtszone

sudo named-checkzone itzgeek.local /etc/bind/forward.itzgeek.local.db

Ausgabe:

zone itzgeek.local/IN: loaded serial 2
OK

Gegenzone

sudo named-checkzone 0.168.192.in-addr.arpa /etc/bind/reverse.itzgeek.local.db

Ausgabe:

zone 0.168.192.in-addr.arpa/IN: loaded serial 2
OK

Bindungsdienst neu starten.

sudo systemctl restart bind9

Überprüfen Sie den Status des bind9-Dienstes.

sudo systemctl status bind9

DNS verifizieren

Gehen Sie zu einem beliebigen Client-Rechner und fügen Sie die IP-Adresse unseres neuen DNS-Servers in die Datei /etc/resolv.conf ein.

sudo nano /etc/resolv.conf

Machen Sie einen Eintrag wie unten.

nameserver 192.168.0.10

ODER

Lesen Sie das folgende Tutorial, um die DNS-Server-IP unter Linux festzulegen.

LESEN: So stellen Sie die DNS-IP-Adresse in CentOS / Fedora ein

LESEN: So stellen Sie die DNS-IP-Adresse in Ubuntu / Debian ein – ifupdown

LESEN: So stellen Sie die DNS-IP-Adresse in Ubuntu 18.04 ein – Netplan

Sie können entweder den Befehl nslookup oder den Befehl dig verwenden, um den DNS-Server zu überprüfen.

Verwenden Sie den Befehl dig, um die Vorwärtssuche zu überprüfen.

dig www.itzgeek.local

Wenn Sie Befehl nicht gefunden erhalten, installieren Sie bind-utils auf Red Hat-Derivaten oder dnsutils auf dem Debian-Derivatpaket.

Ausgabe:

; <<>> DiG 9.11.5-P4-5.1-Debian <<>> www.itzgeek.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41979
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: c51856f159ddf40dadc13b835e1024a996e2a306d7888afe (good)
;; QUESTION SECTION:
;www.itzgeek.local.             IN      A

;; ANSWER SECTION:
www.itzgeek.local.      604800  IN      A       192.168.0.100

;; AUTHORITY SECTION:
itzgeek.local.          604800  IN      NS      ns1.itzgeek.local.

;; ADDITIONAL SECTION:
ns1.itzgeek.local.      604800  IN      A       192.168.0.10

;; Query time: 1 msec
;; SERVER: 192.168.0.10#53(192.168.0.10)
;; WHEN: Sat Jan 04 05:37:45 UTC 2020
;; MSG SIZE  rcvd: 124

Die Antwort des DNS-Servers für die Vorwärtssuche www.itzgeek.local lautet 192.168.0.100.

Bestätigen Sie die Rückwärtssuche mit dem Befehl dig.

dig -x 192.168.0.100

Ausgabe:

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> -x 192.168.0.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33889
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 9806a5ee8f6645c178aa65b25e102530e49ae9a15456fbe1 (good)
;; QUESTION SECTION:
;100.0.168.192.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
100.0.168.192.in-addr.arpa. 604800 IN   PTR     www.itzgeek.local.

;; AUTHORITY SECTION:
0.168.192.in-addr.arpa. 604800  IN      NS      ns1.itzgeek.local.

;; ADDITIONAL SECTION:
ns1.itzgeek.local.      604800  IN      A       192.168.0.10

;; Query time: 0 msec
;; SERVER: 192.168.0.10#53(192.168.0.10)
;; WHEN: Sat Jan 04 05:40:00 UTC 2020
;; MSG SIZE  rcvd: 148

Die Antwort des DNS-Servers für die Rückwärtssuche 192.168.0.100 lautet www.itzgeek.local.

Dieses Ergebnis bestätigt, dass sowohl Forward- als auch Reverse-Zonen-Lookups einwandfrei funktionieren.

Schlussfolgerung

Das ist alles. Sie haben den DNS-Server erfolgreich auf Debian 10 / Debian 9 installiert. In unserem nächsten Artikel werden wir den Slave-DNS-Server auf Debian 10 / Debian 9 konfigurieren.


Debian
  1. So konfigurieren Sie den FTP-Server unter Debian 9 Stretch Linux

  2. So konfigurieren Sie die Samba-Server-Freigabe unter Debian 9 Stretch Linux

  3. So installieren und konfigurieren Sie OpenVPN Server unter Debian 10

  4. So stellen Sie einen dynamischen DNS-Server mit Docker unter Debian 10 bereit

  5. So installieren und konfigurieren Sie einen einfachen DNS-Server (BIND) unter Debian 9

So konfigurieren Sie den DNS-Server unter Ubuntu 18.04 / Ubuntu 16.04

So konfigurieren Sie NTP-Server und -Client unter Debian 10

So installieren und konfigurieren Sie den Apache-Webserver unter Debian 11

So konfigurieren Sie LAMP mit Debian 11

So konfigurieren Sie Samba Server mit Debian 11

So konfigurieren Sie DNS in Windows Server 2012