BIND vs Unbound a caching DNS

Robo9123

BIND vs Unbound a caching DNS
« kdy: 02. 09. 2016, 13:58:01 »
Zdravim,
nerad tu zakladam mozno pre vela ludi zbytocnu temu ale prestudoval som kopu webov nakolko sa zaujimam o problematiku instalacie DNS servera, ale stale mi ostava zahadou vyznam caching only serverov.
Ak som spravne pochopil BIND sa pouziva hlavne na vytvorenie autoritativneho DNS servera. Teda ak som to spravne pochopil v tom pripade ak mam domenu nieco.sk v tom pripade si viem domenu nasmerovat na svoj server, kde mam nakonfigurovane DNS prostrednictvom BINDu a nastavit si tu NS,A, MX,... zaznamy, z ktorych sa bude dana domena nacitavat. Tato cast mi je teda celkom jasna.
Co mi ale nie je jasne je to aky vyznam maju caching only DNS servery a to konkretne Unbound. Cez unbound si neviem realne nastavit jednotlive dns zaznamy ako pri BINDe, preto nerozumiem, ake realne vyuzitie v praxi caching DNS realne ma. To ze to forwarduje, ci resolvuje zaznamy inych domen? Nerobi tuto ulohu ale realne aj samotny internetovy browser bez toho aby bol DNS realne nainstalovany? Zaujimali by ma konkretne vyuzitia unboundu v napr v podnikovom odvetvi a realne priklady toho ako to funguje.
Za kazdu radu budem rad.


Re:BIND vs Unbound a caching DNS
« Odpověď #1 kdy: 02. 09. 2016, 14:37:22 »
Kešující DNS resolver použijete především v případě, kdy máte vlastní síť (firma, škola, ISP). Obyčejný klient (uživatelský desktop, mobil apod.) neprovádí překlad DNS sám od kořenových serverů, místo toho má nakonfigurovaný jeden nebo více DNS resolverů, které pro něj tuhle službu dělají. Klient se tedy DNS serveru zeptá rovnou „dej mi A záznam pro www.root.cz“, DNS resolver vyřídí to dotazování kořenového serveru, serveru pro doménu cz., pro doménu root.cz. a klientovi vrátí už hotový výsledek. Takovýhle DNS resolver obvykle poskytují svým klientům ISP, ale můžete ho mít i ve své síti. Případně existují veřejné, třeba 8.8.8.8 a 8.8.4.4 od Googlu nebo OpenDNS. No a kešující jsou ty DNS resolvery proto, že obvykle vyřizují velké množství opakujících se požadavků, takže se jim vyplatí odpovědi si nějakou dobu pamatovat (aby nemusel pořád dokola u serverů kořenové zóny zjišťovat, který že to server má na starosti doménu cz. apod.).

S nástupem DNSSEC je snaha dostat ten DNS resolver až na zařízení uživatele (buď přímo koncové zařízení, nebo třeba domácí router), protože DNS resolver je ta služba, která také provádí validaci DNSSEC (a když vám DNS resolver ISP odpoví „IP adresa je 91.213.160.118 a DNSSEC jsem zvalidoval“, tak mu to věřit můžete, ale taky nemusíte).

Jinak BIND může fungovat i jako kešující DNS resolver, dříve se často provozoval na jednom serveru spolu s autoritativním serverem, ale takové použití se silně nedoporučuje, protože je velice snadné udělat to špatně. A BIND také není zdaleka jediný autoritativní DNS server, zajímavý je třeba český KnotDNS, dále třeba PowerDNS nebo NSD. A vedle Unboundu existují i další kešující DNS resolvery, třeba mladší bráška KnotDNS Resolver nebo dnsmasq.

j

Re:BIND vs Unbound a caching DNS
« Odpověď #2 kdy: 02. 09. 2016, 15:20:16 »
...
Browser ani zadna (rozumna) aplikace nic nedela, preda dotaz (pomoci API) svymu systemu. Ten se pak zepta prave DNS kterej ma naconfenej (pripadne jeste podiva do hosts atp) a vrati odpoved.

Cache dela to co ma v nazvu - pamatuje si odpovedi, a tudiz pri opakovanem dotazu se uz nepta dal, a rovnou vrati vysledek. On totiz dotaz na jednu IP muze klidne znamenat dotaz na 5+ ruznych dns. Bezne to vypada tak, ze se nejdriv zeptas tld, ktera ti odpovi, ze domena.tld ma NS a,b,c ... pak se zeptas jednoho znich, a zjistis, ze NS pro franta.domena.tld je x,a y ... a takhle musis postupne prolizt vsechny subdomeny.

Cache zaroven pochopitelne nebude tuhle proceduru opakovat celou, pokud se budes ptat jen na jinou subdomenu. Takze tim ziskas o fous lepsi odezvu pri dotazovani.

Odpovedi si samo do cache dava i kazdej normalni system a muze si ji drzet i aplikace, takze pokud vse funguje jak ma, tak refresh webu (napr) negeneruje zadnej dns dotaz. Jak dlouho zalezi primarne na nastaveni cache, sekundarne na prani admina dns. Kazda domena posila info o tom, jak dlouho by se zaznamy v chache drzet mely, ale to neznamena, ze je cache nesmaze driv, nebo naopak nebude drzet dyl, coz pak vede k ruznym nechutnostem.

ixo333

Re:BIND vs Unbound a caching DNS
« Odpověď #3 kdy: 02. 09. 2016, 17:21:50 »
cz.nic  má k tejto problematike  celkom  dobré videjko
http://www.jakfungujedns.cz/

hugochavez

