GNU/Linux >> Znalost Linux >  >> Linux

Vše, co potřebujete vědět o serverech DNS Ubuntu

DNS neboli Domain Name System je jednou z nedílnějších součástí internetu. Každý, kdo používá internet, používá službu DNS každý den. Ve srovnání s jinými internetovými šílenostmi je však také masivně přehlížen. Stručně řečeno, služba DNS převádí adresy URL na adresy IP. Jak už byste měli vědět, IP adresa je jedinečné číslo, které identifikuje vše, co je připojeno k síti. Pokud se chcete věnovat kariéře v administraci Linuxu, musíte dobře rozumět tomu, jak DNS funguje. Tato příručka poskytuje pracovní přehled základních konceptů DNS a praktické příklady serveru DNS Ubuntu.

Ponořte se do hloubky systému DNS (Domain Name System)

Vzhledem k tomu, že DNS se skládá z několika služeb a složitých interakcí mezi nimi, uživatelé se musí seznámit se základní terminologií, aby pochopili, co se děje za scénou. Proto jsme celého průvodce rozdělili do několika částí. První nabízí stručný úvod do termínů a konceptů, zatímco další se zabývají pracovními postupy a konfiguracemi.

Přehled základních podmínek a konceptů DNS

Při práci s DNS se setkáte s různými termíny a terminologií, jako jsou hostitelé, zóny, TLD a řešitelé. Níže uvedená část poskytuje stručný úvod k některým z těchto konceptů.

DNS

DNS nebo Domain Name System je mechanismus, který interpretuje Plně kvalifikovaný název domény (FQDN) na konkrétní IP adresu. Toto je adresa, kterou naše systémy používají k odesílání a získávání webových zdrojů. DNS se skládá z více systémů a provádí vícesměrnou komunikaci za účelem získání IP adresy spojené s URL.

Název domény

Doménové názvy jsou lidem čitelné adresy spojené s webovými zdroji. Odstraňují nejednoznačnost zapamatování velkého počtu IP adres. Například google.com je název domény pro vyhledávač Google. Když toto zadáte do adresního řádku vašeho prohlížeče, použije systém DNS k nalezení skutečné IP adresy.

IP adresa

IP adresa je jedinečné číslo přiřazené všem zařízením, která jsou v daném bodě připojena k internetu. IP adresy mají několik tříd a dvě hlavní verze. Většina lidí nyní používá IP verzi 4. IPv4 adresy se skládají ze čtyř oktetů, z nichž každý je oddělen tečkou „.“ symbol.

TLD

TLD s nebo domény nejvyšší úrovně sedí na nejvyšší úrovni v hierarchii doménových jmen. Toto jsou nejobecnější části názvu domény a jsou umístěny na nejvzdálenější pozici vpravo. Například „com ” je TLD adresy URL www.example.com . Mezi oblíbené domény nejvyšší úrovně patří „com“, „org, „gov“, „net“ a „edu“.

Hostitelé

Vlastníci domény mohou definovat několik různých hostitelů v rámci této domény. Ty lze použít pro přístup k samostatným službám nebo počítačům. K většině webových serverů lze přistupovat prostřednictvím holé domény, jako je example.com, nebo prostřednictvím deklarace hostitele, jako je www.example.com. Část „www“ je zde hostitelem. Dalším běžným využitím hostitele je poskytování přístupu k rozhraní API jako api.example.com.

Subdoména

--

Subdomény jsou jednoduše podmnožinou domény. To umožňuje vlastníkům stránek mít pod nadřazenou doménou více subdomén. Například doména s názvem university.edu může mít několik subdomén pro každé ze svých oddělení, jako je www.cs.university.edu nebo www.phy.university.edu. Rozdíl mezi hostiteli a subdoménami je v tom, že první specifikuje různé počítače nebo služby, zatímco druhá rozděluje nadřazenou doménu do různých skupin.

Plně kvalifikovaný název domény

Plně kvalifikovaný název domény nebo FQDN je absolutní doména webu. Představuje kořen příslušné domény. Doména obvykle obsahuje více dílčích tras nebo cest, jako je www.example.com/new/example. Zde je sekce www.example.com FQDN. Navíc FQDN vždy končí tečkou „.“ symbol jako „www.example.com“. Uživatelé však nejsou povinni zadávat tuto koncovou tečku, protože se o to postará klientský program.

