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ímdnfnástroj, kterému nyníyumje 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.confsoubor. 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.confsoubor. K tomu jednoduše přidáme
řádek:dns=nonev souboru/etc/NetworkManager/NetworkManager.confa 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.confsoubor: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 nozajišť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.zonessoubor: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-updateodkazuje 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.zoneareverse.zone. Obvykle jsou soubory zóny v
adresáři/var/namedjak můžeme odvodit zdirectorymožnost vnamed.confkonfigurační soubor.Naše
forward.zonesoubor 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.63A
reverse.zonesoubor:$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.comVe 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.comje e-mailová adresa a2019022400sériové pole, které v praxi slouží ke sledování jakékoli změny v souboru zóny a obvykle má tvarYYYYmmddss, kdessje 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í
PTRzpětné vyhledávání, které vyřeší10.0.0.63; stačí zadat poslední číslici63která 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ý.