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

Jak nastavit soukromé servery DNS s BIND na CentOS 8

BIND také známý jako „Berkeley Internet Name Domain“ je dnes jedním z nejpopulárnějších systémů doménových jmen (DNS). Jedná se o open-source a poskytuje služby DNS na operačních systémech Linux. Obecně vám pomůže přeložit plně kvalifikovaný název domény na adresu IP nebo adresu IP na název domény. Může být použit jako autoritativní jmenný server a poskytuje několik funkcí, jako je vyrovnávání zátěže, dynamická aktualizace, rozdělené DNS atd.

V tomto tutoriálu vám ukážeme, jak nastavit soukromý server DNS s BIND na CentOS 8. V související poznámce se podívejte na náš tutoriál o instalaci a konfiguraci jednoduchého serveru DNS (BIND) v Debianu 9.

Předpoklady

  • CentOS 8 VPS (budeme používat náš plán SSD 2 VPS)
  • Přístup k uživatelskému účtu root (nebo přístup k účtu správce s oprávněními root)

Pro účely tohoto tutoriálu použijeme následující nastavení:

Název hostitele: ns1.rosehosting.local
IP adresa: 192.168.1.100
Místní síť: 192.168.1.0/24

Krok 1:Přihlaste se k serveru a aktualizujte balíčky operačního systému serveru

Nejprve se přihlaste ke svému serveru CentOS 8 přes SSH jako uživatel root:

ssh root@IP_Address -p Port_number

Budete muset nahradit „IP_Address“ a „Port_number“ příslušnou IP adresou vašeho serveru a číslem portu SSH. V případě potřeby navíc nahraďte „root“ uživatelským jménem účtu správce.

Před spuštěním se musíte ujistit, že všechny balíčky CentOS nainstalované na serveru jsou aktuální. Můžete to provést spuštěním následujících příkazů:

dnf update -y

Krok 2:Instalace serveru DNS BIND

Ve výchozím nastavení je balíček vazby dostupný ve standardním úložišti CentOS 8. Můžete jej nainstalovat spuštěním následujícího příkazu:

dnf install bind bind-utils -y

Jakmile je BIND nainstalován, spusťte službu BIND a povolte její spuštění při restartu systému:

systemctl start named
systemctl enable named

Krok 3:Konfigurace serveru DNS BIND

Ve výchozím nastavení naslouchá server BIND pouze na localhost. Budete jej tedy muset nakonfigurovat tak, aby naslouchal na všech síťových rozhraních. Můžete jej nakonfigurovat úpravou souboru /etc/named.conf:

nano /etc/named.conf

Zakomentujte následující řádky:

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

Změňte následující řádek, abyste povolili dotaz pro vaši místní síť:

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

Po dokončení uložte a zavřete soubor.

Krok 4:Vytvoření dopředné a zpětné zóny DNS

Dopředná zóna se používá k překladu názvu hostitele na IP adresu, zatímco Reverzní zóna se používá k překladu IP adresy na název hostitele. Obecně platí, že všechny normální dotazy DNS jsou dotazy dopředného vyhledávání. Zóny dopředného a zpětného vyhledávání můžete definovat v souboru /etc/named.conf.

Upravte soubor /etc/named.conf pomocí následujícího příkazu:

nano /etc/named.conf

Přidejte následující řádky na konec souboru

//Forward Zone
zone "rosehosting.local" IN { 

           type master;  
           file "rosehosting.local.db"; 
           allow-update { none; };  

};

//Reverse Zone
zone "1.168.192.in-addr.arpa" IN { 

             type master;  
             file "192.168.1.db";             
             allow-update { none; };

};

Po dokončení uložte a zavřete soubor.

Krok 5:Vytvoření dopředných a zpětných souborů zóny

Dále budete muset vytvořit soubory dopředné a zpětné zóny definované v předchozím kroku. Ve výchozím nastavení jsou všechny soubory vyhledávání zóny umístěny v adresáři /var/named.

Nejprve vytvořte soubor dopředné zóny pomocí následujícího příkazu:

nano /var/named/rosehosting.local.db

Přidejte následující řádky:

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

;Name Server Information
@       IN  NS      ns1.rosehosting.local.

;IP address of Name Server
ns1       IN  A       192.168.1.100

;A - Record HostName To Ip Address
www     IN  A       192.168.1.101