Názvový server

V DNS je jmenný server počítačový systém, který má za úkol překládat názvy domén na adresovatelné IP adresy. Dělají většinu skutečné práce v rámci infrastruktury DNS ubuntu. Protože se jmenné servery musí vypořádat s tisíci požadavků za sekundu, často přesměrovávají další požadavky na nové servery. Kromě toho mohou jmenné servery fungovat také jako autoritativní servery. V tomto scénáři odpovídají na dotazy, které jsou pod jejich kontrolou, a jinak obsluhují odpovědi uložené v mezipaměti z jiných serverů.

Soubory zóny

Soubory zón jsou skutečné textové soubory, které ukládají vztahy mezi názvy domén a přidruženými adresami IP. Systém DNS z tohoto dokumentu získá informace o IP úplném názvu domény. Jsou uloženy na jmenném serveru a určují, které zdroje jsou pro konkrétní doménu dostupné. Pokud nejsou informace pro soubor zóny k dispozici, ukazují na umístění, kde jsou tato data.

Kořenový server

Jak již bylo řečeno, DNS je hierarchický systém, který se skládá z víceúrovňových komponent. Kořenový server se nachází na vrcholu této hierarchie. Jedná se o extrémně výkonné servery spravované více organizacemi a jsou řízeny ICANN (Internet Corporation for Assigned Names and Numbers) . V současné době existuje po celém světě 13 primárních kořenových serverů a každý z nich je zrcadlen pro zvýšení dostupnosti.

Když někdo požádá o kořenový server, je požadavek předán nejbližšímu zrcadlu. Kořenové servery zpracovávají dotazy týkající se domén nejvyšší úrovně. Kdykoli existuje něco, co názvový server nižší úrovně nedokáže vyřešit, zobrazí se tato otázka kořenovému serveru. Kořenové servery však ve skutečnosti nemají informace o IP. Místo toho ukazují na jmenné servery, které spravují konkrétní TLD.

Server TLD

Servery TLD jsou umístěny pod kořenovými servery v hierarchii DNS. Kořenové servery směrují entity požadavků DNS na server TLD tohoto požadavku. Server TLD poté přesměruje žádající entitu na jmenný server, který má konkrétní IP informace pro danou doménu.

Názvové servery na úrovni domény

Servery TLD přesměrovávají žádající entitu na názvový server na úrovni domény. Toto je server, jehož soubor zóny obsahuje mapování IP pro doménu. Toto je tedy jmenný server, který má specifickou IP adresu pro požadovaný název domény.

Resolver

Překladač je entita požadavku, která je zodpovědná za získávání informací o IP doméně z DNS. Obvykle se konfiguruje v klientském systému jako v prohlížeči nebo pomocí vlastního nastavení DNS ubuntu. Většina lidí používá DNS resolver poskytovaný jejich ISP. Resolver je v podstatě abstrakce, která umožňuje koncovému uživateli nevědět, co se děje pod kapotou. Může pracovat rekurzivně, dokud nezíská IP adresu dané domény.

Záznamy

Již jsme diskutovali o tom, že jmenný server ukládá mapování domény na IP v souboru zóny. Informace v souborech zóny jsou uloženy jako záznamy. V souboru zóny je mnoho typů záznamů. Zde se dotýkáme některých z nejdůležitějších.

Záznamy SOA

SOA je zkratka proStart of Authority a je povinným záznamem pro všechny soubory zóny. První skutečný záznam v souboru zóny musí být typu SOA. Než plně porozumíte záznamům SOA, může to nějakou dobu trvat. Do té doby si pamatujte následující poznámky. Za prvé, záznam SOA vypadá podobně jako následující fragment.

example.com. IN SOA ns1.example.com. admin.example.com. (
12083        ; serial number 
3h           ; refresh interval 
30m          ; retry interval 
3w           ; expiry period 
1h           ; negative TTL )

