GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nakonfigurovat server DNS (BIND) na CentOS 8 / RHEL 8

Domain Name System (DNS) je hierarchický distribuovaný systém pojmenování pro počítače, služby nebo jakýkoli zdroj připojený k internetu nebo privátní síti. Sdružuje různé informace s názvy domén přiřazenými každé ze zúčastněných entit.

A co je nejdůležitější, převádí názvy domén, které mají význam pro lidi, do číselných identifikátorů spojených se síťovým vybavením za účelem lokalizace a adresování těchto zařízení po celém světě.

Tato příručka vám pomůže nastavit server DNS na CentOS 8 / RHEL 8.

Předpoklady

Název hostitele: ns1.itzgeek.local

IP adresa: 192.168.0.10

Instalace serveru DNS

BIND je zkratka pro Berkeley Internet Name Domain, software, který umožňuje provádět konverzi jména na IP.

yum -y install bind bind-utils

Konfigurace serveru DNS

Hlavní konfigurační soubor BIND je /etc/named.conf. Tento soubor použijeme ke konfiguraci serveru DNS a definování zóny DNS.

BIND standardně naslouchá na localhost. Nakonfigurujeme tedy servery DNS, aby naslouchaly na všech síťových rozhraních nebo na konkrétním rozhraní.

Upravte soubor /etc/named.conf.

vi /etc/named.conf

Zakomentujte následující řádek. To umožní BINDu naslouchat systémovým síťovým rozhraním jiným než localhost.

Poslouchat na všech IP adresách:

//listen-on port 53 { 127.0.0.1; };
//listen-on-v6 port 53 { ::1; };

Poslouchejte na konkrétní IP adrese:

listen-on port 53 { 127.0.0.1; 192.168.0.10; };

Přidejte svou síť v následujícím řádku. Přidal jsem 192.168.0.0/24, abych umožnil klientům ze sítě 192.168.0.0/24 dotazovat se serveru DNS na překlad názvu do IP.

allow-query     { localhost;192.168.0.0/24; };

Vytvořit zóny

Upravte soubor /etc/named.conf.

vi /etc/named.conf

Dopředná zóna

Následuje záznam dopředné zóny v souboru named.conf napsaného pro doménu itzgeek.local.

zone "itzgeek.local" IN { // Domain Name
           
           type master;  // Master DNS Server

           file "itzgeek.local.db";  // Zone File (/var/named/)

           allow-update { none; };  // Since master DNS, it is none

};

itzgeek.local – Název domény
master – Primární DNS
itzgeek.local.db – Soubor dopředného vyhledávání
aktualizace povolení – Vzhledem k tomu, že se jedná o hlavní DNS, neměl by být žádný

Reverzní zóna

Následuje záznam reverzní zóny v souboru named.conf.

zone "0.168.192.in-addr.arpa" IN { // Reverse Zone Name, should match with network in reverse order
             
             type master;  // Master DNS Server
             
             file "192.168.0.db";  // Zone File (/var/named/) 
             
             allow-update { none; }; // Since master DNS, it is none
 
};

0.168.192.in-addr.arpa – Název zpětného vyhledávání
master – Primární DNS
192.168.0.db – Soubor zpětného vyhledávání
aktualizace povolení – Vzhledem k tomu, že se jedná o hlavní DNS, neměl by být žádný

Vytvořit soubory zóny

Nyní je čas vytvořit vyhledávací soubor pro vytvořenou zónu. Ve výchozím nastavení jsou soubory pro vyhledávání zóny umístěny v adresáři /var/named. Vytvořte soubor zóny s názvem itzgeek.local.db pro dopředné vyhledávání v adresáři /var/named.

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

Dopředná zóna

Existuje několik speciálních klíčových slov pro soubory zóny

Vytvořte soubor.

vi /var/named/itzgeek.local.db

A – záznam
NS – Názvový server
MX – Mail for Exchange
CNAME – Kanonický název

$TTL 86400
@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                              3           ;Serial
                                              3600        ;Refresh
                                              1800        ;Retry
                                              604800      ;Expire
                                              86400       ;Minimum TTL
)

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

Kdykoli aktualizujete soubory zóny pro aktualizaci záznamu DNS, nezapomeňte zvýšit sériové číslo.

Reverzní zóna

Vytvořte soubor zóny s názvem 192.168.0.db pro reverzní zónu v adresáři /var/named, vytvořte zpětný ukazatel na výše uvedené položky dopředné zóny.

vi /var/named/192.168.0.db

