Výběr DNS serveru

Výběr DNS serveru
« kdy: 19. 02. 2014, 12:49:57 »
Ahoj, na jakém principu funguje výběr DNS serveru? Mějme situaci, kdy pomocí DHCP šíříte 3 adresy DNS serverů. Měl jsem za to, že se vždy použije první, pokud nefunguje, tak druhá a pokud ani ta, tak třetí. Dnes jsem ladil DNSSEC a zjistil jsem, že stanice nepoužívají první DNS server, ale nějaký další. Tzn. buď je výběr náhodný nebo něco nefunguje na prvním serveru.

Díky


Re:Výběr DNS serveru
« Odpověď #1 kdy: 19. 02. 2014, 13:00:53 »
Obvyklé chování je, že pokud je v resolv.conf více než jeden nameserver, používají se postupně tak, jak jsou zapsány. Pokud odpovídá hned ten první, používá se primárně ten.

Nemají uživatelé možnost si DNS servery změnit? Pak jim obvykle nic nebrání v tom, aby použili třeba oblíbené servery od Google.

Re:Výběr DNS serveru
« Odpověď #2 kdy: 19. 02. 2014, 13:34:05 »
Situace:
------------------------------------
server1 - DNSSEC ANO
server2 - DNSSEC NE
server3 - DNSSEC NE

Na stanici dotazující se pomocí DHCP na DNS je Win7.

Nastavení DHCP:
------------------------------------
varianta a)
option domain-name-servers server1;

varianta b)
option domain-name-servers server1,server2,server3;

Chování:
------------------------------------
Pokud nastavím na DHCP serveru variantu a, tak se použije na tvrdo pouze server1, kde DNSSEC funguje. DNS překládá, takže zřejmě funguje. DNSSEC ověřeno na www.dnssec.cz. Pokud nastavím na DHCP serveru variantu b) tak se musí defaultně použít jiný DNS server, jelikož při ověření na www.dnssec.cz už DNSSEC nefunguje.

Re:Výběr DNS serveru
« Odpověď #3 kdy: 19. 02. 2014, 13:47:10 »
Aha, jak to funguje ve Windows, to opravdu netuším. Ale je možné, že to tam mezi servery volí náhodně. Pokud jde jen o ten DNSSEC, nebylo by vůbec nejlepší rozchodit ho na všech třech serverech?

Re:Výběr DNS serveru
« Odpověď #4 kdy: 19. 02. 2014, 14:04:18 »
Bohužel nemám všechny tři DNS servery pod správou.


Sten

Re:Výběr DNS serveru
« Odpověď #5 kdy: 19. 02. 2014, 14:09:55 »
Chování:
------------------------------------
Pokud nastavím na DHCP serveru variantu a, tak se použije na tvrdo pouze server1, kde DNSSEC funguje. DNS překládá, takže zřejmě funguje. DNSSEC ověřeno na www.dnssec.cz. Pokud nastavím na DHCP serveru variantu b) tak se musí defaultně použít jiný DNS server, jelikož při ověření na www.dnssec.cz už DNSSEC nefunguje.

To je správné chování. Pokud ověření DNSSEC selže, první server vrátí chybu. Klient se potom zeptá dalšího serveru, který již DNSSEC neověřuje a vrátí uvedenou adresu.

42

  • **
  • 63
  • 42
    • Zobrazit profil
    • 42
Re:Výběr DNS serveru
« Odpověď #6 kdy: 19. 02. 2014, 14:38:01 »
Ahoj,
takhle, nemám moc přehled v DHCP, ale co se týče DNS, tak je potřeba myslet na to, že DNS servery cachují požadavky. A to i na straně klienta v prohlížeči.

Pro testování bych použil klasické příkazy (traceroute, dig, ...), aby jsi věděl jaký DNS server ti odpověděl na požadavek.

Dotaz na DNS Googlu:
Kód: [Vybrat]
dig any seznam.cz @8.8.8.8
Dotaz z nejbližšího DNS serveru:
Kód: [Vybrat]
dig any seznam.cz
U obou odpovědí je dole ";; SERVER: <ip-adresa>" což je pro tebe informace která říká jaký nameserver byl použit při dotazu.
(zpětně z IP adresy nameserveru lze zjistit reverzní záznam pomocí "dig -x <ip-adresa>", což by měl být u DNS serveru vždy jeho hostname)

Záleží také na resolverech a jiných DNS na cestě, které cachují a zejména DNS a jejich stav obnovují na základě TTL.
Pomůcka, která by se mohla hodit, pokud potřebuješ také ověřit správnost domény v DNS je tento web http://dnscheck.iis.se ideální.

Takže pokud některá stanice se zdá, že nebere nameservery v pořadí, bude spíš problém v již existující cache.
42

Re:Výběr DNS serveru
« Odpověď #7 kdy: 19. 02. 2014, 15:31:35 »
Obecné chování stub resolveru je, že používá všechny přidělené nameservery a při případném výpadku některého ze serverů eliminuje důsledky takového výpadku. Realita je různá v různých stub resolverech. Windows neznám, ale linuxový resolver v glibc je poměrně hloupoučký, zkouší servery v zapsaném pořadí (není-li použita volba option rotate) a při výpadku prvního dochází k velkému zdržení, že se systém začne stávat nepoužitelný.

V případě selhané DNSSEC validace server vrací SERVFAIL, což je obecná chyba selhání serveru a v takovém případě je očekávatelné chování klienta přechod na jiný nameserver. Proto zapnutí DNSSEC validace nemá velký smysl, dokud není aktivováno na všech rekurzivních DNS serverech.