Instalace serveru DNS pro ukládání do mezipaměti pod Windows. Vyrábíme vlastní lokální DNS (PDNSD) s blackjackem a rychlejší než Google Public DNS. Online kurzy na Mikrotiku

Mezipaměť DNS je dočasná databáze, která ukládá informace o předchozích vyhledáváních DNS. Jinými slovy, kdykoli navštívíte webovou stránku, váš operační systém a webový prohlížeč uchová záznam o doméně a odpovídající IP adrese. To eliminuje potřebu opakovaných dotazů na vzdálené servery DNS a umožňuje vašemu operačnímu systému nebo prohlížeči rychle vyřešit adresy URL webových stránek.

V některých situacích, jako je odstraňování problémů se sítí nebo po změně překladačů DNS, je však nutné vymazat mezipaměť DNS. Tím se vymažou záznamy DNS uložené v mezipaměti a provede se následné vyhledávání k vyřešení domény na základě nově nakonfigurovaných nastavení DNS.

Tento článek obsahuje pokyny pro vymazání mezipaměti DNS v různých operačních systémech a webových prohlížečích.

Vymažte/smažte mezipaměť DNS ve Windows

Proces vymazání mezipaměti DNS je stejný pro všechny verze systému Windows. Musíte otevřít příkazový řádek s právy správce a spustit ipconfig / flushdns.

Windows 10 a Windows 8

Chcete-li vymazat mezipaměť DNS v systému Windows 10 a 8, postupujte takto:

  1. Do vyhledávacího pole Windows zadejte cmd.
  2. ipconfig /flushdns

    Windows 7

    Chcete-li vymazat mezipaměť DNS v systému Windows 7, postupujte takto:

    1. Klikněte na tlačítko Start.
    2. Do vyhledávacího textového pole nabídky Start zadejte cmd.
    3. Klepněte pravým tlačítkem myši na Příkazový řádek a vyberte Spustit jako správce. Tím se otevře okno příkazového řádku.
    4. Na příkazovém řádku zadejte následující řádek a stiskněte klávesu Enter:

      ipconfig /flushdns

      Pokud bude úspěšný, systém vrátí následující zprávu:

      Windows IP Configuration Úspěšně vyprázdněna mezipaměť DNS Resolver.

    Vymažte/smažte mezipaměť DNS v systému Linux

    Linux nemá ukládání DNS do mezipaměti na úrovni operačního systému, pokud není nainstalována a spuštěna služba ukládání do mezipaměti, jako je Systemd-Resolved, DNSMasq nebo Nscd. Proces vymazání mezipaměti DNS se liší v závislosti na distribuci a službě ukládání do mezipaměti, kterou používáte.

    Systemd Vyřešeno

    Většina moderních linuxových distribucí, jako je , používá službu povolenou systémem pro ukládání záznamů DNS do mezipaměti.

    Chcete-li zjistit, zda je služba spuštěna, spusťte:

    sudo systemctl is-active systemd-resolved.service

    Pokud je služba spuštěna, příkaz se vytiskne jako aktivní, jinak uvidíte neaktivní.

    Chcete-li vymazat mezipaměť DNS Resolved Systemd, musíte zadat následující příkaz.

    sudo systemd-resolve --flush-caches

    Pokud je úspěšný, příkaz nevrací žádnou zprávu.

    Dnsmasq

    Dnsmasq je odlehčený server pro ukládání názvů DHCP a DNS do mezipaměti.

    Pokud váš systém používá DNSMasq jako mezipaměťový server, k vymazání mezipaměti DNS je třeba restartovat službu Dnsmasq:

    sudo systemctl restart dnsmasq.service

    restart služby sudo dnsmasq

    Nscd

    Nscd je cachovací démon a je to cachovací systém DNS pro většinu distribucí založených na RedHat.

    Pokud váš systém používá Nscd, budete muset restartovat službu Nscd, abyste vymazali mezipaměť DNS:

    sudo systemctl restart nscd.service

    restart služby sudo nscd

    Vymažte/smažte mezipaměť DNS v systému MacOS

    Příkaz k vymazání mezipaměti v MacOS se mírně liší v závislosti na verzi, kterou používáte. Příkaz musí být spuštěn jako uživatel s právy správce systému (uživatel sudo).

    Chcete-li vymazat mezipaměť DNS v systému MacOS, postupujte takto:

    1. Otevřete Finder.
    2. Přejděte na Aplikace > Nástroje > Terminál. Tím se otevře okno terminálu.
    3. Na příkazovém řádku zadejte následující řádek a stiskněte klávesu Enter:

      sudo killall -HUP mDNSResponder

      Zadejte své sudo heslo a znovu stiskněte Enter. V případě úspěchu systém nevrací žádné zprávy.

    U dřívějších verzí MacOS se příkaz k vymazání mezipaměti liší.

    MacOS verze 10.11 a 10.9

    sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder

    MacOS verze 10.10

    sudo discoveryutil mdnsflushcache sudo discoveryutil udnsflushcaches

    MacOS verze 10.6 a 10.5

    sudo dscacheutil -flushcache

    Vymažte/smažte mezipaměť DNS prohlížeče

    Většina moderních webových prohlížečů má vestavěného klienta DNS, který zabraňuje duplicitním dotazům při každé návštěvě webové stránky.

    Google Chrome

    Chcete-li vymazat mezipaměť DNS prohlížeče Google Chrome, postupujte takto:

    1. Otevřete novou kartu a do adresního řádku Chrome zadejte: chrome://net-internals/#dns.
    2. Klepněte na tlačítko Vymazat mezipaměť hostitele.

    Pokud to pro vás nefunguje, zkuste vymazat mezipaměť a soubory cookie.

    1. Stisknutím kláves CTRL+Shift+Del otevřete dialogové okno Vymazat data procházení.
    2. Vyberte časové období. Chcete-li odstranit vše, vyberte možnost „Všechny časy“.
    3. Zaškrtněte políčka „Soubory cookie a další data webu“ a „Obrázky a soubory uložené v mezipaměti“.
    4. Klikněte na tlačítko "Vymazat data".

    Tato metoda by měla fungovat pro všechny prohlížeče založené na Chrome, včetně Chromium, Vivaldi a Opera.

    Firefox

    Chcete-li vymazat mezipaměť DNS Firefoxu, postupujte takto:

    1. V pravém horním rohu klikněte na ikonu hamburgeru ☰a otevřete nabídku Firefoxu:
    2. Klikněte na odkaz ⚙ Možnosti (Předvolby).
    3. Klikněte na záložku "Ochrana osobních údajů a zabezpečení" nebo "Důvěrnost" vlevo.
    4. Přejděte dolů do části Historie a klikněte na tlačítko Vymazat historii....
    5. Vyberte časové období, které chcete vymazat. Chcete-li odstranit vše, vyberte „Vše“.
    6. Vyberte všechna pole a klikněte na Clear Now.

    Pokud to pro vás nefunguje, zkuste další metodu a dočasně vypněte mezipaměť DNS.

    1. Otevřete novou kartu a do adresního řádku Firefoxu zadejte about:config.
    2. Najděte network.dnsCacheExpiration, dočasně nastavte hodnotu na 0 a klikněte na OK. Poté změňte výchozí hodnotu a klikněte na OK.
    3. Najděte network.dnsCacheEntries, dočasně nastavte hodnotu na 0 a klikněte na OK. Poté změňte výchozí hodnotu a klikněte na OK.

    Závěr

    Naučili jste se, jak vymazat nebo vyprázdnit mezipaměť DNS v operačních systémech Windows, Linux a MacOS.

    Linux a MacOS mohou použít příkaz dig k dotazování DNS a odstraňování problémů s DNS.

    Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.

