Przejrzałem stronę podręcznika i nie mogłem znaleźć, jak długo dnsmasq buforuje dns. jaka jest zasada buforowania i wygasania?
Mam problem polegający na tym, że żądanie wysłania do usługi zewnętrznej czasami zajmuje więcej niż 5 lub 10 sekund na wykonanie namelookup. Mogę zapisać ip usługi zewnętrznej na / etc / hosts, ale obawiam się zmiany ip. Zainstalowanie Dnsmasq usprawnia wyszukiwanie nazw, ale powolne wyszukiwanie nazw wciąż odbywa się z mniejszą częstotliwością.
Jednym z rozwiązań jest ustawienie prostego polecenia ping w zadaniu cron, ale najpierw muszę znaleźć czas wygaśnięcia.
dzięki.
AKTUALIZACJA
dodano wyjście kopania
; <<>> 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
AKTUALIZACJA 2
poprzedni wynik wyjściowy zawiera TTL jako 0, co wprowadza w błąd. Opublikowałem kolejny wynik kopania.
; <<>> 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
Query time: 0msec
oznacza trafienie w pamięć podręczną do dnsmasq. ale jak długo dnsmasq będzie przechowywać rekord dns w pamięci podręcznej?--max_ttl
flagę? Wolę zawsze uzyskać właściwy adres IP, niż przegapić zmianę adresu IP usługi zewnętrznej.Opcją, którą musisz ustawić dla dnsmasq, jest
--min-cache-ttl
wartość w sekundach.Zgodnie z danymi wyjściowymi, TTL wynosi 0, jeśli ustawisz, powiedzmy
--min-cache-ttl=600
, wtedy wartość TTL, która zostanie zwrócona przez dig, wyniesie 600. TTL dlaapi.mch.weixin.qq.com
skąd jestem to 600, więc ustaw go na 600 sekund sam powinien być wystarczająco bezpieczny, aby uniknąć utraty jakichkolwiek zmian adresu IP. (Zgaduję, że znajdujesz się w Chinach.)Spowoduje to, że wszystkie rekordy DNS będą uważane za ważne przez 10 minut.
Zobacz komunikat listy adresowej dnsmasq szczegółowo opisujący wprowadzenie tej funkcji.
źródło