Základní části jsou následující.

  • example.com – Toto je kořen zóny a určuje, že soubor je pro „example.com“. doména.
  • V SOA – „IN“ znamená internet a SOA představuje skutečnost, že se jedná o záznam SOA.
  • ns1.example.com. – Je to primární jmenný server pro „example.com“. doména. Také, pokud jste nakonfigurovali dynamický DNS ubuntu, váš primární jmenný server jde sem.
  • admin.example.com. – Je to e-mailová adresa správce odpovědného za tuto konkrétní zónu. Symbol „@“ je nahrazen tečkou „.“ symbol pro e-mailovou adresu.
  • 12083 – Toto je sériové číslo pro tuto zónu a musíte toto sériové číslo zvýšit pokaždé, když aktualizujete soubor zóny. Takto sekundární servery určí, že v této zóně došlo ke změně.
  • 3 h – Interval obnovy zóny určuje, jak déle by měly sekundární servery čekat, než budou hledat změny v souboru zóny primárního serveru.
  • 30 m – Interval opakování zóny určuje, jak déle by měly sekundární servery čekat, než se znovu pokusí o dotazování primárního serveru.
  • 3w – Je to doba expirace a definuje, jak dlouho se mají sekundární servery snažit navázat úspěšnou komunikaci. Pokud se v tomto časovém rámci nepodaří navázat spojení, sekundární servery přestanou odpovídat jako autoritativní pro tuto zónu.
  • 1 h – Pokud jmenný server nemůže najít požadovaný název v tomto souboru zóny, bude po tuto dobu ukládat do mezipaměti chybu názvu.

Záznamy A a AAAA

Záznamy A a AAAA mapují hostitele na skutečnou IP adresu. Záznam „A“ mapuje hostitele na funkční adresu IPv4 a záznamy „AAAA“ mapují hostitele na adresy IPv6. Níže je uveden obecný formát pro tyto typy záznamů.

hostname   IN  A     IPv4Address
hostname   IN  AAAA  IPv6Address

Níže je uveden vhodný příklad s použitím jmenného serveru ns1 definovaného v záznamu SOA.

ns1.example.com.  IN  A  111.112.221.222

Další záznam „A“ definuje webový server jako „www“.

www  IN  A  111.112.211.212

Záznamy CNAME

Záznamy CNAME představují alias pro jmenný server definovaný záznamem A nebo AAAA. Například následující úryvek deklaruje hostitele s názvem „server“ pomocí záznamu A a poté pro tohoto hostitele vytvoří alias „www“.

server IN  A      111.111.111.111
www    IN  CNAME  server

Vytvoření aliasů však může mít za následek snížení výkonu, protože vyžadují další dotaz na server. Záznamy CNAME se obvykle používají pro zadání kanonického názvu pro externí zdroj.

Záznamy MX

Záznamy MX se používají k určení výměny pošty pro název domény a pomáhají přijímat e-mailovou komunikaci, která přichází na váš poštovní server Linux. Na rozdíl od většiny typů záznamů nemapují hostitele na IP, protože se vztahují na celou zónu. Níže je uveden jednoduchý příklad záznamu MX.

IN  MX  10  mail.example.com.

Všimněte si, že v tomto záznamu není definován žádný hostitel a má také nové číslo „10“. To se používá k označení preference. Pokud existuje více záznamů MX, e-maily budou směrovány na server, který má nejnižší preferenční číslo.

Záznamy NS

Záznamy NS určují názvové servery, které se používají pro zónu. Ačkoli se to může zdát irelevantní, protože soubor zóny již na jmenném serveru existuje, z určitých důvodů se používá. Jako často může být soubor zóny obsluhovaný serverem DNS ve skutečnosti uloženou kopií jiného serveru.

IN  NS  ns1.example.com.
IN  NS  ns2.example.com.

Stejně jako záznamy MX jsou i záznamy NS definovány pro celou zónu a nevyžadují názvy hostitelů. Navíc mnoho ubuntu DNS slouží k tomu, aby považovalo soubory zóny za neplatné, pokud neobsahují více záznamů ns. Většina zónových souborů tedy definuje více než jeden jmenný server.

Záznamy PTR

Záznamy PTR určují název spojený s pracovní IP adresou a jsou jednoduše inverzí k záznamu A nebo AAAA. Musí začínat v kořenovém adresáři .arpa a jsou zadány vlastníkovi IP. Delegování IP adres organizacím a poskytovatelům služeb je řešeno Regionálními internetovými registry (RIR) .

222.111.222.111.in-addr.arpa.  33692  IN  PTR  host.example.com.

Výše uvedený úryvek poskytuje základní příklad záznamu PTR. Mapuje IP 222.111.222.111 na „host.example.com“.

Záznamy CAA