Každým rokem se rychlost internetu – poslední míle i hlavních kanálů – zvyšuje. Pouze jedna věc je konstantní - latence již narazila na fyzikální limity: rychlost světla v optickém vláknu je asi 200 tisíc kilometrů za sekundu, a proto rychlejší než ~150 ms, odpověď ze serveru přes Atlantský oceán nelze v v dohledné budoucnosti (i když samozřejmě existují libůstky, jako optické vlákno se vzduchovým jádrem nebo radioreléová komunikace, ale to je pro pouhé smrtelníky jen stěží dostupné).

Když se pokusíme například z Ruska otevřít webovou stránku umístěnou v USA (její NS servery tam pravděpodobně jsou) a doména nebude nalezena v mezipaměti DNS vašeho poskytovatele, budeme muset dlouho čekat i na gigabitový internet, možná i celou vteřinu: zatímco za oceánem budeme dostávat jména NS serverů domény, zatímco budeme řešit jejich IP, zatímco budeme odesílat a přijímat samotný DNS požadavek...

Před několika lety Google spustil své veřejné servery DNS a na podporu přechodu na ně vyvinul nástroj s názvem NameBench, který spouští testy DNS na vaší historii surfování a ukazuje, o kolik je Google DNS rychlejší než DNS server vašeho poskytovatele.

Ale podařilo se mi vytvořit svůj vlastní DNS server, který funguje rychleji než Google Public DNS, a v této krátké poznámce se chci podělit o výsledky.

PDNSD

pdnsd- caching DNS proxy. Kromě banálního ukládání požadavků DNS do mezipaměti (s možností striktně nastavit minimální TTL - to může být nutné na velmi špatném internetu) může odeslat požadavek současně na několik „nadřazených“ serverů DNS a poskytnout klientovi první vrácená odpověď.

Právě zahrnutí paralelního dotazování nám dává hlavní výhodu v rychlosti, protože když je výsledek nalezen v mezipaměti některého z poskytovatelů, získáme výsledek velmi rychle a nečekáme na úplné a pomalé rozlišení, pokud první poskytovatel nemá v mezipaměti odpověď.

Instalováno v Ubuntu pomocí banálního apt-get.

Pár bodů v konfiguraci

