Portál AbcLinuxu, 14. května 2025 01:05
Zdravim chtel bych si overit ze DNS ktere jsem si naistaloval(ve VMware) kesuje. Zkousim to prostrednictvim programu DIG(primo na tom stroji) napr DIG seznam.cz je 45ms. Tady na foru uz se neco podobneho resilo a overenim bylo to ze kdyz se prikaz DIG zadal podruhe tak odezva byla 1ms coz byl jasny signal ze zobrazene info bylo z cache. Jenze u me se porad objevuji hodnoty mezi 23-45 ms o cemz si myslim ze z cache rozhodne neni...podle me by tam mela byt ta 1ms. Nevite nekdo jak tu cache aktivovat popripade zda jde konfigurovat jeji velikost(pouzivam BIND)?
Na CentOSu stačí nainstalovat: bind
, caching-nameserver
(yum install
), smazat soubor /etc/resolv.conf
a nastartovat named (service named start
). A je to.
dig linuxexpres.cz ;; Query time: 4130 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Jul 22 11:04:31 2009 ;; MSG SIZE rcvd: 165
;; Query time: 1 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Jul 22 11:04:34 2009 ;; MSG SIZE rcvd: 165
Jak máš nastavený resolv.conf? Mohl by být prázdný, případně tam nastav jen nameserver 127.0.0.1
.
Presne tak ho mam nastaveny. Ale ty milisekundy mi nejak nesedi:(
Ja bych se asi (kdyz uz bych mel odpor k tcpdumpu) spokojil s tim, ze se mi zmensuji hodnoty TTL u odpovedi na po sobe jdouci dotazy. Pokud by muj DNS server vzdy znovu zjistoval odpoved dotazem na autoritativnim DNS serveru, tak by tam bylo porad stejne TTL od autoritativniho nameserveru (to maximalni pro dany zaznam).
$ dig seznam.cz ;; ANSWER SECTION: seznam.cz. 300 IN A 77.75.76.3 ;; Query time: 12 msec
a o cca 9s pozdeji:
$ dig seznam.cz ;; ANSWER SECTION: seznam.cz. 291 IN A 77.75.76.3 ;; Query time: 0 msec
Jedna se tedy o odpoved, ktera je z nejake cache, kde pomalicku expiruje. Neni z autoritativniho nameserveru, ktery by ji TTL nesnizoval.
Tomas
No ja nemam odpor k TCPDUMPu taky jsme to tim zkousel.... a podle vysledku by mi ta cache mela jet. Jen si neumim zobrazit jeji obsah:(
Obsah te cache? Tedy nefunguje rndc dumpdb
? Co to rekne?
Tomas
Zkus:
rndc dumpdb -all
To do souboru definovaného v konfiguraci namedu vypíše obsah cache. Viz default z CentOSu, konfigurační položka dump-file:
options { listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; // Those options should be used carefully because they disable port // randomization // query-source port 53; // query-source-v6 port 53; allow-query { localhost; }; };
Příklad z toho dumpu:
hypertgp.com. 86330 NS slave.casablanca.cz. 86330 NS divine.keep.cz. ; authanswer 86330 A 82.208.14.210
Vytvoril jsem v named.conf
dump-file "/var/named/data/cache_dump.db";
a pak jsem dal rndc dumpdb. Ten soubor cache_dump.db jsem vytvoril ale nc v nem neni po zadani prikazu rndc dumpdb. Samozrejme sem resetoval named.
Zkus se mrknout na to TTL záznamu, jak píše kolega výše. Pokud se zmenšuje, tak to dělá tvůj server - resp. server uvedený v v digu. Opravdu tam máš 127.0.0.1?
Resp můžeš to přímo zkusit s vynucením nameserveru:
dig @127.0.0.1 www.seznam.cz A
jasne ze server uvedeny v DIGu mam 127.0.0.1. Casy jsou prvni 53ms a pak to kolisa mezi 43 az 16ms. Jeste bych dodal ze cely Centos s tim DNS mi bezi ve VMware nevim zda by to na to mohlo mit vliv...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.