Záznamy CAA definují, které Certifikační autority (CA) jsou oprávněni vydávat certifikáty SSL/TLS pro konkrétní název domény. Pokud pro doménu není definován žádný záznam CAA, může certifikát vydat kterýkoli CA. Pokud je však CA definována explicitně, může certifikát vydat pouze tato konkrétní autorita.

example.com.  IN  CAA  0  issue  "letsencrypt.org"

Záznam CAA vypadá jako výše uvedený úryvek. Pole hostitel, IN a CAA jsou specifická pro DNS, zatímco příznaky (0), značky (problém) a hodnoty („letsencrypt.org“) jsou specifické pro CAA. CA bude ignorovat záznam, pokud je příznak nastaven na „0“, ale musí se zdržet vydání certifikátu, pokud je nastaven na „1“.

Jak DNS vlastně funguje?

Nyní, když jsme se naučili všechny hlavní termíny a související pojmy, můžeme zjistit, jak skutečný požadavek DNS funguje. Nabídneme jednoduchou ilustraci ze skutečného světa a pečlivě analyzujeme cestu dotazu.

Řekněme, že se pokoušíme navázat spojení z mého notebooku se systémem Ubuntu k webu „www.example.com. “. Otevřu internetový prohlížeč, do adresního řádku napíšu URL a stisknu enter. Klient nebo můj prohlížeč v tomto případě nejprve zkontroluje, zda IP adresa „www.example.com“. již existuje ve své mezipaměti. Pokud to zjistí, přeskočí všechny pozdější kroky.

Když se klientovi nepodaří najít IP v mezipaměti prohlížeče, předá požadavek na resolver nebo v mém případě na jmenný server ISP. Překladač se pokusí zjistit, zda na tuto webovou stránku v poslední době nebyli nějací další uživatelé, a pokud ano, vyhledá IP ze své mezipaměti. Jinak překladač předá požadavek jednomu z kořenových jmenných serverů.

Kořenový server vrátí adresu jmenného serveru TLD pro danou doménu, což je „.com ” jmenný server v tomto příkladu. Nyní překladač odešle požadavek na server TLD, aby zjistil, zda má očekávaný výsledek. Server TLD však také nemá informace, ale ví, který jmenný server ano. Vrací adresu jmenného serveru, který má mapování domény na IP pro naši adresu URL.

Jakmile se překladač zeptá jmenného serveru na naši doménu, vrátí příslušnou IP. Překladač pak jednoduše odešle skutečnou IP adresu klientskému programu, který nyní může navázat potřebnou komunikaci.

Jak můžete vidět, cesta celkového požadavku ubuntu DNS obsahuje mnoho rekurzivních i iterativních dotazů. Navíc je k tomuto mechanismu přidáno několik vrstev mezipaměti, aby se věci zjednodušily a zrychlily. To je důvod, proč váš prohlížeč většinu času nemusí čekat, než proběhne úplný DNS dotaz. Pokud například navštívíte populární web, jako je YouTube, je pravděpodobné, že mezipaměť vašeho poskytovatele internetových služeb již má IP této domény.

Kromě toho se konfigurace DNS Ubuntu může do značné míry lišit v závislosti na aplikaci a roli serveru. Když je nakonfigurován jako názvový server pro ukládání do mezipaměti, server DNS vyhledá odpověď na dotazy klienta a zapamatuje si odpověď pro budoucí dotazy. Pokud místo toho nastavíte DNS jako primární server, bude číst data pro zónu ze souboru zóny a bude autoritativní pouze pro tuto zónu. Když je nakonfigurován jako sekundární server, načte data ze souboru zóny jiného jmenného serveru.

Instalace a konfigurace serveru DNS Ubuntu

Nyní, když jsme probrali, jak DNS funguje a většinu klíčových konceptů, můžeme začít vytvářet náš vlastní DNS server. Pro tuto část tutoriálu použijeme BIND (Berkley Internet Naming Daemon) program, který je nejoblíbenější implementací DNS a poskytuje extrémně solidní výkon i při velkém zatížení.

Pomocí následujícího jednoduchého příkazu nainstalujte BIND do vašeho počítače Ubuntu. Také doporučujeme uživatelům stáhnout si dnsutils , robustní balíček pro testování a odstraňování problémů s vaším serverem DNS.

$ sudo apt install bind9
$ sudo apt install dnsutils

