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

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

Das Domain Name System (DNS) ist die Wurzel des Internets, das den Domainnamen in die IP-Adresse übersetzt und umgekehrt. Das BIND9-Paket (Berkeley Internet Name Domain) bietet die Funktionalität der Namen-zu-IP-Konvertierung.

Dieser Beitrag führt Sie durch die Konfiguration des DNS-Servers auf Ubuntu 18.04 / Ubuntu 16.04.

Umgebung

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

DNS-Server auf Ubuntu 18.04 / Ubuntu 16.04 einrichten

Voraussetzungen

Aktualisieren Sie den Repository-Index.

sudo apt update

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

LESEN: So konfigurieren Sie eine statische IP-Adresse in Ubuntu 18.04 / Ubuntu 16.04 mit ifupdown

Wenn Sie Netplan – ein neues Netzwerktool verwenden zum Konfigurieren des Netzwerks in Ubuntu 18.04, dann.

LESEN :So konfigurieren Sie eine statische IP-Adresse in Ubuntu 18.04 mit Netplan

DNS-Server installieren

Der Paketname für den DNS-Server auf Ubuntu lautet bind9 und ist im Basis-Repository verfügbar. Verwenden Sie den apt-Befehl, um das bind9-Paket zu installieren.

sudo apt install -y bind9 bind9utils bind9-doc dnsutils

DNS-Server konfigurieren

Das Verzeichnis /etc/bind/ ist das Hauptkonfigurationsverzeichnis des DNS-Servers und enthält Konfigurationsdateien und Zonensuchdateien.

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

Zonen erstellen

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

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

Die folgenden Einträge sind 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 Sie Zonen erstellt haben, können Sie fortfahren und Zonendatendateien erstellen, die DNS-Einträge für die Vorwärtszone und die Rückwärtszone enthalten.

Lookup-Datei der Forward-Zone

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

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 unten angezeigten Inhalt.

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.
$TTL    604800
@       IN      SOA     ns1.itzgeek.local. root.itzgeek.local. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
;@      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.
Reverse-Zone-Lookup-Datei

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 unten angezeigten Inhalt.

Wenn Sie DNS-Einträge in der Lookup-Datei ändern, stellen Sie sicher, dass Sie die Seriennummer auf eine Zufallszahl aktualisieren, die höher als die aktuelle ist.
$TTL    604800
@       IN      SOA     itzgeek.local. root.itzgeek.local. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
;@      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 und die 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 3
OK

Rückwärtszone

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 3
OK

Bindungsdienst neu starten.

sudo systemctl restart bind9

Aktivieren Sie es beim Systemstart.

sudo systemctl enable bind9

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

sudo systemctl status bind9

DNS-Eintragsaktualisierung

Wenn Sie einen DNS-Eintrag ändern, vergessen Sie nicht, die Seriennummer in der Zonendatei zu ändern und die Zone neu zu laden.

Ändern Sie itzgeek.local &0.168.192.in-addr.arpa mit Ihren Zonennamen.

### Forward Zone ###

sudo rndc reload itzgeek.local 

### Reverse Zone ###

sudo rndc reload 0.168.192.in-addr.arpa

DNS-Server überprüfen

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

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

dig www.itzgeek.local

Wenn Sie erhalten, dass der Befehl nicht gefunden wurde, installieren Sie das Paket bind-utils.

Ausgabe:

; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.itzgeek.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18022
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; 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: 0 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Dec 30 12:42:18 EST 2019
;; MSG SIZE  rcvd: 96

Die Antwort des DNS-Servers für den Forward-Lookup:192.168.0.100 als IP-Adresse für www.itzgeek.local .

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

dig -x 192.168.0.100

Ausgabe:

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

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; 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: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Dec 30 12:43:20 EST 2019
;; MSG SIZE  rcvd: 120

Die Antwort des DNS-Servers für Reverse Lookup:www.itzgeek.local als Name für 192.168.0.100.

Dieses Ergebnis bestätigt, dass beide Zonensuchen einwandfrei funktionieren.

Schlussfolgerung

Das ist alles. Sie haben jetzt erfolgreich den DNS-Server auf Ubuntu 18.04 / Ubuntu 16.04 als Masterserver konfiguriert. In unserem nächsten Beitrag werden wir einen Slave-DNS-Server auf Ubuntu 18.04 / Ubuntu 16.04 konfigurieren.


Ubuntu
  1. So installieren und konfigurieren Sie einen NFS-Server unter Ubuntu 20.04

  2. So installieren und konfigurieren Sie VNC unter Ubuntu 20.04

  3. So installieren und konfigurieren Sie VNC unter Ubuntu 18.04

  4. So konfigurieren Sie die MySQL-Master-Slave-Replikation unter Ubuntu 18.04

  5. So installieren und konfigurieren Sie den DHCP-Server unter Ubuntu 20.04

So installieren und konfigurieren Sie DHCP unter Ubuntu 18.04

So konfigurieren Sie den DNS (BIND)-Server unter CentOS 7 / RHEL 7

So konfigurieren Sie einen Slave-DNS-Server (BIND) unter Ubuntu 18.04 / 16.04 und Debian 10 / 9

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

So installieren und konfigurieren Sie den DNS-Server unter Ubuntu 16.04 LTS

So installieren Sie den DNS-Server unter Ubuntu 20.04 LTS