dnsmasq는 얼마나 오래 dns를 캐시합니까? 초 또는 10 초가 걸리는 문제가

맨 페이지를 검색하여 dnsmasq가 dns를 캐시하는 시간을 찾을 수 없었습니다. 캐싱 및 만료 규칙은 무엇입니까?

이름 조회에 요청이 외부 서비스로 전송되는 데 때때로 5 초 또는 10 초가 걸리는 문제가 있습니다. 외부 서비스 ip를 / etc / hosts에 저장할 수 있지만 ip 변경이 두렵습니다. Dnsmasq를 설치하면 이름 조회가 향상되지만 느린 이름 조회는 여전히 빈도가 적습니다.

한 가지 해결책은 cron 작업에서 간단한 핑을 설정하는 것이지만 먼저 만료 시간을 찾아야합니다.

감사.

최신 정보

발굴 출력 추가

; <<>> 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

업데이트 2

이전 발굴 출력에는 TTL이 0으로 포함되어 오해의 소지가 있습니다. 다른 발굴 결과를 게시했습니다.

; <<>> 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


답변

DNSmasq는 캐싱 기간을 결정하기 위해 DNS TTL 값을 사용합니다. 이 dig명령을 사용하여 해당 도메인에 대한 DNS 서버의 현재 TTL을 쿼리 할 수 있습니다 .


답변

dnsmasq에 대해 설정해야하는 옵션 --min-cache-ttl은 초입니다.

발굴 출력에 따르면 TTL은 0입니다. 예를 들어으로 설정하면 --min-cache-ttl=600dig에 의해 반환되는 TTL 값은 600이됩니다. 내 위치의 TTL api.mch.weixin.qq.com은 600이므로 직접 600 초로 설정하십시오. IP 변경 사항이 누락되지 않도록 합리적으로 안전해야합니다. (중국에 있다고 생각합니다.)

이렇게하면 모든 DNS 레코드가 10 분 동안 유효한 것으로 간주됩니다.

이 기능의 소개를 자세히 설명 하는 dnsmasq 메일 링리스트 메시지를 참조하십시오 .