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

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

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 7 / RHEL 7.

Životní prostředí

Název serveru: ns1itzgeek.local

IP adresa: 192.168.0.10

Instalovat DNS (BIND)

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 DNS (BIND)

BIND standardně naslouchá na localhost. Nakonfigurujeme tedy DNS server tak, aby naslouchal na systémové IP adrese, aby se klienti mohli dostat na DNS server pro řešení názvů domén.

vi /etc/named.conf

Poslouchat na všech IP adresách:

Nakonfigurujte BIND tak, aby naslouchal 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:

Nakonfigurujte BIND tak, aby naslouchal 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. Toto nastavení umožní klientům ze zmíněné sítě dotazovat se DNS na překlad jména na IP.

Pro toto demo jsem přidal 192.168.0.0/24.

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ásledující zóna je položkou dopředné zóny pro doménu itzgeek.local.

zone "itzgeek.local" IN {
         
         type master;
        
         file "/var/named/itzgeek.local.db";

         allow-update { none; };
};

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

Reverzní zóna

Následující zóna je vstup do reverzní zóny.

zone "0.168.192.in-addr.arpa" IN {
          
          type master;
          
          file "/var/named/192.168.0.db";
         
          allow-update { 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í – Protože se jedná o primární DNS, neměl by být žádný

Vytvořit soubory zóny

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 fwd.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 (.).

vi /var/named/itzgeek.local.db

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

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

@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                                1001    ;Serial
                                                3H      ;Refresh
                                                15M     ;Retry
                                                1W      ;Expire
                                                1D      ;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 soubor vyhledávání zóny, musíte změnit/navýšit sériový soubor jako 1002;Serial.

Vytvořte soubor zóny s názvem 192.168.0.db pro reverzní zónu v adresáři /var/named.

vi /var/named/192.168.0.db

Vytvořte zpětný ukazatel pro záznamy dopředné zóny, které jsme vytvořili dříve.

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

@   IN  SOA     ns1.itzgeek.local. root.itzgeek.local. (
                                                1001    ;Serial
                                                3H      ;Refresh
                                                15M     ;Retry
                                                1W      ;Expire
                                                1D      ;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 soubor vyhledávání zóny, musíte změnit/navýšit sériový soubor jako 1002;Serial.

Jakmile jsou soubory zóny vytvořeny, restartujte službu vazby.

systemctl restart named

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

systemctl enable named

Firewall

Přidejte do brány firewall pravidlo povolení, aby se klienti mohli připojit k serveru DNS za účelem překladu názvů.

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

firewall-cmd --reload

Ověřit zóny

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.

systemctl restart NetworkManager

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

dig www.itzgeek.local

Výstup: Server DNS by měl uvádět 192.168.0.100 jako IP adresu www.itzgeek.local.

; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> www.itzgeek.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35563
;; 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.      86400   IN      A       192.168.0.100

;; AUTHORITY SECTION:
itzgeek.local.          86400   IN      NS      primary.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: Wed Jul 03 02:00:40 EDT 2019
;; MSG SIZE  rcvd: 100
Nainstalujte BIND utilities yum install -y bind-utils balíček, abyste získali příkaz nslookup nebo dig.

Potvrďte zpětné vyhledávání.

dig -x 192.168.0.100

Výstup: Server DNS přiděluje adresu www.itzgeek.local jako název 192.168.0.100.

; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> -x 192.168.0.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4807
;; 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. 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: Wed Jul 03 02:02:47 EDT 2019
;; MSG SIZE  rcvd: 124

Nyní je potvrzeno, že dopředné i zpětné vyhledávání fungují dobře.

Závěr

To je vše. Úspěšně jste nainstalovali BIND na CentOS 7 / RHEL 7 jako hlavní server. Můžete nakonfigurovat podřízený DNS server pro redundanci.


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 nakonfigurovat server DNS na CentOS 5 / RHEL 5

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

  2. Jak nastavit soukromé servery DNS s BIND na CentOS 8

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

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

  2. Jak nakonfigurovat NTP server na RHEL 8 / CentOS 8 Linux

  3. Jak nakonfigurovat server Rsyslog v CentOS 8 / RHEL 8