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: 100Nainstalujte 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.