dnsmasq time-to-live override

Kedves Kollégák!

Van egy desktop gépem gentooval, amin dnsmasq fut lokális DNS cache megvalósítása végett. Problémám, hogy az upstream dns szerverek nagyon rövid TTL értékeket használnak, ezt szeretném valahogy felülbírálni. Szeretném, ha a lokális cache-em rekordjai akár napokig érvényben lennének.

Gugli kétféle találatot adott:

a.) Ahol megmagyarázzák, miért rossz dolog a TTL értékekkel babrálni. (Az adott gépen én ezt mégis szeretném megtenni, on my own risk, ha úgy tetszik.)

b.) Találtam egy patchet a dnsmasq-hoz. De inkább nem patchelgetnék, ha nem muszáj.

dnsmasq egyébként teljesen megfelelne arra, amire nekem kell, ha nem volna ez a fránya ttl. Csak van valami megoldás...

Hozzászólások

Milyen verziójú dnsmasq-ot használsz?
Mostanában kísérletezgettem a dnsmasq beállításaival CentOS 5.3 és Fedora 10 alatt.
A konzervatívabb CentOS 5.3 a dnsmasq-2.47-et használja, amelynek a
dnsmasq.conf-jában van olyan opció, hogy local-ttl:

# Normally responses which come form /etc/hosts and the DHCP lease
# file have Time-To-Live set as zero, which conventionally means
# do not cache further. If you are happy to trade lower load on the
# server for potentially stale date, you can set a time-to-live (in
# seconds) here.
local-ttl=300

Nekem az 5 perc elegendő.

Webappz - http://webappz.hu/ && http://sys-admin.hu/

2.45

Most épp kocsma után vagyok, de holnap megnézem a local-ttl opcióval mit csinál.

Szerk.:

Nos, frissítettem a 2.47-es verzióra. Akármennyire is állítom a local-ttl-t, nekem úgy tűnik, megtartja az eredeti TTL értéket (nem tudom tehát felülbírálni azt).
Régebben utánaolvastam fórumokon, azt hiszem, valaki készített egy positive-ttl patch-et, amivel ez megoldható. Engem egy kicsit meglepett, hogy ehhez patchelni kell.

Milyen lekérdezési értékeket kapsz?

A diggel tesztelted?

Nálam az első lekérdezés néha elég drasztikus értékeket mutatott, volt hogy több száz msec volt, de a következők már stabilan 10 msec alatti, úgy általában 0-4 és kisebb arányban 5-8 msec közötti értékkel tért vissza.

Akkor a dnsmasq.conf-ot kell jobban áttúrni, nincs véletlenül olyan opció, ami default és üti ezt a local-ttl opciót, csak egy tipp?

Webappz - http://webappz.hu/ && http://sys-admin.hu/

Mikor hogy. Valamire 3600 s, valamire több tízezer, valamire csak néhány száz.
Igen, a dig-gel tesztelem.

Az első lekérdezés nekem is 100ms nagyságrendjében van, az az utániak 0ms (amíg a cache-ben van).

Sajnos úgy néz ki, patchelni kell, ha meg akarok szabni egy minimális TTL-t a saját cache-emben. Akartam csinálni egy ebuild-et, amit kiegészítenék egy min-ttl use flag-gel, csak hogy a patch-et semmilyen hivatalos formában nem találtam meg (honlap, download url), pusztán egy fórumon be-pastelve. Nem tűnik bonyolultnak a működése.

Először én is azt hittem, de nem. Hiába állítom akármilyen nagyra, amikor a dig után ~10 perc múlva visszajövök és nyomok mégegy dig-et, ismét több száz ms a query time.
Szerintem a local-ttl nem erre van hatással. A man is azzal kezdi, hogy:

Normally responses which come form /etc/hosts

Szerintem a local-ttl a hosts fájlra vonatkozik.

A fórumok alapján is úgy tűnik, hogy a minimális ttl beállítására nincs lehetőség.
Itt pl. azt írják:

after reading the archives it seems like this probably won't be added to the
official package, but i imagine some people want this feature