Konfigurační soubory pro BIND jsou umístěny v /etc/bind adresář vašeho systému souborů Linux. Hlavní konfigurační data jsou uložena v /etc/bind/named.conf soubor. Možnosti /etc/bind/named.conf. soubor se používá pro nastavení globálních možností, /etc/bind/named.conf.local pro konfiguraci zón a /etc/bind/named.conf.default-zones soubor pro správu výchozích zón.

Dříve Ubuntu používalo /etc/bind/db.root soubor pro popis kořenových jmenných serverů. Nyní používá soubor /usr/share/dns/root.hints namísto. Na tento soubor se tedy odkazuje v rámci /etc/bind/named.conf.default-zones soubor.

Navíc je zcela možné nakonfigurovat stejný server DNS ubuntu jako primární, sekundární a mezipaměťový server. Role se mění podle zón, které server obsluhuje. Můžete například nakonfigurovat svůj server jako Start of Authority (SOA) pro jednu zónu a zároveň nabízí sekundární služby pro jinou zónu. Mezitím může nabízet služby ukládání do mezipaměti pro hostitele, kteří jsou ve vaší místní síti LAN.

Primární server

V této části si ukážeme, jak vytvořit konfiguraci DNS Ubuntu pro primární jmenný server. Tento server bude zpracovávat dotazy na FQDN „example.com “. Jednoduše nahraďte tento název domény svou vlastní adresou URL pro implementaci stejných konfigurací.

Nejprve budeme muset nakonfigurovat soubor dopředné zóny. Otevřete /etc/bind/named.conf.local pomocí vašeho oblíbeného textového editoru Linux a přidejte následující úryvky.

$ sudo nano /etc/bind/named.conf.local
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
};

Server DNS BIND můžete nakonfigurovat tak, aby získal automatické aktualizace, kdykoli změníte konfigurační soubory. K tomu použijte soubor /var/lib/bind/db.example.com ve výše uvedeném úryvku i v následujícím příkazu.

$ sudo cp /etc/bind/db.local /etc/bind/db.example.com

Výše uvedený příkaz zkopíruje již existující soubor zóny, který budeme používat jako šablonu pro naše další kroky. Nyní upravíme náš soubor zóny (/etc/bind/db.example.com ) a proveďte požadované změny.

$ sudo nano /etc/bind/db.example.com

Nejprve nahradíme „localhost“. na FQDN našeho serveru, což je "example.com.". Nezapomeňte přidat koncové „.“ v FQDN. Nyní změňte „127.0.0.1“ na skutečnou IP vašeho jmenného serveru a „root.localhost“. na aktivní e-mailovou adresu. Nezapomeňte použít „.“ místo symbolu „@“ ve vaší e-mailové adrese. Doporučujeme také přidat komentář dokumentující FQDN pro tento soubor zóny. Náš soubor nyní vypadá takto.

;
; BIND data file for example.com
;
$TTL 604800
@  IN SOA example.com. root.example.com. (
2         ; Serial
604800    ; Refresh
86400     ; Retry
2419200   ; Expire
604800 )  ; Negative Cache TTL

------------------------------------------------------------------
------------------------------------------------------------------

Doposud jsme pouze upravili záznam SOA. Je čas provést změny v záznamu NS i v záznamech A našeho souboru zóny. Změňte „localhost“. součástí záznamu NS, aby odpovídala vašemu jmennému serveru, což je „ns.example.com“. pro naše demo FQDN. Nahraďte část „127.0.0.1“ prvního záznamu A adresou IP vašeho jmenného serveru. Použili jsme „192.168.1.10“ . Nakonec vytvořte záznam A pro náš jmenný server „ns.example.com“ přidáním posledního řádku do níže uvedeného úryvku.

;
; BIND data file for example.com
;
$TTL       604800
@          IN    SOA   example.com. root.example.com. (
                       3           ; Serial
                       604800      ; Refresh
                       86400       ; Retry
                       2419200     ; Expire
                       604800 )    ; Negative Cache TTL

@         IN    NS     ns.example.com.
@         IN    A      192.168.1.10
@         IN    AAAA   ::1
ns        IN    A      192.168.1.10

Takto bude vypadat konečná konfigurace pro dopřednou zónu našeho primárního serveru.