Re:BIND vs Unbound a caching DNS
« Odpověď #4 kdy: 04. 09. 2016, 23:01:00 »
"ake realne vyuzitie v praxi caching DNS realne ma. To ze to forwarduje, ci resolvuje zaznamy inych domen? Nerobi tuto ulohu ale realne aj samotny internetovy browser bez toho aby bol DNS realne nainstalovany"

To podstatne uz bylo vysvetleno vyse, ja jen doplnim ze prvotni DNS kteryho se tvuj system pta je tvuj vlastni HOSTS file.
 (etc/hosts) ve Widlich je to nekde pod "drivers" nebo tak nejak (coz nedava moc smysl ale u Widli se na normalni logiku nikdy nehralo)
Tahle hosts file je vlastne takovej druh cache kterej si sam nadefinujes a pokud v ni budes mit zadany namapovany IP adresy k domenam ktery navstevujes obejdes se klidne i bez jakehokoliv DNS :o)
A vyhnes se i DNS cenzure ktera se p.t. praktikuje ve vetsine EU a pravdepodobne ceka i ceske uzivatele pokud projde ten zakon o blokovani hazardu kterej protlacuje Hnizdo (osobne bych ty jeho sny spis nazval "mily Jezisku pisu ti co bych si pral k Vanocum" protoze jina moznost takoveho blokovani nez DNS bloking uz je jen DPI a to si neumim predstavit jak by to dokazal obhajit ze stat si bude hrat na MitM pro celou republiku. Jiny alternativy jak by to moh' uskutecnit me nenapadaj.
Obracene se hosts  da pouzit s uspechem na MEGA RYCHLE BLOKOVANI  domen kam NECHCES abyse tvuj system dostal a kde ani nechces aby se vubec na IP tech domen dotazoval nekam dal.
Existujou predpripraveny hosts-soubory kde je shromazden "bordel of the World" napr tady: 
  http://winhelp2002.mvps.org/hosts.htm
 budes prekvapen jak se ti zrychli trafik, protoze pri otevreni stranky uz se tvuj browser nebude dotazovat na miliony IP kdejakejch smejdu co sou nalezli po webech.....
Pro ilustraci zkus si nainstalovat grafickej zobrazovac spojeni sitovky EtherApe a schvalne si otevri 1 beznou stranku- budes prekvapen s kym vsim si tvuj browser povida  :o))))
Ve firme se pak takto da resit treba zakaz lezeni na Fejsbeg apod. Bezny BFU to neobejde. Pri vetsim poctu PC to ale zacina bejt vopruz a je lepsi to resit primo na routeru jako DNS blacklist- napr v Unbound :o)
A tady se dostavame k "realne vyuzitie v praxi caching DNS" - predevsim podstatne zrychleni zobrazovani protoze se ptas "mistniho DNS" kterej mas na 2 metry od sebe a nee tveho ISP ci Google nekde v netu. Zaroven je dobre si uvedomit ze pri pouziti DNS tvyho ISP (coz je vetsinou defaultni nastaveni) ziskava tvuj ISP pomerne podrobnej prehled o tom kam na netu chodis.... -teda nee ze by to nezjistil i jinak  :o)))) Ale tady staci zapnout jen logovani DNS requestu.
Unbound tuto funkci prebira a zaroven umi i DNSSEC a udrzovat zaznamy stale fresh (funkce pre-fetch keys)
Toto video nazorne ukazuje jaka je vyhoda mit lokalni cache ve forme Unbound a jak propastnej casovej rozdil to je:
 Comprehensive Guide to pfSense 2.3 Part 7: DNS Resolver and Benchmarking 
https://www.youtube.com/watch?v=s3VXLIXGazM&index=11&list=PLE726R7YUJTePGvo0Zga2juUBxxFTH4Bk
 a pokud si chces hrat tak timhle softem zjistis jaky jsou ve tvym okoli DNS servery a zmeri jak rychle ti odpovidaji na DNS dotazy a jestli nedelaj to svinstvo ze ti pri nedostupnosti pozadovane stranky nezkousej nacpat nakou svoji  ;o)
 https://www.grc.com/dns/benchmark.htm
 Jestli nekteremu z nich sveris tvuj DNS provoz uz je jen na tobe viz. vyse.

PS: muj filtr na hosts-file zacina takto :o)))
#blokovani specielne Facebooku a tech fizlovacich "like" sracek
#co ma vsude mozne po netu
127.0.0.1 www.facebook.com
127.0.0.1 facebook.com
127.0.0.1 static.ak.fbcdn.net
127.0.0.1 www.static.ak.fbcdn.net
127.0.0.1 login.facebook.com
127.0.0.1 www.login.facebook.com
127.0.0.1 fbcdn.net
127.0.0.1 www.fbcdn.net
127.0.0.1 fbcdn.com
127.0.0.1 www.fbcdn.com
127.0.0.1 static.ak.connect.facebook.com
127.0.0.1 www.static.ak.connect.facebook.com

#spesl svine
127.0.0.1 safedownloadsrus173.com

# [Start of entries generated by MVPS HOSTS] 


Re:BIND vs Unbound a caching DNS
« Odpověď #5 kdy: 05. 09. 2016, 14:38:03 »
To podstatne uz bylo vysvetleno vyse, ja jen doplnim ze prvotni DNS kteryho se tvuj system pta je tvuj vlastni HOSTS file.

Ne. Systém se ptá různých služeb v pořadí, v jakém je máte v systému nakonfigurované. Ano, "files", tj. `/etc/hosts` je většinou první nakonfigurovaná služba, ale je to jen otázka standardní konfigurace. Na systémech s glibc viz `/etc/nsswitch.conf`.