Vyvinutý v 80. letech studenty Berkeley University,BIND (Berkeley Internet Name Domain ) je server DNS s otevřeným zdrojovým kódem která poskytuje služby DNS na distribucích Linuxu. Co je tedy server DNS? DNS server je služba, která pomáhá vyřešit plně kvalifikovaný název domény (FQDN ) na IP adresu a navíc provést zpětný překlad – překlad IP adresy na uživatelsky přívětivý název domény.
Proč je rozlišení jmen důležité? Počítače lokalizují služby na serverech pomocí IP adres. IP adresy však nejsou tak uživatelsky přívětivé jako doménová jména a bylo by těžké si pamatovat každou IP adresu spojenou s každým názvem domény. Server DNS zasáhne a pomůže přeložit tyto názvy domén na adresy IP počítačů.
Tato příručka vás provede procesem nastavení DNS bind serveru na CentOS 8 / RHEL 8.
Nastavení laboratoře:
- Server: CentOS 8 (minimální server)
- IP adresa: 192.168.43.35
- Hots Name : dns-primary.linuxtechi.local
- Doména: linuxtechi.local
Pojďme se nyní pustit do práce s konfigurací DNS bind serveru.
Krok 1:Nainstalujte bind DNS na CentOS 8 / RHEL 8
Začneme instalací balíčku bind a bind-utils. Tyto balíčky tvoří DNS server a jeho nástroje odpovědné za dotazování jmenných serverů nebo DNS serverů.
Proveďte příkaz:
# dnf install bind bind-utils
Po úspěšné instalaci spusťte server DNS pomocí příkazu níže:
# systemctl start named
Dále jej povolte, aby se mohl spustit i po restartu
# systemctl enable named
Abyste se ujistili, že služba běží podle očekávání, zkontrolujte její stav
# systemctl status named
Skvělé, DNS server běží naprosto perfektně. Nyní přejdeme ke konfiguraci serveru Bind DNS
Krok 2: Nakonfigurujte vazební server DNS
Doporučený postup obvykle doporučuje před provedením jakýchkoli změn vytvořit zálohu konfiguračního souboru. Je to proto, že pokud by se něco pokazilo, vždy se můžeme vrátit k původnímu neupravovanému souboru. A tady tomu není jinak.
Udělejme zálohu konfiguračního souboru /etc/named.conf
# cp /etc/named.conf /etc/named.bak
Nyní pokračujte a otevřete soubor pomocí preferovaného textového editoru. V tomto případě používáme editor vim.
# vim /etc/named.conf
V části „Možnosti ’ , ujistěte se, že zakomentujete řádky uvedené níže, abyste umožnili serveru Bind DNS naslouchat všem IP adresám.
// listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; };
Dále vyhledejte parametr allow-query a upravte jej podle podsítě vaší sítě.
allow-query { localhost; 192.168.43.0/24; };
Toto nastavení povoluje přístup k serveru DNS pouze hostitelům v definované síti, nikoli pouze libovolnému jinému hostiteli.
Zónadopředného vyhledávání DNS je ten, který ukládá vztah adresy IP názvu hostitele. Při dotazu poskytne IP adresu hostitelského systému pomocí názvu hostitele. Naproti tomu reverznízóna DNS vrátí plně kvalifikovaný název domény (FQDN) serveru ve vztahu k jeho IP adrese.
Chcete-li definovat zóny zpětného a dopředného vyhledávání, zkopírujte a vložte následující konfiguraci na konec /etc/named.conf
//forward zone zone "linuxtechi.local" IN { type master; file "linuxtechi.local.db"; allow-update { none; }; allow-query { any; }; }; //backward zone zone "43.168.192.in-addr.arpa" IN { type master; file "linuxtechi.local.rev"; allow-update { none; }; allow-query { any; }; };
- typ :Určuje roli serveru pro konkrétní zónu. atribut ‚master‘ znamená, že se jedná o autoritativní server.
- soubor :Ukazuje na soubor dopředné / zpětné zóny domény.
- aktualizace povolení :Tento atribut definoval hostitelské systémy, které mohou předávat dynamické aktualizace DNS. V tomto případě žádné nemáme.
Po uložení ukončete konfigurační soubor /etc/named.conf.
Krok 3:Vytvořte dopředný soubor zóny DNS pro doménu
Vytvořte dopředný soubor zóny DNS pro doménu linuxtechi.local, jak je znázorněno níže, a přidejte následující obsah
[[email protected] ~]# vim /var/named/linuxtechi.local.db $TTL 86400 @ IN SOA dns-primary.linuxtechi.local. admin.linuxtechi.local. ( 2020011800 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) ;Name Server Information @ IN NS dns-primary.linuxtechi.local. ;IP Address for Name Server dns-primary IN A 192.168.43.35 ;Mail Server MX (Mail exchanger) Record linuxtechi.local. IN MX 10 mail.linuxtechi.local. ;A Record for the following Host name www IN A 192.168.43.50 mail IN A 192.168.43.60 ;CNAME Record ftp IN CNAME www.linuxtechi.local.
Pojďme definovat některé parametry uvedené v konfiguračním souboru:
- TTL :Toto je zkratka pro Time-To-Live. TTL je doba (neboli přeskoky), po kterou paket existuje v síti, než je router nakonec zahozen.
- IN :To znamená Internet.
- SOA :Toto je zkratka pro začátek úřadu. V podstatě definuje autoritativní jmenný server, v tomto případě dns-primary.linuxtechi.local a kontaktní informace – admin.linuxtechi.local
- NS :Toto je zkratka pro Name Server.
- A :Toto je záznam A. Ukazuje na název domény/subdomény na adresu IP
- Sériové :Toto je atribut používaný serverem DNS k zajištění aktualizace obsahu souboru konkrétní zóny.
- Obnovit :Definuje, kolikrát by měl podřízený server DNS přenést zónu z hlavního serveru.
- Zkusit znovu :Definuje, kolikrát by se měl slave pokusit o přenos zóny, který nereaguje.
- Platnost vyprší :Určuje dobu, po kterou by měl podřízený server čekat, než odpoví na dotaz klienta, když je hlavní server nedostupný.
- Minimální :Toto je zodpovědné za nastavení minimálního TTL pro zónu.
- MX :Toto je záznam výměny pošty. Určuje poštovní server, který přijímá a odesílá e-maily
- CNAME :Toto je kanonické jméno. Mapuje alias název domény na jiný název domény.
- PTR :Zkratka pro Pointer, tento atribut překládá IP adresu na název domény, na rozdíl od názvu domény.
Krok 4:Vytvořte soubor reverzní zóny DNS pro doménu
Podobně musíme vytvořit soubor pro zpětné vyhledávání DNS. Do souboru vložte následující obsah:
[[email protected] ~]# vim /var/named/linuxtechi.local.rev $TTL 86400 @ IN SOA dns-primary.linuxtechi.local. admin.linuxtechi.local. ( 2020011800 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) ;Name Server Information @ IN NS dns-primary.linuxtechi.local. dns-primary IN A 192.168.43.35 ;Reverse lookup for Name Server 35 IN PTR dns-primary.linuxtechi.local. ;PTR Record IP address to Hostname 50 IN PTR www.linuxtechi.local. 60 IN PTR mail.linuxtechi.local.
Dále dvěma konfiguračním souborům přiřaďte potřebná oprávnění k souboru.
# chown named:named /var/named/linuxtechi.local.db # chown named:named /var/named/linuxtechi.local.rev
Chcete-li ověřit, že soubory vyhledávání zóny DNS neobsahují žádné syntaktické chyby, spusťte zobrazené příkazy:
# named-checkconf # named-checkzone linuxtechi.local /var/named/linuxtechi.local.db # named-checkzone 192.168.43.35 /var/named/linuxtechi.local.rev
Pokud nejsou žádné chyby, měl by se zobrazit výstup:
Aby se změny projevily v systému, restartujte server Bind DNS
# systemctl restart named
Aby klientské systémy měly přístup k systému, musíme přidat službu DNS na firewall a poté znovu načíst firewall.
# firewall-cmd --add-service=dns --zone=public --permanent # firewall-cmd --reload
Krok 5:Otestujte server Bind DNS z klientského systému
Po dokončení konfigurace na serveru DNS se vydáme na klientský počítač a provedeme několik testů.
Na klientském počítači (CentOS 8 / RHEL 8) otevřete /etc/resolv.conf soubor a upravte následující parametr:
nameserver 192.168.43.35
Jako vždy uložte a zavřete konfigurační soubor.
Nakonec musíte připojit IP adresu Bind DNS serveru k /etc/sysconfig/network-scripts/ifcfg-enp0s3 soubor podle obrázku.
Uložte a zavřete konfigurační soubor a poté restartujte službu správce sítě, aby se výše uvedené změny projevily
# systemctl restart NetworkManager
Pomocí příkazu nslookup otestujte server Bind DNS podle obrázku:
# nslookup dns-primary.linuxtechi.local # nslookup mail.linuxtechi.local # nslookup www.linuxtechi.local # nslookup ftp.linuxtechi.local
# nslookup 192.168.43.35
Výstup příkazu nslookup potvrzuje, že dopředné vyhledávání DNS funguje podle očekávání.
Kromě toho můžete také použít příkaz dig, jak je znázorněno
# dig dns-primary.linuxtechi.local
Chcete-li provést zpětné vyhledávání DNS, použijte příkaz dig, jak je uvedeno:
# dig -x 192.168.43.35
Perfektní! Reverzní DNS vyhledávání také funguje, jak bychom očekávali.
A tím tento tutoriál končí. V této příručce jsme vás provedli instalací serveru DNS pomocí Bind na CentOS 8. Vyzkoušejte to a neváhejte a pošlete nám svůj názor.
Přečtěte si také : Jak nastavit server NFS na CentOS 8 / RHEL 8