Nezapomeňte zvýšit sériové číslo, jinak BIND nezaznamená změny ve svých konfiguracích. Když přidáváte více šancí, nemusíte seriál pokaždé měnit. Pokud chcete přidat další DNS záznamy ubuntu, jednoduše je přidejte pod výše uvedené možnosti. Jakmile je vše nakonfigurováno, restartujte BIND pomocí níže uvedeného příkazu.

$ sudo systemctl restart bind9.service

Nyní, když je náš soubor dopředné zóny správně nakonfigurován, upravme soubor zpětné zóny. To umožňuje serveru DNS Ubuntu přeložit IP na FQDN. Jednoduše upravte /etc/bind/named.conf.local a přidejte níže uvedené úryvky.

$ sudo nano /etc/bind/named.conf.local
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
};

Budete muset nahradit „1.168.192“ prvními třemi oktety vaší vlastní sítě. Kromě toho by měl být soubor zóny pojmenován odpovídajícím způsobem. Nahraďte “192” část souboru zóny „/etc/bind/db.192“ aby odpovídaly prvnímu oktetu vaší sítě. Pokud jste tedy například v síti 10.1.1.1/24; váš soubor zóny bude „/etc/bind/db.10 “ a záznam „1.168.192.in-addr.arpa “ bude „10.1.1.in-addr.arpa “.

$ sudo cp /etc/bind/db.127 /etc/bind/db.192

Vytvořili jsme /etc/bind/db.192 soubor zkopírováním existujícího souboru šablony. Nyní upravme tento soubor a proveďte stejné úpravy jako v /etc/bind/db.example.com soubor.

$ sudo nano /etc/bind/db.192
;
; BIND reverse data file for local 192.168.1.XXX net
;
$TTL    604800
@       IN   SOA  ns.example.com. root.example.com. (
                  2               ; Serial
                  604800          ; Refresh
                  86400           ; Retry
                  2419200         ; Expire
                  604800 )        ; Negative Cache TTL
;
@      IN   NS    ns.
10     IN   PTR   ns.example.com.

Nezapomeňte zvýšit sériové číslo při každé následné změně souboru reverzní zóny. Navíc pro každý záznam A nakonfigurovaný v /etc/bind/db.example.com , musíte vždy přidat záznam PTR do souboru /etc/bind/db.192 .

Jakmile je toto vše hotovo, jednoduše restartujte službu BIND.

$ sudo systemctl restart bind9.service

Sekundární server

Jak jsme již řekli, vytvoření sekundárních serverů je skvělý nápad z několika důvodů, jedním z nich je zvýšená dostupnost. Díky tomu budou vaše servery DNS Ubuntu odolnější a pomůže vám to obsluhovat více klientů. Pokud tedy chcete vytvořit sekundární jmenný server, podívejte se na níže uvedenou sekci.

Nejprve musíte povolit přenos zóny na primárním serveru. Jednoduše upravte konfiguraci dopředné a zpětné zóny a přidejte „povolit přenos ” do zón.

$ sudo nano /etc/bind/named.conf.local
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
allow-transfer { 192.168.1.11; };
};

zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
allow-transfer { 192.168.1.11; };
};

Nyní jednoduše nahraďte „192.168.1.11 ” s IP adresou vašeho sekundárního serveru.

Poté restartujte BIND na primárním serveru zadáním následujícího příkazu.

$ sudo systemctl restart bind9.service

Nyní musíte nainstalovat BIND na sekundární server. Poté pokračujte v úpravě /etc/bind/named.conf.local soubor a přidejte následující pro přední i zadní zónu.

zone "example.com" {
type slave;
file "db.example.com";
masters { 192.168.1.10; };
}; 

zone "1.168.192.in-addr.arpa" {
type slave;
file "db.192";
masters { 192.168.1.10; };
};

Jednoduše nahraďte „192.168.1.10 ” s IP primárního jmenného serveru. Restartujte BIND ještě jednou a můžete začít.

$ sudo systemctl restart bind9.service

Upozorňujeme, že zóna DNS Ubuntu je přenosná pouze v případě, že sériové číslo na primárním serveru je vyšší než na sekundárním serveru. To však můžete obejít přidáním možnosti „také upozornit { ipaddress; }; ” do /etc/bind/named.conf.local soubor na primárním serveru. Poté by měl soubor vypadat následovně.

