Vyhledávání na webu

Nastavení Bind as Private DNS Server na RHEL 8


Systém názvů domén (DNS) je metoda používaná k překladu názvů domén čitelných pro člověka (neboli Plně kvalifikovaných názvů domén (FQDN )) na strojově čitelné adresy IP, k vyhledání počítače v síti, jako je Internet.

V počítačových a síťových systémech je to nezbytné, protože ačkoli jsou FQDN pro lidi snadno zapamatovatelné a použitelné, počítače (klienti) přistupují ke zdrojům nebo službám na jiných počítačích (serverech) na základě IP adres.

V tomto ohledu DNS server (také známý jako jmenný server) udržuje adresář FQDN a převádí je na IP adresy; může také vrátit IP adresu, když je poskytnut název hostitele/FQDN. Existují různé typy serverů DNS včetně autoritativního jmenného serveru, mezipaměti jmenného serveru a mnoha dalších.

V tomto článku vás provedeme kroky k instalaci a konfiguraci soukromého/interního autoritativního serveru DNS na RHEL 8 pomocí softwaru s otevřeným zdrojovým kódem BIND.

Požadavky:

  1. RHEL 8 s minimální instalací
  2. RHEL 8 s povoleným předplatným RedHat
  3. RHEL 8 se statickou IP adresou

Moje testovací prostředí:

Domain: tecmint.lan
DNS Server IP and hostname: 192.168.56.100, dns-primary.tecmint.lan
DNS Client IP and hostname: 192.168.56.104, tecmint.tecmint.lan

Krok 1: Instalace Bind DNS na RHEL 8

1. Chcete-li nainstalovat bind a jeho nástroje na váš server, spusťte následující příkaz cdnf.

dnf install bind bind-utils

2. Nyní spusťte službu DNS, poté povolte její automatické spouštění při spouštění systému a zkontrolujte, zda je v provozu pomocí příkazů systemctl.

systemctl start named
systemctl enable named
systemctl status named

Krok 2: Konfigurace BIND DNS na RHEL 8

3. Chcete-li nakonfigurovat server Bind DNS, musíte nejprve vytvořit zálohu původního konfiguračního souboru /etc/named.conf pomocí následujícího cp příkaz.

cp /etc/named.conf /etc/named.conf.orig

4. Nyní otevřete konfigurační soubor /etc/named.conf pro úpravy pomocí vašeho oblíbeného textového editoru příkazového řádku následovně.

vi /etc/named.conf 

V části konfigurace options zakomentujte následující řádky.

options {
        #listen-on port 53 { 127.0.0.1; };
        #listen-on-v6 port 53 { ::1; };
        directory       "/var/named";

5. Dále vyhledejte parametr allow-query a nastavte jeho hodnotu na vaši síť, což znamená, že pouze hostitelé ve vaší místní síti mohou dotaz na DNS server.

allow-query  {localhost; 192.168.56.0/24}

Krok 3: Vytvoření dopředných a zpětných zón DNS

Dopředná zóna je místo, kde jsou uloženy vztahy hostname (nebo FQDN) k IP adrese; vrací IP adresu pomocí název hostitele. Všimněte si, že normální DNS dotazy jsou dotazy dopředného vyhledávání. Na druhou stranu Reverse Zone vrací FQDN hostitele na základě jeho IP adresy.

6. Chcete-li definovat zóny vpřed a vzad, přidejte následující řádky na konec souboru /etc/named.conf< soubor.

//forward zone 
zone "tecmint.lan" IN { 
     type master; 
     file "tecmint.lan.db"; 
     allow-update { none; }; 
    allow-query {any; }
}; 
//backward zone 
zone "56.168.192.in-addr.arpa" IN { 
     type master; 
     file "tecmint.lan.rev"; 
     allow-update { none; }; 
    allow-query { any; }
};

Pojďme si stručně vysvětlit možnosti ve výše uvedených konfiguracích zón:

  • typ: Definuje roli tohoto serveru pro zónu. Hodnota „master“ znamená, že se jedná o autoritativní server, kde je udržována hlavní kopie dat zóny.
  • soubor: určuje databázový soubor zóny.
  • allow-update: určuje hostitele, kteří povolili odesílat dynamické aktualizace DNS pro hlavní zóny. V tomto případě žádný.

Krok 4: Vytvoření dopředného souboru zóny DNS

7. Nejprve vytvořte soubor Forward zone v adresáři /var/named.

vi /var/named/tecmint.lan.db

Přidejte do něj následující konfiguraci.

$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
    2019061800 ;Serial
    3600 ;Refresh
    1800 ;Retry
    604800 ;Expire
    86400 ;Minimum TTL
)

;Name Server Information
@ IN NS dns-primary.tecmint.lan.

;IP for Name Server
dns-primary IN A 192.168.56.100

;A Record for IP address to Hostname 
www IN A 192.168.56.5
mail IN A 192.168.56.10
docs  IN A 192.168.56.20