global ( perm_cache=10240; //Maximální velikost mezipaměti v kilobajtech. //Výchozí hodnota byla 1024, všechny moje záznamy se nevešly. cache_dir="/var/cache/pdnsd"; [...] min_ttl=60m; // Minimální doba pro uložení záznamu do mezipaměti. //I když TTL dorazí méně než 60 minut, bude to 60 minut max_ttl=1w; // Maximální doba uložení položky do mezipaměti neg_ttl=5m; // Čas pro ukládání negativních odpovědí do mezipaměti (tj. pokud není doména nalezena) [..] par_queries=3; //Počet současně dotazovaných „nadřazených“ serverů DNS) server ( label = „hlavní“; ip = 85.21.192.5 //Tam jsou 4 servery, pokud první 3 neodpoví, bude odeslán požadavek na 4., 213.234.192.7 //První 2 servery jsou servery vašeho poskytovatele a některé sousední, 8.8.4.4 //Toto je Google Public DNS – vše vzácné ukládají do mezipaměti a rychle se vyřeší, 8.8.8.8 ; [.. ] )

V zásadě může být cachování méně agresivní (např. min_ttl=1m), ale za rok provozu nenastaly žádné zvláštní problémy. V případě problémů můžete volitelně vymazat jeden záznam z mezipaměti:
sudo pdnsd-ctl záznam 3.14.odstraněním nebo vše najednou:
sudo pdnsd-ctl prázdná mezipaměť

Výsledky testu v NameBench



Vidíme, že u 50 % požadavků obdržíme odpověď za méně než 10 ms, u 85 % je veřejné DNS Google rychlejší a výsledky se pak přirozeně shodují s Googlem.

Na základě výsledků testu nám NameBench s radostí hlásí:

8.8.8.8 Pomalejší replika SYS-192.167.0.98 8.8.4.4 Pomalejší replika SYS-192.167.0.98

Inteligentní caching DNS proxy s paralelními dotazy tedy umožňuje zrychlit i 100megabitový internet. A pro pomalé (rádiové) spojení s vysokou latencí a ztrátou paketů může být rozdíl jako nebe a země.

Představte si, jaké by to bylo, kdybychom si museli pamatovat IP-adresy všech webových stránek, které denně používáme. I kdybychom měli úžasnou paměť, proces navigace na web by byl směšně pomalý a pracný.

Co když potřebujeme navštívit více webových stránek nebo používat více aplikací, které jsou umístěny na stejném počítači nebo virtuálním hostiteli? To bude jedna z nejhorších bolestí hlavy, jaké si lze představit – nemluvě o možnosti změny IP-adresy spojené s webem nebo aplikací bez předchozího upozornění.

Už jen pomyšlení by bylo dostatečným důvodem, proč po nějaké době přestat používat internet nebo intranet.

To je svět bez systému doménových jmen (také známého jako DNS). Naštěstí tato služba řeší všechny výše uvedené problémy, i když spojení mezi IP- změny adresy a názvu domény.

Z tohoto důvodu se v tomto článku naučíme, jak nastavit a používat jednoduchý DNS-server, služba, která vám umožní překládat názvy domén do IP- adresy a naopak.

Překlad názvů DNS

U malých sítí, které nepodléhají častým změnám, je soubor /etc/hosts lze použít jako základní metodu pro určení názvu domény k překladu IP-adresy.

Tento soubor pomocí velmi jednoduché syntaxe umožňuje přiřadit jméno (a/nebo alias). IP-adresa. To se provádí následovně:

Například,

192.168.0.1 brána gateway.mydomain.com 192.168.0.2 web web.mydomain.com

Tímto způsobem můžete webový stroj kontaktovat buď jménem web.mydomain.com, nebo podle ní IP-adresa.

Pro velké sítě nebo ty, které podléhají častým změnám, použijte soubor /etc/hosts pro překlad doménových jmen IP-adresy nebudou přijatelným řešením. Zde vzniká potřeba speciální služby.

Pojďme do zákulisí práce DNS. DNS-server požaduje velkou databázi ve formě stromu, který začíná od kořene ( «.» ) zóny.

Následující obrázek nám pomůže pochopit, o čem mluvíme:

Obrázek nahoře ukazuje kořenovou zónu (.) obsahuje com, edu A síť domény první úrovně. Každá z těchto domén je (nebo by mohla být) spravována různými organizacemi, aby se předešlo závislosti na jedné velké centrální. To vám umožní správně distribuovat dotazy napříč hierarchií.

Pojďme se podívat, co se stane:

1. Když klient požádá o DNS-server pro web1.sales.me.com, server odešle požadavek na začátek (kořen) DNS-server, který předá požadavek na jmenný server v zóně .com.

To zase odešle požadavek na jmenný server další úrovně (v zóně me.com), a pak do sales.me.com. Tento proces se opakuje tolikrát, kolikrát je potřeba, dokud nebude plně kvalifikovaný název domény (FQDN, web1.sales.me.com v tomto příkladu) nebude vrácen jmenným serverem zóny, ve které se nachází.

2. V tomto příkladu jmenný server v sales.me.com odpovědný za adresu web1.sales.me.com a vrátí požadované přidružení k názvu domény - IP a další informace (pokud je pro to nakonfigurován).

Všechny tyto informace jsou odesílány zdroji DNS-server, který jej poté předá zpět klientovi, který si jej vyžádal. Aby se předešlo opakování stejných kroků pro budoucí identické dotazy, jsou výsledky dotazu uloženy na DNS-server. Toto je důležitý aspekt, kvůli kterému se takové nastavení obvykle nazývá nastavení serveru DNS rekurzivního ukládání do mezipaměti.

Instalace a konfigurace serveru DNS

V Linux nejvíc používané DNS- server je svázat(zkratka pro Berkeley Internet Name Daemon), který lze nainstalovat následovně:

# yum install bind bind-utils # zypper install bind bind-utils # aptitude install bind9 bind9utils

Poté, co jsme nainstalovali svázat a souvisejících obslužných programů si před provedením jakýchkoli změn vytvořte kopii konfiguračního souboru:

# cp /etc/named.conf /etc/named.conf.orig # cp /etc/bind/named.conf /etc/bind/named.conf.orig

Pak otevřeme jmenoval.conf a přejděte k bloku parametrů, kde musíme zadat následující nastavení pro server rekurzivního ukládání do mezipaměti IP 192.168.0.18/24, ke kterému mají přístup pouze hostitelé ve stejné síti (jako bezpečnostní opatření).

Možnosti dopředné zóny se používají k určení, které jmenné servery se mají dotazovat jako první (v následujícím příkladu používáme jmenné servery Google) pro hostitele mimo naši doménu:

Možnosti ( ... listen-on port 53 ( 127.0.0.1; 192.168.0.18); allow-query ( localhost; 192.168.0.0/24; ); rekurze ano; forwardery ( 8.8.8.8; 8.8.4.4; ); . ..)

Mimo blok voleb definujeme naši zónu sales.me.com(na Ubuntu se to obvykle provádí v samostatném souboru s názvem pojmenovaný.konf.místní), který zobrazí doménu s daným IP-adresa a reverzní zóna pro párování IP-adresy do odpovídající oblasti.

Vlastní konfigurace každé zóny však bude probíhat v samostatných souborech, jak je uvedeno v souborové direktivě ("master" znamená, že budeme používat pouze jeden DNS server).

Přidejte do souboru následující řádky jmenoval.conf:

Zóna "sales.me.com." IN (typ master; soubor "/var/named/sales.me.com.zone"; ); zóna "0.168.192.in-addr.arpa" IN ( typ master; soubor "/var/named/0.162.198.in-addr.arpa.zone"; );

Všimněte si, že inaddr.arpa(pro adresy IPv4) a ip6.arpa(pro IPv6) jsou konvence pro konfigurace reverzní zóny.

Po uložení výše uvedených změn do jmenoval.conf můžeme zkontrolovat chyby takto:

# named-checkconf /etc/named.conf

Pokud jsou nalezeny nějaké chyby, výše uvedený příkaz vytvoří informační zprávu s důvodem a řádkem, kde byly nalezeny. Jinak nic nevrátí.

Nastavení DNS zón

V souborech /var/named/sales.me.com.zone A /var/named/0.168.192.in-addr.arpa.zone nakonfigurujeme dopřednou (doména → IP adresa) a reverzní (IP adresa → doména) zóny.

Nejprve se podívejme na přímou konfiguraci:

1. V horní části souboru najdete řádek začínající na TTL(zkratka pro Time To Live), který určuje, jak dlouho by měla odpověď uložená v mezipaměti žít, než bude nahrazena výsledky nového požadavku.

V řádku níže uvedeme odkaz na naši doménu a uvedeme e-mailovou adresu, ze které mají být zasílána upozornění (vezměte prosím na vědomí, že root.sales.me.com prostředek ).

2. Nahrávání SOA(Start of Authority) označuje, že tento systém je autoritativním jmenným serverem pro počítače v doméně sales.me.com.

Pokud máte dva jmenné servery (jeden master a jeden slave), jsou pro každou doménu vyžadována následující nastavení (i když to není náš případ, protože to není vyžadováno u zkoušky, jsou zde uvedeny pro referenci):

Seriál slouží k oddělení jedné verze souboru definice zóny od předchozí (kde mohly být změněny parametry). Pokud odpověď uložená v mezipaměti ukazuje na výstup s jiným Seriál, požadavek se provede znovu místo toho, aby byl vrácen klientovi.

V nastavení s podřízeným (sekundárním) jmenným serverem Obnovit určuje čas, během kterého by měl sekundární server kontrolovat nové sériové číslo od primárního serveru.

Kromě, Zkuste to znovuříká serveru, jak často by se měl sekundární server pokoušet kontaktovat primárního, pokud od primárního neobdrží žádnou odpověď, zatímco Vyprší označuje, když definice zóny v sekundárním režimu již není platná poté, co již není možné přijímat odpověď z primárního serveru, a negativní TTL je doba, po kterou není neexistující doména ukládána do mezipaměti ( doména NX).

3. N.S.-zápis označuje, že je směrodatný DNS-server pro naši doménu (což je označeno znakem @ na začátku řádku).

4. Nahrávání A(pro adresy IPv4) popř AAAA(pro adresy IPv6) překládá názvy na IP-adresy.

V níže uvedeném příkladu:

Dns: 192.168.0.18 (samotný server DNS) web1: 192.168.0.29 (webový server v zóně sales.me.com) mail1: 192.168.0.28 (e-mailový server uvnitř zóny sales.me.com) mail2: 192.168 .0.30 (jiný poštovní server)

5. Nahrávání MX určuje jména autorizovaných agentů pro přenos pošty (MTA) pro tuto doménu. Před názvem hostitele musí být uvedeno číslo udávající prioritu, kterou by měl mít aktuální poštovní server, pokud jsou dva nebo více MTA pro doménu (čím nižší hodnota, tím vyšší priorita) v následujícím příkladu: mail1 je základní, zatímco mail2 je sekundární MTA).