$ sudo nano /etc/bind/named.conf.local
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
allow-transfer { 192.168.1.11; };
also-notify { 192.168.1.11; }; 
};

zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
allow-transfer { 192.168.1.11; };
also-notify { 192.168.1.11; }; 
};

Server pro ukládání do mezipaměti

Pro vytvoření mezipaměti jmenného serveru nemusíte dělat mnoho, protože výchozí konfigurace již fungují jako mezipaměťový server. Stačí upravit /etc/bind/named.conf.options zařadit a odkomentovat sekci přeposílání. Zadejte IP DNS serveru vašeho ISP, jak je uvedeno níže.

$ sudo nano /etc/bind/named.conf.options
forwarders {
1.2.3.4;
5.6.7.8;
};

Nezapomeňte odpovídajícím způsobem nahradit IP adresy skutečnými jmennými servery.

Nyní otevřete svůj oblíbený emulátor terminálu Linux a zadejte níže uvedený příkaz pro restartování BIND.

$ sudo systemctl restart bind9.service

Testování a odstraňování problémů s konfiguracemi DNS Ubuntu

Jakmile dokončíte nastavení svých jmenných serverů DNS, budete chtít zkontrolovat, zda fungují tak, jak bylo zamýšleno, nebo ne. Prvním krokem k tomu je přidání IP jmenných serverů do překladače hostitelského počítače. Nejjednodušší způsob, jak toho dosáhnout, je upravit soubor /etc/resolv.conf a ujistit se, že řádek jmenného serveru ukazuje na 127.0.0.53 . Poté přidejte vyhledávací parametr pro svůj plně kvalifikovaný název domény, jak je znázorněno níže.

$ sudo nano /etc/resolv.conf
nameserver 127.0.0.53
search example.com

Server DNS používaný překladačem vašeho místního počítače můžete snadno zjistit pomocí následujícího příkazu.

$ systemd-resolve --status

Všimněte si, že možná budete chtít do konfigurace klienta přidat také IP sekundárního serveru. To zajistí lepší dostupnost a využijete sekundární jmenný server, který jste právě vytvořili.

Dalším užitečným způsobem kontroly konfigurace DNS je použití příkazu Linx dig. Jednoduše použijte dig proti rozhraní zpětné smyčky a zjistěte, zda naslouchá na portu 53 nebo ne.

$ dig -x 127.0.0.1

Níže uvedený příkaz využívá linuxový příkaz grep k odfiltrování relevantních informací.

$ dig -x 127.0.0.1 | grep -i "53"

Pokud jste nakonfigurovali BIND jako server pro ukládání do mezipaměti, použijte dig ke kontrole vnější domény a poznamenejte si čas dotazu.

$ dig ubuntu.com

Spusťte příkaz ještě jednou a zkontrolujte, zda se čas dotazu snížil nebo ne. Pokud je ukládání do mezipaměti úspěšné, mělo by se výrazně snížit.

Můžete také použít příkaz ping pro Linux, abyste viděli, jak klienti využívají ubuntu DNS k překladu názvů hostitelů na IP.

$ ping example.com

Konec myšlenek

Dobrá znalost systému DNS je zásadní, pokud chcete získat vysoce placenou práci CS jako správce systému nebo sítě. Účelem této příručky je pomoci začátečníkům co nejrychleji zvládnout principy DNS. Kromě toho naši redaktoři také poskytli pracovní ilustraci různých konfigurací DNS Ubuntu pro usnadnění vašeho procesu učení. Na konci tohoto kurzu byste měli získat pevné znalosti základních konceptů DNS a také praktické zkušenosti. Doufejme, že jsme vám mohli poskytnout základní poznatky. Pokud máte další dotazy nebo návrhy, nezapomeňte nám zanechat komentář.


Linux
  1. Vše, co jste chtěli vědět o Zorin OS 12

  2. Vše, co potřebujete vědět o Ubuntu 13.04

  3. Co je to VPN? Vše, co potřebujete vědět o VPN

  1. Vše, co potřebujete vědět o streamu CentOS

  2. Ubuntu vs. Lubuntu:Vše, co potřebujete vědět

  3. Vše, co potřebujete vědět o používání Docker Compose

  1. Vše, co potřebujete vědět o systému souborů Linux

  2. Vše, co potřebujete vědět o Linux Chmod Command

  3. Vše, co potřebujete vědět o Linuxových kontejnerech (LXC)