
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.