6. Nahrávání CNAME nastaví alias (www.web1) pro hostitele (web1).

DŮLEŽITÉ: přítomnost bodu je důležitá (.) na konci jmen.

604800 $ TTL @ IN SOA sales.me.com. root.sales.me.com. (2016051101; Serial 10800; Refresh 3600; Retry 604800; Expire 604800) ; negativní TTL; @ IN NS dns.sales.me.com. dns IN A 192.168.0.18 web1 IN A 192.168.0.29 mail1 IN A 192.168.0.28 mail2 IN A 192.168.0.30 @ IN MX 10 mail1.sales.me.com. @ IN MX 20 mail2.sales.me.com. www.web1 IN CNAME web1

Podívejme se na konfiguraci reverzní zóny (/var/named/0.168.192.in-addr.arpa.zone). Záznam SOA stejné jako v předchozím souboru, zatímco poslední tři řádky se záznamem PTR(ukazatel) označují poslední oktet v adrese hostitele IPv4 mail1, web1 A mail2(192.168.0.28, 192.168.0.29, respektive 192.168.0.30).

604800 $ TTL @ IN SOA sales.me.com. root.sales.me.com. (2016051101; Serial 10800; Refresh 3600; Retry 604800; Expire 604800) ; Minimální TTL @ IN NS dns.sales.me.com. 28 V PTR mail1.sales.me.com. 29 V PTR web1.sales.me.com. 30 V PTR mail2.sales.me.com.

V souborech zóny můžete zkontrolovat chyby:

# named-checkzone sales.me.com /var/named/sales.me.com.zone # named-checkzone 0.168.192.in-addr.arpa /var/named/0.168.192.in-addr.arpa.zone

Následující snímek obrazovky ukazuje, jaký je očekávaný výstup:

V opačném případě obdržíte chybovou zprávu a radu, jak problém vyřešit:

Jakmile ověříte hlavní konfigurační soubor a soubory zóny, restartujte pojmenovanou službu, aby se změny projevily.

V CentOS A openSUSE dělat:

# restart systemctl pojmenovaný

A nezapomeňte přiložit také:

# systemctl enable pojmenované

V Ubuntu:

$ sudo service bind9 restart

Nakonec budete muset upravit konfiguraci hlavních síťových rozhraní:

V /etc/sysconfig/network-scripts/ifcfg-enp0s3 pro CentOS a openSUSE ---- DNS1=192.168.0.18 ---- V /etc/network/interfaces pro Ubuntu ---- dns-nameservers 192.168.0.18

Nyní restartujte síťovou službu, aby se změny projevily.

Testování DNS serveru

