GNU/Linux >> Znalost Linux >  >> Debian

Jak nakonfigurovat server DNS na Debian 10 / Debian 9

Domain Name System (zkráceně DNS) je internetová služba, která se používá k překladu názvu domény na IP adresu a naopak.

BIND (Berkeley Internet Name Domain) poskytuje funkci převodu jména na IP.

Tento příspěvek vám pomůže nakonfigurovat DNS server na Debianu 10 / Debianu 9.

Životní prostředí

Název domény:itzgeek.local
ns1.itzgeek.local 192.168.0.10 Hlavní server DNS

Předpoklady

Aktualizujte index úložiště.

sudo apt-get update

Ujistěte se, že server DNS má statickou IP adresu.

ČTĚTE :Jak nastavit statickou IP adresu v Debianu

Instalace serveru DNS

Název balíčku DNS serveru v Debianu je bind9 a je dostupný v základním úložišti. K instalaci balíčku bind9 můžete použít příkaz apt.

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

Konfigurace serveru DNS

/etc/bind/ je konfigurační adresář bind9, obsahuje konfigurační soubory a soubory pro vyhledávání zón. Globální konfigurační soubor je /etc/bind/named.conf.

Vytvořit zóny

Začněme vytvořením dopředné zóny pro vaši doménu.

Pro místní zónu DNS byste neměli používat globální konfigurační soubor, ale můžete použít soubor /etc/bind/named.conf.local.

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

Dopředná zóna

Následuje záznam dopředné zóny pro doménu itzgeek.local v souboru 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.

};

Reverzní zóna

Následující text je pro reverzní zónu v souboru 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.

};

Vytvořit soubor vyhledávání zóny

Jakmile jsou zóny vytvořeny, můžete pokračovat a vytvářet datové soubory zón pro dopřednou zónu a zónu zpět.

Dopředná zóna

Zkopírujte ukázkové položky do souboru zóny nazvaného forward.itzgeek.local.db pro dopřednou zónu v adresáři /etc/bind.

Typy záznamů v souboru zóny,

SOA – Začátek autority
NS – Jmenný server
A – Záznam
MX – Mail for Exchange
CN – Canonical Jméno

Názvy domén by měly končit tečkou (.).

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

Upravte zónu.

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

Aktualizujte obsah, jak je uvedeno níže.

Kdykoli změníte jakékoli záznamy ve vyhledávacím souboru, ujistěte se, že aktualizujete sériové číslo na nějaké náhodné číslo, vyšší než aktuální.
;
; 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.

Reverzní zóna

Zkopírujte ukázkové položky do souboru zóny s názvem reverse.itzgeek.local.db pro reverzní zónu v adresáři /etc/bind a vytvořte zpětné ukazatele pro výše uvedené záznamy dopředné zóny.

PTR – ukazatel
SOA – začátek autorizace

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

Upravte soubor reverzní zóny.

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

Aktualizujte obsah, jak je uvedeno níže.

Kdykoli změníte jakékoli záznamy ve vyhledávacím souboru, ujistěte se, že aktualizujete sériové číslo na nějaké náhodné číslo, vyšší než aktuální.
;
; 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.

Zkontrolujte syntaxi konfigurace BIND

Použijte příkaz named-checkconf ke kontrole syntaxe souborů named.conf* na případné chyby.

sudo named-checkconf

Pokud nejsou žádné chyby, příkaz se vrátí do shellu.

Také můžete použít named-checkzone ke kontrole syntaktických chyb v souborech zóny.

Dopředná zóna

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

Výstup:

zone itzgeek.local/IN: loaded serial 2
OK

Reverzní zóna

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

Výstup:

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

Restartujte službu vazby.

sudo systemctl restart bind9

Zkontrolujte stav služby bind9.

sudo systemctl status bind9

Ověřte DNS

Přejděte na libovolný klientský počítač a přidejte naši novou IP adresu DNS serveru do souboru /etc/resolv.conf.

sudo nano /etc/resolv.conf

Zadejte záznam jako níže.

nameserver 192.168.0.10

NEBO

Přečtěte si níže uvedený návod k nastavení IP serveru DNS v Linuxu.

ČTĚTE: Jak nastavit DNS IP adresu v CentOS / Fedora

ČTĚTE: Jak nastavit IP adresu DNS v Ubuntu / Debian – ifupdown

ČTĚTE: Jak nastavit IP adresu DNS v Ubuntu 18.04 – Netplan

K ověření serveru DNS můžete použít příkaz nslookup nebo dig.

Pomocí příkazu dig ověřte dopředné vyhledávání.

dig www.itzgeek.local

Pokud zjistíte, že příkaz nebyl nalezen, nainstalujte bind-utils na deriváty Red Hat nebo dnsutils na balíček derivátů Debianu.

Výstup:

; <<>> 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

Odpověď serveru DNS pro dopředné vyhledávání www.itzgeek.local je 192.168.0.100.

Potvrďte zpětné vyhledávání příkazem dig.

dig -x 192.168.0.100

Výstup:

; <<>> 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

Odpověď serveru DNS pro zpětné vyhledávání 192.168.0.100 je www.itzgeek.local.

Tento výsledek potvrzuje, že dopředné i zpětné vyhledávání zón funguje dobře.

Závěr

To je vše. Úspěšně jste nainstalovali DNS server na Debian 10 / Debian 9. V našem dalším článku nakonfigurujeme Slave DNS server na Debian 10 / Debian 9.


Debian
  1. Jak nakonfigurovat FTP server na Debian 9 Stretch Linux

  2. Jak nakonfigurovat sdílení serveru Samba na Debian 9 Stretch Linux

  3. Jak nainstalovat a nakonfigurovat OpenVPN Server na Debian 10

  1. Jak nasadit dynamický DNS server s Dockerem na Debianu 10

  2. Jak nainstalovat a nakonfigurovat jednoduchý server DNS (BIND) na Debianu 9

  3. Jak nakonfigurovat bránu firewall s CSF na Debianu 9

  1. Jak nainstalovat a nakonfigurovat VNC na Debian 9

  2. Jak nakonfigurovat replikaci MySQL (MariaDB) Master-Slave na Debianu 10

  3. Jak nainstalovat a nakonfigurovat DNS Server (Bind 9) na Ubuntu / Debian