Portál AbcLinuxu, 10. května 2025 05:32
example.com
. Když pak bude nějaký počítač chtít vědět, jakou IP adresu má host.example.com
, nebo kam má posílat poštu pro example.com
, zeptá se práve tohoto serveru (ať už master nebo slave, primární nebo sekundární).
Úplně jiný případ je, když "něco upravím např. na www.domeny.cz, šíří se to internetem"… V tomhle případě jde o to, jak překládá DNS jméno počítače na IP adresu libovolný počítač. Jsou dvě možnosti – 1. počítač má nastaven nějaký jiný "DNS server", který to udělá za něj; nebo za 2. počítač je dost chytrý na to, aby si to zjistil sám. Počítač z případu 1) se ptá případu 2), takže se omezím jen na něj.
V tomto případě má počítač seznam tzv. kořenových nameserverů, které mají seznam všech počítačů, které spravují domény první úrovně. Takže onen "chytrý" počítač se zeptá nějakého kořenového serveru "který server spravuje doménu .com
?" A dostane se mu odpovědi "má to nastarost počítač X". Náš "chytrý" počítač se zeptá počítače X "kdo spravuje doménu example.com
?" Dostane se mu odpovědi – počítač Y. Konečně se zeptá počítače Y "jakou adresu má počítač host.example.com?" "Chytrý" počítač dostane odpověď "je to 10.0.0.1" a je spokojen, případně to řekne dál hloupému počítači (č. 1). Ve skutečnosti je to trochu složitější, ale to až jindy.
Případ počítače 1 je to, co se nastavuje jako DNS server v parametrech TCP/IP ve Windows. Nebo je to to, co se píše za nameserver
do souboru /etc/resolv.conf
. Onen "chytrý" počítač je naopak právě ona "DNS cache", což může být také bind
. Cache pro to, že se neptá pokaždé znova, ale určitou dobu si odpovědi pamatuje.
Takže odpověď na vaši otázku: při změně se záznamy nikam dál nešíří (jenom to tak vypadá), ale když se na tento záznam někdo zeptá, zpravidla se to někde po cestě uloží do nějaké cache.
Nechci vyvolávat žádný flamewar, ale pokud chcete pochopit, jak funguje DNS, doporučuji alternativu bind
u – djbdns
. To je balík, který obsahuje DNS server i DNS cache, ale je jednoduchý a má čistý návrh (jak je u DJB zvykem). Je tam i spousta dobrých popisů všeho možného okolo DNS.
rndc dumpdb -cache
dumpne cache do souboru (na debianu /var/cache/bind/named_dump.db)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.