V tuto chvíli jsme připraveni požádat o naše DNS-server pro místní a externí jména a adresy. Vrátí se následující příkazy IP-adresa spojená s hostitelem web1:

# hostitel web1.sales.me.com # hostitel web1 # hostitel www.web1

Jak zjistíme, pro koho e-maily zpracovává sales.me.com? Je snadné to zjistit – stačí si vyžádat záznamy MX pro doménu:

# host -t mx sales.me.com

Stejně tak udělejme obrácený dotaz. To nám pomůže zjistit jméno IP- adresy:

# hostitel 192.168.0.28 # hostitel 192.168.0.29

Stejné operace můžete vyzkoušet pro externí hostitele:

Abychom zajistili, že požadavky skutečně projdou naším DNS-server, povolme protokolování:

# rndcquerylog

A zkontrolujte soubor /var/log/messages(na CentOS a openSUSE):

# hostitel -t mx linux.com # hostitel 8.8.8.8

Chcete-li zakázat protokolování DNS, zadejte znovu:

# rndcquerylog

V Ubuntu Chcete-li povolit protokolování, budete muset přidat následující nezávislý blok (stejná úroveň jako blok voleb). /etc/bind/named.conf:

Protokolování ( kanál dotaz_log ( soubor "/var/log/bind9/query.log"; dynamická závažnost; kategorie tisku ano; závažnost tisku ano; doba tisku ano; ); dotazy na kategorie ( query_log; ); );

Všimněte si, že soubor protokolu musí existovat a musí být možné do něj zapisovat podle názvu.

Výsledek

V tomto článku jsme vysvětlili, jak nastavit základní rekurzivní ukládání do mezipaměti DNS-server a jak nakonfigurovat zóny pro doménu.

Pro zajištění správného fungování vašeho DNS-server, nezapomeňte povolit tuto službu ve vaší bráně firewall (port TCP 53), jak je popsáno v ("Konfigurace brány Iptables Firewall pro povolení vzdáleného přístupu ke službám").

.

Kurzy Cisco a Linux se zaměstnáním!

Pospěšte si s přihláškou! Zbývá pár míst. Skupiny začínají 22. července a další 19. srpna, 23. září, 21. října, 25. listopadu, 16. prosince, 20. ledna, 24. února.

co dostaneš?

  • Pomůžeme vám stát se expertem na správu sítí a získat mezinárodní certifikáty Cisco CCNA Routing & Switching nebo Linux LPI.
  • Nabízíme osvědčený program a učebnici od odborníků z Cisco Networking Academy a Linux Professional Institute, certifikovaných lektorů a osobního mentora.
  • Pomůžeme vám najít zaměstnání a vybudovat kariéru. 100 % našich absolventů je zaměstnáno.

Jak školení probíhá?

  • Vedeme večerní online přednášky na naší platformě nebo studujeme osobně v kanceláři v Kyjevě.
  • Zeptáme se vás na vhodný čas na cvičení a přizpůsobení: chápeme, že na studium je málo času.
  • Pokud chcete individuální harmonogram, projednáme a zrealizujeme.
  • Stanovíme jasné termíny pro vlastní organizaci. Osobní supervizor vás bude kontaktovat, aby odpovídal na otázky, radil a motivoval vás k dodržování termínů zkoušek.

Pomůžeme vám také:

Účelem DNS je překládat názvy domén, které si lidé snadno zapamatují, na adresy IP, kterým počítače rozumí, což je proces zvaný překlad názvů. Co nám dá instalace našeho vlastního serveru DNS pro ukládání do mezipaměti? Trochu to zrychlí odezvu stránek + Linux moc nebere názvy NetBios, ale někdy musíte najít počítače nebo tiskárny v místní síti, ale chcete to udělat podle názvu.

Pamatování IP adres není pohodlné a neustálé prohlížení protokolu DHCP serveru také není naší metodou. Právě pro takové případy potřebujete DNS v lokální síti. Samotná instalace balíčku bind9 není obtížná, k závadám obvykle dochází ve fázi jeho konfigurace, protože Po snadno čitelných konfiguračních souborech systému je člověk postaven před nesrozumitelnou syntaxi, která je mimochodem velmi podobná programovacímu jazyku S. server bude fungovat uvnitř lokální sítě, nemá smysl jej přenášet do chrootového prostředí a celé nastavení zabere velmi málo času. Tímto může být lyrická část dokončena, přejděme k instalaci a konfiguraci.

Nainstalujme DNS server Bind9:

# apt - získejte instalaci bind9

Po dokončení, stažení a instalaci musíme upravit jeho konfigurační soubor:

#vim /etc/bind/named. conf. možnosti

Sekci najdeme, je umístěna úplně na začátku konfiguračního souboru, kromě ní tam nic jiného není...

volby ( adresář "/var/cache/bind" ; // Pokud je mezi vámi a požadovanými jmennými servery firewall// chcete-li mluvit, možná budete muset opravit firewall, aby umožňoval více// porty k hovoru. Viz http://www.kb.cert.org/vuls/id/800113// Pokud váš ISP poskytl jednu nebo více IP adres pro stabilitu// nameservery, pravděpodobně je budete chtít použít jako forwardery.// Odkomentujte následující blok a vložte adresy nahrazující// zástupný symbol all-0. // forwardery ( // 0.0.0.0; // ); auth - nxdomain no ; # odpovídat RFC1035 listen - on - v6 ( any ; ); );

Sekce forwarders je zodpovědná za to, kam bude odeslán požadavek DNS na překlad jména, pokud není ve vlastní databázi. V poslední době nejsem vůbec spokojený, práce těchto serverů s poskytovatelem je důvod, proč můžete připojit i třetí strany, například Google, je velmi snadné si zapamatovat IP 8.8.8.8, použiji její příklad nakonfigurovat, ale nikdo vás neobtěžuje používat ty, které se vám nejvíce líbí.

Sekci upravujeme, nejprve z ní musíte odstranit komentáře a přidat DNS třetích stran, pokud je potřeba přidat několik serverů, například v případě, že server Google nevydrží vaše požadavky a porouchá se :), pak IP jiných serverů lze zapsat do sloupce, pak můžete dosáhnout větší odolnosti proti chybám.