;CNAME record
ftp     IN CNAME        www.rosehosting.local.

Uložte a zavřete soubor a poté vytvořte soubor reverzní zóny pomocí následujícího příkazu:

nano /var/named/192.168.1.db

Přidejte následující řádky:

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

;Name Server Information
@         IN      NS         ns1.rosehosting.local.

;Reverse lookup for Name Server
100       IN  PTR     ns1.rosehosting.local.

;PTR Record IP address to HostName
101      IN  PTR     www.rosehosting.local.

Po dokončení uložte a zavřete soubor.

Krok 6:Ověřte konfiguraci DNS

Po konfiguraci všech souborů zóny budete muset ověřit konfigurační soubory.

Nejprve ověřte hlavní konfigurační soubor pomocí následujícího příkazu:

named-checkconf /etc/named.conf

Pokud je vše v pořádku, neuvidíte žádné chyby.

Dále ověřte soubor dopředné zóny pomocí následujícího příkazu:

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

Měli byste získat následující výstup:

zone rosehosting.local/IN: loaded serial 3
OK

Dále ověřte soubor reverzní zóny pomocí následujícího příkazu:

named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.db

Yu by měl dostat následující výstup:

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

Nakonec restartujte službu BIND a použijte změny:

systemctl restart named

Krok 7:Konfigurace brány firewall

Dále budete muset vytvořit pravidlo brány firewall pro port 53, které umožní dotazy DNS z klientských počítačů. Můžete jej vytvořit pomocí následujícího příkazu:

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

Poté znovu načtěte službu brány firewall, aby se změny projevily:

firewall-cmd --reload

Krok 8:Ověřte server DNS

V tomto okamžiku je server BIND DNS nainstalován a nakonfigurován. Je čas zkontrolovat, zda to funguje nebo ne.

Nejprve upravte svůj soubor /etc/resolv.conf a přidejte IP adresu DNS serveru:

nano /etc/resolv.conf

Na začátek souboru přidejte následující řádek:

nameserver 192.168.1.100

Uložte a zavřete soubor a poté ověřte dopředné vyhledávání pomocí příkazu dig:

dig www.rosehosting.local 

Nebo

dig ns1.rosehosting.local

Pokud je vše v pořádku, měli byste obdržet následující odpověď:

; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> www.rosehosting.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: 52518
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

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

;; ANSWER SECTION:
www.rosehosting.local.    86400   IN  A   192.168.1.101

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

;; ADDITIONAL SECTION:
ns1.rosehosting.local.    86400   IN  A   192.168.1.100

;; Query time: 0 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Sat Dec 12 02:29:24 EST 2020
;; MSG SIZE  rcvd: 128

Dále ověřte zpětné vyhledávání pomocí následujícího příkazu:

dig -x 192.168.1.100

Měli byste obdržet následující odpověď:

; <<>> DiG 9.11.20-RedHat-9.11.20-5.el8 <<>> -x 192.168.1.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30878
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

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

;; ANSWER SECTION:
100.1.168.192.in-addr.arpa. 86400 IN    PTR ns1.rosehosting.local.

;; AUTHORITY SECTION:
1.168.192.in-addr.arpa.    86400   IN  NS  ns1.rosehosting.local.

;; ADDITIONAL SECTION:
ns1.rosehosting.local.    86400   IN  A   192.168.1.100

;; Query time: 0 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Sat Dec 12 02:29:43 EST 2020
;; MSG SIZE  rcvd: 148

Gratulujeme! úspěšně jste nastavili soukromý server DNS s BIND na CentOS 8.

Samozřejmě nemusíte nic z toho dělat, pokud používáte některou z našich hostingových služeb Linux VPS, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby to za vás nastavili. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.

PS . Pokud se vám tento příspěvek líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.


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

  2. Nakonfigurujte DNS na CentOS 5 / RHEL 5 s chrootem

  3. Jak nastavit časové pásmo na CentOS 7

  1. Nastavení serveru DHCP na CentOS 8 – Jak na to?

  2. Jak nastavit poštovní server pomocí PostfixAdmin na CentOS 7

  3. Jak nastavit VSFTPD na CentOS 8

  1. Jak nastavit firewall s FirewallD na CentOS 7

  2. Jak nastavit bloky serveru Nginx na CentOS 7

  3. Jak nastavit FTP server s VSFTPD na CentOS 7