Dnsmasq önbellek dns ne kadar sürer?


9

Adam sayfasına baktım ve ne kadar uzun bir dnsmasq önbelleğe sahip olduğunu bulamadım. önbellekleme ve sona erme kuralı nedir?

Harici bir servise gönderme isteğinin bazen namelookup için 5 veya 10 saniyeden fazla sürdüğü bir sorun yaşıyorum. Harici hizmet ip / etc / hosts kaydedebilir ama ip değişim korkuyorum. Dnsmasq'ın yüklenmesi ad aramayı geliştirir, ancak yavaş adlookup hala daha az sıklıkta gerçekleşir.

Bir çözüm, cron işinde basit bir ping oluşturmaktır, ancak önce son kullanma süresini bulmam gerekiyor.

Teşekkürler.

GÜNCELLEME

eklenen kazı çıkışı

; <<>> DiG 9.8.1-P1 <<>> api.mch.weixin.qq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45012
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;api.mch.weixin.qq.com.             IN      A

;; ANSWER SECTION:
api.mch.weixin.qq.com.      0       IN      A       140.207.69.102

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jul 17 19:24:36 2015
;; MSG SIZE  rcvd: 55

GÜNCELLEME 2

önceki kazı çıktısı, yanıltıcı olan 0 olarak TTL içerir. Başka bir kazı çıktısı gönderdim.

; <<>> DiG 9.8.1-P1 <<>> api.mch.weixin.qq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60900
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;api.mch.weixin.qq.com.             IN      A

;; ANSWER SECTION:
api.mch.weixin.qq.com.      181     IN      CNAME   forward.qq.com.
forward.qq.com.             181     IN      A       101.226.90.149
forward.qq.com.             181     IN      A       101.226.129.200

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Jul 21 12:01:54 2015
;; MSG SIZE  rcvd: 99

Yanıtlar:


9

DNSmasq, önbellek dönemini belirlemek için DNS TTL değerini kullanır. digKomutu, söz konusu etki alanı için DNS sunucunuzun geçerli TTL'sini sorgulamak için kullanabilirsiniz .


Dnsmasq'ın DTL süresi içinde yalnızca önbellekleri önbelleğe aldığı anlamına mı geliyor? Sorularımı kazı çıktısı ile güncelledim.
perlwle

1
Evet, önbellekleme için yalnızca TTL süresi kullanılır. Ve TTL'niz 0'dır, bu nedenle DNSmasq her zaman sorgulamayı DNS sunucusuna yapar.
Tero Kilkanen

Ancak, kılavuzda belirtildiği gibi, önbelleğe alınan değerler için daha düşük TTL'yi zorlamak için --max-cache-ttl kullanabilirsiniz (bunu kendim test etmedim ).
sam_pan_mariusz

@TeroKilkanen Query time: 0msec, dnsmasq'a isabet eden bir önbellek anlamına gelir. ama dnsmasq dns kaydını önbellekte ne kadar tutacak?
perlwle

@sam_pan_mariusz Sanırım --max_ttlbayrağı kastetmiştin ? Dış servis IP değişikliğini kaçırmak yerine her zaman doğru IP'yi almak istiyorum.
perlwle

4

Dnsmasq için ayarlamanız gereken seçenek --min-cache-ttl, değer saniye cinsindendir.

Kazı çıkışına göre, TTL 0'dır, eğer bunu diyelim ki --min-cache-ttl=600, o zaman kazı ile döndürülecek TTL değeri 600 olacaktır. Olduğum api.mch.weixin.qq.comyerden TTL 600, yani 600 saniyeye IP değişikliklerini kaçırmamak için makul derecede güvenli olmalıdır. (Sanırım Çin'de bulunuyorsunuz.)

Bu, tüm DNS kayıtlarının 10 dakika boyunca geçerli kabul edilmesine neden olur.

Bu özelliğin tanıtımını detaylandıran dnsmasq posta listesi mesajına bakın .


Her 10 dakikada bir ping yapacağım ve umarım bu dns arama gecikmesini düzeltir. Önceki yorumda belirtildiği gibi, bu ayara sahip olmayan eski bir sürümünü kullanıyorum. Yanılıyorsam beni düzeltin .. Ancak, varsa, 600 olarak ayarlamak harici TTL hizmeti ile aynı olacaktır. Bu hiçbir fark yaratmayacak, değil mi?
perlwle

1
@perlwle Hayır, olmaz, her zaman sıfır TTL aldığınızı varsaymıştım, 1200'e yükseltmek yardımcı olacaktır. İçine bakarak öneririz DNSCrypt . Aramaların ne kadar sürdüğü, bağlantı hızınız ve 3. tarafların etkileri hakkında daha fazla bilgi olmadan, daha net bir cevap veremem. Daha güçlü bir DNS önbelleğine / çözümleyicisine ihtiyacınız varsa, bu öğreticinin Unbound ile ilgili temel bölümünü tavsiye ederim, Ubuntu 12.04 üzerinde standart depolardan mükemmel bir şekilde çalışır. (Google DNS'nin
DNSSEC'yi

1
Ayrıca, bu ana bilgisayar dosya girişleri için dnsmasq 'local-ttl' not edin
KCD
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.