speditéři(8.8.8.8; 193.58.251.251; //Ruská služba DNS -SkyDNS};

V této sekci je lepší zadat IP serveru, který jste uvedli v souboru /etc/resolv.conf nebo jej zadejte do sekce jmenný server tuto IP. Uložte změny a ukončete. Restartujte server a zkontrolujte. Napíšeme do příkazového řádku nslookup mail.ru
Mělo by vycházet:

Neautoritativní odpověď: Jméno: mail. ru Adresy: 94.100.191.202

To naznačuje, že náš server není tím hlavním, kdo obsluhuje tuto zónu (mail.ru), ale přidává požadavky do mezipaměti!
Nyní potřebujeme vytvořit DNS zónu pro naši síť, aby stroje nacházely různé síťové služby – mohou tam být například síťové tiskárny, mohou být buď nezávislé, nebo sdílené na jiných pracovních stanicích.
Naše zóna se může jmenovat orgname – tzn. Název organizace.
Nejprve si vytvoříme zónu, kterou budeme upravovat pojmenovaný.konf.místní

#vim /etc/bind/named. conf. místní

a přidejte k tomu následující:

zóna "název organizace" ( typ master ; soubor "/etc/bind/db.orgname" ; );

Uložit a odejít
Nyní musíme vytvořit konfigurační soubor zóny

# vim / etc / bind / db . název organizace

a vložte do něj následující:
(Věnujte prosím velkou pozornost syntaxi konfiguračního souboru, i tečky mají svůj význam)

@IN SOA název organizace. vykořenit. název organizace. (20101015 4h; doba aktualizace - 4 hodiny 1h; opakovat každou hodinu 1h; jak dlouho uchovávat informace - 1 týden 1d); TTL (time to live) záznamu je 1 den @ IN NS orgname. ; nameservername @ IN A 192.168.10.1 ; A - záznam - IP adresa našeho serveru DNS, který obsluhuje tuto zónu, @ znamená, že se jedná o kořenovou zónu. * IN CNAME @ tiskárna IN A 192.168.10.25 ; Můžete vytvořit záznam DNS pro síťovou tiskárnu umístěnou na adrese 192.168.10.25

Nyní, když přidáváte nové síťové zařízení, musíte udělat 2 věci:
1) Rezervujte si IP adresu na DHCP serveru, jak na to se dočtete v článku - Nastavení DHCP serveru
2) Vytvořte DNS zónu pro tuto IP, zadejte název zařízení DO A XXX.XXX.XXX.XXX. Kde: název zařízení je síťový název zařízení; XXX.XXX.XXX.XXX je jeho IP adresa, která je rezervována na serveru DHCP.

nyní musíme upravit soubor resolv.conf

# vim / etc / resolv . conf

a zadejte tam:

jmenný server 127.0.0.1

vše, co tam bylo, lze okomentovat zadáním #
server se restartuje

# restart

To bylo provedeno tak, že server vyhledává vše ve své vlastní databázi a teprve poté BIND přesměruje požadavky na server 8.8.8.8 IP, jehož IP je zahrnuta v direktivě speditéři.
Nyní můžete zkontrolovat funkčnost:
Pokud testování probíhá pod Windows:

ping název zařízení. název organizace

Pokud testujeme z Linuxu:

ping název zařízení. název organizace - c 4

Pingy by měly jít na vámi zadanou IP adresu namísto XXX.XXX.XXX.XXX

Pomocí příkazu můžete také zkontrolovat rychlost zpracování požadavků kopat

# dig @127.0.0.1 tut.by ;<<>> DiG 9.9.5-9+deb8u6-Debian<<>> @127.0.0.1 tut.by ; (nalezen 1 server) ;; globální možnosti: +cmd ;; Dostal odpověď: ;; ->>HLAVIČKA<<- opcode: QUERY, status: NOERROR, id: 63893 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 13, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;tut.by. IN A ;; ANSWER SECTION: tut.by. 103 IN A 178.172.160.5 tut.by. 103 IN A 178.172.160.4 tut.by. 103 IN A 178.172.160.2 tut.by. 103 IN A 178.172.160.3 ;; AUTHORITY SECTION: . 6029 IN NS i.root-servers.net. . 6029 IN NS b.root-servers.net. . 6029 IN NS m.root-servers.net. . 6029 IN NS k.root-servers.net. . 6029 IN NS e.root-servers.net. . 6029 IN NS d.root-servers.net. . 6029 IN NS j.root-servers.net. . 6029 IN NS g.root-servers.net. . 6029 IN NS l.root-servers.net. . 6029 IN NS f.root-servers.net. . 6029 IN NS h.root-servers.net. . 6029 IN NS a.root-servers.net. . 6029 IN NS c.root-servers.net. ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Mar 22 16:46:24 MSK 2016 ;; MSG SIZE rcvd: 310

DNS (Domain Name System) je důležitá a poměrně obtížně konfigurovatelná součást nezbytná pro provoz webových stránek a serverů. Mnoho uživatelů používá servery DNS poskytované jejich poskytovatelem hostingu, ale vlastnictví vlastních serverů DNS má určité výhody.

V tomto tutoriálu se dozvíte, jak nainstalovat Bind9 a nakonfigurovat jej jako server DNS pro ukládání do mezipaměti nebo předávání na serveru Ubuntu 14.04.

Požadavky

  • Pochopení základních typů DNS serverů. Více podrobností se můžete dozvědět na.
  • Dva počítače, z nichž alespoň jeden používá Ubuntu 14.04. První počítač bude nakonfigurován jako klient (IP adresa 192.0.2.100) a druhý jako DNS server (192.0.2.1).

Dozvíte se, jak nakonfigurovat klientský počítač pro odesílání dotazů prostřednictvím serveru DNS.