Pojďme si stručně vysvětlit výše uvedenou definici zóny a parametry.

  • TTL: určuje dobu trvání direktivy RR a $TTL poskytuje výchozí TTL pro každou RR bez konkrétní sady TTL.
  • @: Jedná se o alias pro název domény (např. tecmint.lan) definovaný v hlavním konfiguračním souboru.
  • IN: znamená Internet.
  • SOA: určuje počátek autority: kdo je autoritativní jmenný server (dns-primary.tecmint.lan), kontaktní informace správce ( admin.tecmint.lan, znak @ je nahrazen tečkou) a další související informace.
  • NS: znamená jmenný server.
  • Sériové: tuto hodnotu používá server DNS k ověření, zda je obsah souboru konkrétní zóny aktuální.
  • Obnovit: Určuje, jak často by měl podřízený server DNS provádět přenos zóny z hlavního serveru.
  • Opakovat: Určuje, jak často by se měl slave pokoušet o neúspěšný přenos zóny.
  • Vyprší: Určuje, jak dlouho by měl podřízený server čekat, než odpoví na dotaz klienta, když je hlavní server nedostupný.
  • Minimum: nastaví minimální TTL pro zónu.
  • A: Adresa hostitele.

Krok 5: Vytvoření souboru reverzní zóny DNS

8. Podobně vytvořte soubor Reverse zone v adresáři /var/named.

vi /var/named/tecmint.lan.rev

Pak do něj přidejte následující řádky. Zde je PTR opakem záznamu A používaného k mapování IP adresy na název hostitele.

$TTL 86400
@ IN SOA dns-primary.tecmint.lan. admin.tecmint.lan. (
    2019061800 ;Serial
    3600 ;Refresh
    1800 ;Retry
    604800 ;Expire
    86400 ;Minimum TTL
)
;Name Server Information
@ IN NS dns-primary.tecmint.lan.

;Reverse lookup for Name Server
100 IN PTR dns-primary.tecmint.lan.

;PTR Record IP address to HostName
5 IN PTR www.tecmint.lan.
10 IN PTR mail.tecmint.lan.
20 IN PTR docs.tecmint.lan.

9. Nastavte správná oprávnění vlastnictví k souborům zóny následovně.

chown :named /var/named/tecmint.lan.db
chown :named /var/named/tecmint.lan.rev

10. Po provedení výše uvedených změn nakonec zkontrolujte konfiguraci DNS a soubory zóny mají správnou syntaxi pomocí nástroje named-checkconf (no out znamená žádnou chybu):

named-checkconf
named-checkzone tecmint.lan /var/named/tecmint.lan.db
named-checkzone 192.168.56.100 /var/named/tecmint.lan.rev

11. Jakmile provedete veškerou potřebnou konfiguraci, musíte restartovat službu DNS, aby se poslední změny projevily.

systemctl restart named

12. Dále, než budou moci klienti přistupovat ke konfiguracím služeb DNS na serveru, musíte přidat službu DNS do konfigurace systémové brány firewall a znovu načíst nastavení brány firewall pomocí nástroje firewall-cmd následujícím způsobem :

firewall-cmd --permanent --zone=public --add-service=dns 
firewall-cmd --reload

Krok 6: Testování služby DNS od klienta

13. V této části si ukážeme, jak otestovat službu DNS ze strany klienta. Přihlaste se do klientského počítače a nakonfigurujte jej tak, aby používal výše uvedený server DNS. V systému Linux otevřete soubor /etc/resolve.conf pomocí svého oblíbeného textového editoru.

vi /etc/resolve.conf 

Přidejte do něj následující položku, která překladači řekne, aby použil zadaný jmenný server.

nameserver  192.168.56.100

Uložte soubor a zavřete jej. Všimněte si, že musíte také zadat DNS server v konfiguračním souboru síťového rozhraní.

14. Přidejte IP servery DNS 192.168.56.100 jako resolver do konfiguračního souboru síťového rozhraní klientského počítače /etc/sysconfig/network-scripts/ifcfg-enp0s3< jak je znázorněno na následujícím obrázku.

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=aba298ca-fa65-48cd-add9-6c3f1f28cee2
DEVICE=enp0s3
ONBOOT=no
DNS=192.168.56.100

15. Poté použijte nástroj nslookup k dotazu na IP pomocí názvu hostitele a naopak z www, mailu a dokumentů< servery ve vaší síti, jak je znázorněno.

nslookup 192.168.56.5
nslookup www.tecmint.lan
nslookup 192.168.56.10
nslookup mail.tecmint.lan
nslookup 192.168.56.20
nslookup docs.tecmint.lan
nslookup 192.168.56.100
nslookup dns-primary.tecmint.lan

souhrn

V tomto článku jsme si ukázali, jak nainstalovat a nakonfigurovat soukromý, autoritativní server DNS na RHEL 8 pomocí softwaru BIND. Doufáme, že pro vás vše fungovalo dobře, v opačném případě nám pošlete své dotazy nebo jakékoli jiné připomínky prostřednictvím formuláře pro zpětnou vazbu níže.