PTR – Ukazatel
SOA – Začátek oprávnění

$TTL 86400
@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                       3           ;Serial
                                       3600        ;Refresh
                                       1800        ;Retry
                                       604800      ;Expire
                                       86400       ;Minimum TTL
)

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

Kdykoli aktualizujete soubory zóny pro aktualizaci záznamu DNS, nezapomeňte zvýšit sériové číslo.

Ověřit konfiguraci serveru DNS

Použijte příkaz named-checkconf k ověření konfiguračního souboru.

named-checkconf /etc/named.conf

Pokud nevidíte žádnou chybu, můžete začít.

Pomocí níže uvedeného příkazu ověřte soubor dopředné zóny, který jste vytvořili.

named-checkzone itzgeek.local /var/named/itzgeek.local.db

itzgeek.localNázev domény

/var/named/itzgeek.local.dbCesta k souboru zóny

Výstup:

zone itzgeek.local/IN: loaded serial 3
OK
Sériové číslo uvedené ve výstupu by se mělo shodovat se sériovým číslem v souborech zóny.

Proveďte totéž pro reverzní zónu.

named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.db

Výstup:

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

Spustit službu DNS

Jakmile ověříte konfigurace DNS, restartujte službu vazby.

systemctl restart named

Povolte jej při spuštění systému.

systemctl enable named

Aktualizace záznamu DNS

Kdykoli změníte DNS záznam, nezapomeňte změnit sériové číslo v souboru zóny a znovu načíst zónu.

Změňte itzgeek.local &0.168.192.in-addr.arpa pomocí názvů zón.

### Forward Zone ###

rndc reload itzgeek.local

### Reverse Zone ###

rndc reload 0.168.192.in-addr.arpa

Firewall

Přidejte pravidlo brány firewall, které umožní dotazy DNS z klientských počítačů.

firewall-cmd --permanent --add-port=53/udp

firewall-cmd --reload

Ověřte server DNS

Pokud Network Manager síť nespravuje, navštivte libovolný klientský počítač a přidejte IP adresu DNS serveru do /etc/resolv.conf.

nameserver 192.168.0.10

Pokud Network Manager spravuje síť, vložte následující položku do souboru /etc/sysconfig/network-scripts/ifcfg-eXX.

DNS1=192.168.0.10

Restartujte síťovou službu.

service network restart

OR

systemctl restart NetworkManager

Pomocí následujícího příkazu ověřte dopředné vyhledávání, kde server DNS udává 192.168.0.100 jako ip pro www.itzgeek.local .

dig www.itzgeek.local

Výstup:

; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> 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: 42679
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

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

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

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

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

;; Query time: 0 msec
;; SERVER: 192.168.0.10#53(192.168.0.10)
;; WHEN: Tue Jan 07 08:53:56 IST 2020
;; MSG SIZE  rcvd: 124
Nainstalujte balíček bind-utils, abyste získali příkaz nslookup nebo dig.

Potvrďte zpětné vyhledávání, kde server DNS uvádí www.itzgeek.local jako název pro 192.168.0.100 . Nyní je potvrzeno, že dopředné i zpětné vyhledávání fungují dobře.

dig -x 192.168.0.100

Výstup:

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

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

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

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

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

;; Query time: 0 msec
;; SERVER: 192.168.0.10#53(192.168.0.10)
;; WHEN: Tue Jan 07 08:55:30 IST 2020
;; MSG SIZE  rcvd: 148

Závěr

To je vše. Úspěšně jste nainstalovali BIND na CentOS 8 / RHEL 8 jako hlavní server. V našem dalším článku uvidíme, jak nakonfigurovat podřízený DNS server na CentOS 8 / RHEL 8.


Cent OS
  1. Nakonfigurujte DNS na CentOS 5 / RHEL 5 s chrootem

  2. Jak nakonfigurovat server DNS na CentOS 5 / RHEL 5

  3. Jak nakonfigurovat Slave DNS (BIND) na CentOS 7 / RHEL 7

  1. Jak nainstalovat DNS server na RHEL 8 / CentOS 8 Linux

  2. Jak nastavit DNS (Bind) Server na CentOS/RHEL 7/6/5

  3. Jak nakonfigurovat NTP server a klienta v CentOS / RHEL 7

  1. Nakonfigurujte klíč RNDC pro server Bind DNS na CentOS 7

  2. CentOS / RHEL :Jak nakonfigurovat server DHCP

  3. Centos 7 :Konfigurace serveru DNS