Ukládání DNS serveru do mezipaměti

Servery tohoto typu se také nazývají překladače, protože zpracovávají rekurzivní dotazy a obvykle mohou vyhledávat data DNS z jiných serverů.

Když cachovací server DNS monitoruje odpověď na dotaz klienta, vrátí odpověď klientovi a také ji uloží do mezipaměti po dobu povolenou hodnotou TTL odpovídajících DNS záznamů. Mezipaměť pak může být použita jako zdroj odpovědí na následné požadavky pro urychlení celkového času zpracování požadavku.

Téměř všechny servery DNS v konfiguraci sítě budou servery pro ukládání do mezipaměti. Server DNS pro ukládání do mezipaměti je dobrou volbou pro mnoho situací. Pokud se nechcete spoléhat na servery DNS vašeho poskytovatele hostingu nebo jiné veřejné servery DNS, nastavte si vlastní server DNS pro ukládání do mezipaměti. Čím kratší je vzdálenost od serveru DNS ke klientským počítačům, tím kratší dobu trvá obsluha požadavků DNS.

Server DNS pro předávání

Z pohledu klienta bude server DNS pro předávání vypadat téměř stejně jako server pro ukládání do mezipaměti, ale mechanismy a pracovní zátěž jsou zcela odlišné.

Server DNS pro předávání má stejné výhody jako server pro ukládání do mezipaměti. Ve skutečnosti však neprovádí žádné rekurzivní dotazy. Místo toho předává všechny požadavky na externí server pro rozlišení a poté ukládá výsledky do mezipaměti pro následné požadavky.

To umožňuje serveru přesměrování obsluhovat požadavky ze své mezipaměti, aniž by musel zpracovávat rekurzivní požadavky. Tento server tedy zpracovává pouze jednotlivé požadavky (přesměrované požadavky klientů) a nikoli celou proceduru rekurze. To může být výhodou v prostředích s omezenou externí šířkou pásma, kde je třeba často měnit servery pro ukládání do mezipaměti, a v situacích, kdy je třeba místní požadavky směrovat na jeden server a externí požadavky na jiný.

1: Nainstalujte Bind na server DNS

Balíček Bind lze nalézt v oficiálním úložišti Ubuntu. Aktualizujte svůj index balíčků a nainstalujte Bind pomocí správce apt. Musíte také nainstalovat několik závislostí.

aktualizace sudo apt-get
sudo apt-get install bind9 bind9utils bind9-doc

Poté můžete začít s nastavením serveru. Konfiguraci serveru pro mezipaměť lze použít jako šablonu pro konfiguraci serveru pro předávání, takže nejprve musíte nakonfigurovat server DNS pro ukládání do mezipaměti.

2: Nastavení serveru DNS pro ukládání do mezipaměti

Nejprve musíte nakonfigurovat Bind jako server DNS pro ukládání do mezipaměti. Tato konfigurace přinutí server, aby rekurzivně hledal odpovědi na požadavky klientů na jiných serverech DNS. Postupně se bude dotazovat na všechny odpovídající servery DNS, dokud nenajde odpověď.

Konfigurační soubory Bind jsou uloženy v adresáři /etc/bind.

Většinu souborů není třeba upravovat. Hlavní konfigurační soubor se nazývá named.conf (named a bind jsou dva názvy pro stejnou aplikaci). Tento soubor odkazuje na soubory named.conf.options, named.conf.local a named.conf.default-zones.

Chcete-li nakonfigurovat server DNS pro ukládání do mezipaměti, stačí upravit název name.conf.options.

sudo nano pojmenované.konf.možnosti

Tento soubor vypadá takto (komentáře jsou pro zjednodušení vynechány):

možnosti (
adresář "/var/cache/bind";
dnssec-validation auto;

listen-on-v6 ( any; );
};

Chcete-li nastavit server pro ukládání do mezipaměti, musíte vytvořit seznam řízení přístupu neboli ACL.

Musíte chránit server DNS, který zpracovává rekurzivní dotazy od útočníků. Útoky na zesílení DNS jsou obzvláště nebezpečné, protože mohou zapojit server do distribuovaných útoků odmítnutí služby.

Útoky zesilující DNS jsou jedním ze způsobů, jak svrhnout servery a webové stránky. K tomu se útočníci snaží najít veřejné servery DNS, které zpracovávají rekurzivní dotazy. Zfalšují IP adresu oběti a pošlou dotaz, který vrátí velmi velkou odpověď serveru DNS. V tomto případě DNS server vrací příliš mnoho dat na server oběti jako odpověď na malý požadavek, čímž zvyšuje útočníkovu dostupnou šířku pásma.

Hostování veřejného rekurzivního serveru DNS vyžaduje pečlivou konfiguraci a správu. Chcete-li zabránit napadení serveru, nakonfigurujte seznam adres IP nebo rozsahů sítí, kterým může server důvěřovat.

Před blok voleb přidejte blok acl. Vytvořte štítek pro skupinu ACL (v tomto kurzu se skupina nazývá goodclients).

