Tato příručka ukáže, jak nainstalovat a nakonfigurovat server DNS v RHEL 8 / CentOS 8 pouze v režimu mezipaměti nebo jako jeden server DNS, bez konfigurace master-slave. Je uveden příklad zpětné a dopředné zóny.
V tomto tutoriálu se naučíte:
- Jak nainstalovat server DNS v RHEL 8 / CentOS 8
- Jak nakonfigurovat server jako server DNS pouze pro ukládání do mezipaměti
- Jak nakonfigurovat server jako samostatný server DNS
Klient řešící dotaz prostřednictvím serveru DNS.
Požadavky na software a použité konvence
Kategorie | Vytváření sítí |
---|---|
Systém | RHEL 8 / CentOS 8 |
Software | svázat |
Jiné | Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz. |
Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
Předpoklady
Před spuštěním se předpokládá, že:
- Vy nebo vaše organizace jste si již vytvořili účet ve službě Red Hat
- RHEL 8 / CentOS 8 již byl stažen a nainstalován
- Systém již byl zaregistrován prostřednictvím
Správce předplatného - Již jste nastavili místní nebo vzdálené úložiště
Instalace serveru DNS
- Vázaná instalace
Budeme instalovat balíček BIND, nejznámější Open Source DNS Server, prostřednictvímdnf
nástroj, kterému nyníyum
je založeno.
Příkaz ke spuštění je:# dnf -y install bind*
Který by měl nainstalovat všechny tyto balíčky:
Seznam svazkových balíčků
Běžná konfigurace serveru DNS
- Konfigurace brány firewall
Potřebujeme povolit službu DNS:# firewall-cmd --permanent --zone=public --add-service=dns
a znovu načtěte konfiguraci:
# firewall-cmd --reload
- Zálohování hlavních konfiguračních souborů
Vždy je dobrým zvykem vytvořit počáteční záložní kopii hlavních konfiguračních souborů vazeb; také před jakoukoli změnou.# cp /etc/named.conf /etc/named.conf.org # cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.org
- Kontrola konfigurace sítě
Server DNS musí mít statickou IP adresu, ověřte, zda tomu tak je:$ cat /etc/sysconfig/network-scripts/ifcfg-enp0s3|egrep -i "boot|ipaddr|mask|gateway"
Což například vede k následujícím výsledkům:
BOOTPROTO=static ONBOOT=yes IPADDR=10.0.0.63 NETMASK=255.255.255.0 GATEWAY=10.0.0.1
Konfigurace vaší sítě se samozřejmě může lišit, ale IP adresa musí být opět statická.
- Výběr názvu domény
Nastavení plně kvalifikovaného názvu domény nebo FQDN# hostnamectl set-host name dns-srv.vulcansys-local.com
Můžete si samozřejmě vybrat i jiný název, zde jsem vymyslel název domény, který podle všeho nebyl registrován u žádné organizace.
- Konfigurace resolveru
Budeme konfigurovatresolv.conf
soubor. První řádky musí být:search vulcansys-local.com nameserver 10.0.0.63
To je jak na serveru, tak v jakémkoli klientovi dotazujícím se na náš DNS; samozřejmě musíte přidat druhý jmenný server pro překlad internetových stránek nebo jakékoli jiné domény.
- Deaktivace automatické konfigurace DNS Správce sítě
Nechceme, aby Správce sítě měnil souborresolv.conf
soubor. K tomu jednoduše přidáme
řádek:dns=none
v souboru/etc/NetworkManager/NetworkManager.conf
a znovu načteme službu:# systemctl reload NetworkManager
- Povolení služby vazby při spuštění
Musíme se ujistit, že služba DNS je spuštěna se systémem, takže:# systemctl enable named
Typy serveru DNS
DNS server je možné nakonfigurovat tak, aby pracoval v jednom z níže uvedených režimů, vždy pouze jeden:
- Kořenový server
- Jeden server
- Sekundární server
- Server pouze pro ukládání do mezipaměti
- Server pro přeposílání
V tomto článku pouze popíšeme, jak nastavit server pouze s mezipamětí a samostatný server.
Server DNS pouze pro ukládání do mezipaměti není hostitelem žádné zóny a není autoritativní pro konkrétní doménu; při prvním spuštění server nemá žádné informace uložené v mezipaměti a informace se získávají v průběhu času, jak jsou požadavky klientů
uspokojeny.
Primární nebo jeden DNS server je autoritativní pro doménu, ale nemáme vysokou dostupnost, a proto, pokud je mimo provoz nebo nedostupný, nebude žádný DNS dotaz pro doménu fungovat, pokud nebude uložen v mezipaměti nebo duplikován ve statickém souboru /etc/hosts
.
To, co jsme dosud nakonfigurovali, je běžné, bez ohledu na to, jaký „režim konfigurace“ zvolíme.
- Ukládání do mezipaměti pouze serveru DNS
Ujišťujeme se, že následující řádky jsou změněny/nakonfigurovány v souborunamed.conf
soubor:listen-on port 53 { 127.0.0.1; 10.0.0.63; }; #listen-on-v6 port 53 { ::1; }; allow-query { 127.0.0.1; 10.0.0.0/24; }; recursion yes; allow-recursion { 127.0.0.1; 10.0.0.0/24; };
Pro jednoduchost zde server nebude naslouchat na IPv6 adrese (relativní řádek je tedy zakomentován). Pro kontrolu, zda je konfigurace v pořádku, můžeme spustit příkaz:
# named-checkconf
pokud je vše v pořádku, žádný výstup se nevrací. Nakonec potřebujeme, aby služba znovu načetla svou konfiguraci:
# systemctl reload named
- Jeden server DNS
V případě, že zvolíme tento typ, bude to náš autoritativní server DNS odpovědný za překlad jakéhokoli jména v doméně, kterou jsme si vybrali. Zde také upravíme/etc/named.conf
:listen-on port 53 { localhost; 10.0.0.63; }; #listen-on-v6 port 53 { ::1; }; allow-query { 127.0.0.1; 10.0.0.0/24; }; recursion no;
V této příručce pro zjednodušení nenastavujeme službu vazby tak, aby naslouchala na adrese IPv6.
Možnost
recursion no
zajišťuje, že DNS nebude dělat veškerou práci, aby poskytl odpověď na konkrétní dotaz, ale v případě potřeby deleguje na kořenové servery a na jiné autoritativní servery úkol pro tato neznámá jména nebo IP. Jinými slovy:autoritativní server nesmí být rekurzivní .Poté musíme specifikovat naše zónové soubory; zde nakonfigurujeme dopřednou zónu (pro překlad na IP z názvu) a reverzní zónu (pro překlad na název daný IP adresou) každý ve svém specifickém souboru, připojením následujících řádků k souboru
named.rfc1912.zones
soubor:zone "vulcansys-local.com" IN { type master; file "forward.zone"; allow-update { none; }; }; zone "63.0.0.10.in-addr.arpa" IN { type master; file "reverse.zone"; allow-update { none; }; };
Možnost
allow-update
odkazuje na dynamické aktualizace DNS, to znamená, že aplikace v hostiteli může přidat záznam DNS; z bezpečnostních důvodů je to ve výchozím nastavení zakázáno, a proto pouze správce systému může přidávat záznamy a ručně.Nyní musíme vytvořit soubory
forward.zone
areverse.zone
. Obvykle jsou soubory zóny v
adresáři/var/named
jak můžeme odvodit zdirectory
možnost vnamed.conf
konfigurační soubor.Naše
forward.zone
soubor bude obsahovat:$TTL 1D @ IN SOA dns-srv.vulcansys-local.com. root.vulcansys-local.com. ( 2019022400 ; serial 3h ; refresh 15 ; retry 1w ; expire 3h ; minimum ) IN NS dns-srv.vulcansys-local.com. dns-srv IN A 10.0.0.63
A
reverse.zone
soubor:$TTL 1D @ IN SOA dns-srv.vulcansys-local.com. root.vulcansys-local.com. ( 2019022400 ; serial 3h ; refresh 15 ; retry 1w ; expire 3h ; minimum ) IN NS dns-srv.vulcansys-local.com. 63 IN PTR dns-srv.vulcansys-local.com
Ve zmíněných konfiguračních souborech
SOA
(Start Of Authority) definuje globální parametry pro zónu (doménu); lze zadat pouze jeden záznam zdroje (řádek s klíčovým slovem SOA s naším plně kvalifikovaným názvem domény). Čas do odchodu ($TTL) je ve výchozím nastavení 1 den (nebo 86 400 sekund) a měl by být dočasně zkrácen, pokud změníte jakoukoli položku v tomto konfiguračním souboru, protože říká serveru DNS, na jak dlouho má ukládat do mezipaměti všechny načtené informace. Nejdůležitější je nezapomenout ukončit jakýkoli plně kvalifikovaný název domény v těchto konfiguračních souborech tečkou .Zde
root.vulcansys-local.com
je e-mailová adresa a2019022400
sériové pole, které v praxi slouží ke sledování jakékoli změny v souboru zóny a obvykle má tvarYYYYmmddss
, kdess
je dvoumístné číslo.V opačném souboru jste si mohli všimnout, že vše vypadá stejně kromě posledního řádku. Tam specifikujeme pomocí
PTR
zpětné vyhledávání, které vyřeší10.0.0.63
; stačí zadat poslední číslici63
která identifikuje hostitele (jako síťová maska je255.255.255.0
).Nyní se ujistíme, že máme správná oprávnění:
# chgrp named /var/named/reverse.zone # chgrp named /var/named/forward.zone
Chcete-li zkontrolovat, zda jsou soubory zóny správně nakonfigurovány, můžete zadat příkazy:
# named-checkzone vulcansys-local.com /var/named/forward.zone # named-checkzone 10.0.0.63 /var/named/reverse.zone
A pro ověření celkové konfigurace:
# named-checkconf -v
Pokud je vše v pořádku, můžeme službu znovu načíst:
# systemctl reload named
Konfigurace klienta
- Konfigurace brány firewall
Potřebujeme nakonfigurovat bránu firewall, jak je vysvětleno výše, se serverem. Pro jednoduchost předpokládám, že klient je také RHEL 7 nebo 8. - Konfigurace překladače
Prvním jmenným serverem musí být náš server DNS, zde se také ujistěte, že Správce sítě nezmění soubor resolv.conf. - Nastavení názvu hostitele
Z důvodu konzistence by měl mít každý klient v doméně přiřazen název hostitele FQDN.
Nakonec ověříme, že naše konfigurace DNS funguje, z klienta tím, že se pokusíme pingnout DNS server podle názvu.
Klient řešící dotaz prostřednictvím serveru DNS.Závěr
Nastavení DNS serveru je úkol, který by měl každý seriózní správce udělat alespoň jednou a v RHEL 8 není způsob, jak to udělat, obtížný.