acl dobří klienti (
};
možnosti (
. . .

V tomto bloku uveďte IP adresy nebo sítě, které budou mít přístup k tomuto DNS serveru. Protože server a klient běží v podsíti /24, můžete omezit přístup k této podsíti. Musíte také odblokovat localhost a localnets, které se připojují automaticky.

acl dobří klienti (
192.0.2.0/24;
localhost;
místní sítě;
};
možnosti (
. . .

Nyní máte zabezpečeného klienta ACL. Nastavení rozlišení požadavku můžete začít v bloku voleb. Přidejte k němu následující řádky:

možnosti (
adresář "/var/cache/bind";
rekurze ano;

. . .

Blok voleb explicitně povoluje rekurzi a poté konfiguruje volbu allow-query tak, aby používala ACL. K odkazování na skupinu ACL můžete také použít jiný parametr, například allow-recursion. Když je rekurze povolena, povolí-rekurze definuje seznam klientů, kteří mohou používat rekurzivní služby.

Pokud však není nastaveno allow-recursion, Bind se vrátí do seznamu allow-query-cache, poté do seznamu allow-query a nakonec do výchozích seznamů localnets a localhost. Protože nastavujeme pouze cachovací server (nemá své vlastní zóny a nepřeposílá dotazy), bude se seznam povolených dotazů vztahovat pouze na rekurzi. Toto je nejběžnější způsob, jak definovat ACL.

Uložte a zavřete soubor.

Toto jsou všechna nastavení, která je třeba přidat do konfiguračního souboru serveru DNS pro ukládání do mezipaměti.

Poznámka: Pokud chcete používat pouze tento typ DNS, pokračujte kontrolou konfigurací, restartujte službu a nakonfigurujte svého klienta.

3: Nastavení serveru DNS pro předávání

Pokud je vaše infrastruktura vhodnější pro server DNS pro předávání, můžete nastavení trochu upravit.

Aktuálně vypadá soubor named.conf.options takto:

acl dobří klienti (
192.0.2.0/24;
localhost;
místní sítě;
};
možnosti (
adresář "/var/cache/bind";
rekurze ano;
allow-query(goodclients;);
dnssec-validation auto;
auth-nxdomain no; # odpovídá RFC1035
listen-on-v6 ( any; );
};

Stejný seznam ACL můžete použít k omezení serveru DNS na určitý seznam klientů. To však vyžaduje mírnou změnu konfigurace, aby se server již nepokoušel provádět rekurzivní dotazy.

Neměňte rekurzi na ne. Přesměrovací server stále podporuje rekurzivní služby. Chcete-li nastavit server pro přesměrování, musíte vytvořit seznam serverů pro ukládání do mezipaměti, na které bude přesměrovávat požadavky.

To se provádí v bloku options(). Nejprve v něm musíte vytvořit nový blok forwarderů, kam se budou ukládat IP adresy rekurzivních jmenných serverů, na které chcete požadavky přesměrovat. V tomto případě to budou servery Google DNS (8.8.8.8 a 8.8.4.4):

. . .
možnosti (
adresář "/var/cache/bind";
rekurze ano;
allow-query(goodclients;);
speditéři (

8.8.8.8;

8.8.4.4;

};
. . .

Výsledná konfigurace vypadá takto:

acl dobří klienti (
192.0.2.0/24;
localhost;
místní sítě;
};
možnosti (
adresář "/var/cache/bind";
rekurze ano;
allow-query(goodclients;);
speditéři (
8.8.8.8;
8.8.4.4;
};
pouze dopředu;
dnssec-validation auto;
auth-nxdomain no; # odpovídá RFC1035
listen-on-v6 ( any; );
};

Poslední změna se týká parametru dnssec. Při aktuální konfiguraci a v závislosti na nastavení serverů DNS, na které jsou požadavky přesměrovány, se mohou v protokolech objevit následující chyby:

Jun 25 15:03:29 cache s názvem: error (chase DS servers) resolving "in-addr.arpa/DS/IN": 8.8.8.8#53
Jun 25 15:03:29 cache Named: error (no valid DS) resolving "111.111.111.111.in-addr.arpa/PTR/IN": 8.8.4.4#53

Chcete-li se jim vyhnout, musíte změnit parametr dnssec-validation na yes a explicitně povolit dnssec.

. . .
pouze dopředu;
dnssec-enable ano;
dnssec-validation ano;
auth-nxdomain no; # odpovídá RFC1035
. . .

Uložte a zavřete soubor. Nastavení serveru DNS pro předávání je dokončeno.

4: Zkontrolujte nastavení a restartujte Bind

Nyní se musíte ujistit, že nastavení funguje podle očekávání.

Chcete-li zkontrolovat syntaxi konfiguračních souborů, zadejte:

sudo named-checkconf

Pokud v souborech nejsou žádné chyby, příkazový řádek nezobrazí žádný výstup.

Pokud se zobrazí chybová zpráva, opravte ji a otestujte znovu.

Poté můžete restartovat démona Bind a aktualizovat nastavení.

restart služby sudo bind9

Poté musíte zkontrolovat protokoly serveru. Spusťte příkaz na serveru:

sudo tail -f /var/log/syslog

Nyní otevřete nový terminál a začněte nastavovat klientský počítač.

5: Nastavení klienta

Přihlaste se do klientského počítače. Ověřte, že klient byl uveden ve skupině ACL nakonfigurovaného serveru DNS. V opačném případě DNS server odmítne obsluhovat požadavky tohoto klienta.

Upravte soubor /etc/resolv.conf tak, aby nasměroval server na jmenný server.

Zde provedené změny zůstanou zachovány pouze do restartu, což je skvělé pro testování. Pokud jste s výsledky nastavení testu spokojeni, můžete tato nastavení provést natrvalo.

Otevřete soubor pomocí sudo v textovém editoru:

sudo nano /etc/resolv.conf

Soubor musí obsahovat seznam serverů DNS, které budou použity k řešení dotazů. K tomu použijte direktivu nameserver. Zakomentujte všechny aktuální položky a přidejte řádek jmenného serveru ukazující na váš server DNS:

jmenný server 192.0.2.1
# nameserver 8.8.4.4
# nameserver 8.8.8.8
# nameserver 209.244.0.3

Uložte a zavřete soubor.

Nyní můžete odeslat testovací požadavek, abyste se ujistili, že se vyřeší správně.

K tomu můžete použít ping:

ping -c 1 google.com
PING google.com (173.194.33.1) 56(84) bajtů dat.
64 bajtů z sea09s01-in-f1.1e100.net (173.194.33.1): icmp_seq=1 ttl=55 čas=63,8 ms
--- statistiky ping na google.com ---
1 odeslaný paket, 1 přijatý, 0 % ztráta paketu, čas 0 ms
rtt min/avg/max/mdev = 63,807/63,807/63,807/0,000 ms

Nahoru