Dnsmasq cache dns bao lâu?


9

Tôi đã tra cứu trang người đàn ông và không thể tìm thấy dnsmasq cache bao lâu một dns. các quy tắc cho bộ nhớ đệm và hết hạn là gì?

Tôi gặp sự cố yêu cầu gửi đến dịch vụ bên ngoài đôi khi mất hơn 5 hoặc 10 giây cho namelookup. Tôi có thể lưu ip dịch vụ bên ngoài vào / etc / hosts nhưng tôi sợ thay đổi ip. Cài đặt Dnsmasq cải thiện tra cứu tên nhưng namelookup chậm vẫn xảy ra với tần suất ít hơn.

Một giải pháp là thiết lập một ping đơn giản trong công việc định kỳ nhưng trước tiên tôi cần tìm ra thời gian hết hạn.

cảm ơn.

CẬP NHẬT

thêm đầu ra đào

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

CẬP NHẬT 2

đầu ra đào trước đó chứa TTL là 0 gây hiểu nhầm. Tôi đã đăng một sản phẩm đào khác.

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

Câu trả lời:


9

DNSmasq sử dụng giá trị DNS DNS để xác định thời gian lưu trữ. Bạn có thể sử dụng diglệnh để truy vấn TTL hiện tại của máy chủ DNS cho miền đó.


Bạn có nghĩa là dnsmasq chỉ bộ nhớ cache dns trong khoảng thời gian TTL? Tôi cập nhật câu hỏi của tôi với đầu ra đào.
perlwle

1
Có, chỉ có thời gian TTL được sử dụng để lưu trữ. Và TTL của bạn là 0, vì vậy DNSmasq sẽ luôn thực hiện truy vấn đến máy chủ DNS có thẩm quyền.
Tero Kilkanen

Tuy nhiên, như đã nêu trong hướng dẫn sử dụng, bạn có thể sử dụng --max-cache-ttl để buộc TTL thấp hơn cho các giá trị được lưu trong bộ nhớ cache (chưa tự mình kiểm tra).
sam_pan_mariusz

@TeroKilkanen Query time: 0mseccó nghĩa là một bộ nhớ cache nhấn vào dnsmasq. nhưng dnsmasq sẽ giữ bản ghi dns trong bộ nhớ cache trong bao lâu?
perlwle

@sam_pan_mariusz Tôi nghĩ bạn có nghĩa là --max_ttlcờ? Tôi thà luôn luôn nhận đúng IP hơn là bỏ lỡ thay đổi IP dịch vụ bên ngoài.
perlwle

4

Tùy chọn bạn sẽ cần đặt cho dnsmasq là --min-cache-ttl, giá trị tính bằng giây.

Theo đầu ra của đào, TTL là 0, nếu bạn đặt --min-cache-ttl=600giá trị này thành, thì giá trị TTL sẽ được trả về bởi đào sẽ là 600. Giá trị TTL api.mch.weixin.qq.comtừ nơi tôi là 600, do đó, tự đặt nó thành 600 giây nên an toàn hợp lý để tránh bỏ lỡ bất kỳ thay đổi IP. (Tôi đoán bạn đang ở Trung Quốc.)

Điều này sẽ khiến tất cả các bản ghi DNS được coi là hợp lệ trong 10 phút.

Xem tin nhắn danh sách gửi thư dnsmasq chi tiết giới thiệu tính năng này.


Tôi sẽ ping mỗi 10 phút hoặc lâu hơn và hy vọng điều đó sẽ khắc phục độ trễ tra cứu dns. Như đã đề cập trong bình luận trước, tôi đang sử dụng một phiên bản cũ hơn không có cài đặt đó. Sửa lỗi cho tôi nếu tôi sai .. Tuy nhiên, nếu có, cài đặt thành 600 sẽ giống như dịch vụ bên ngoài TTL. Điều đó sẽ không làm cho bất kỳ sự khác biệt, phải không?
perlwle 20/07/2015

1
@perlwle Không, tôi sẽ không nghĩ rằng bạn luôn nhận được chỉ số 0 bằng 0, tăng lên 1200 sẽ giúp ích. Tôi sẽ đề nghị xem xét vào DNSCrypt . Nếu không có thêm thông tin về việc tìm kiếm mất bao lâu, tốc độ kết nối của bạn và ảnh hưởng của bên thứ 3, tôi không thể đưa ra câu trả lời rõ ràng hơn. Nếu bạn cần một bộ đệm / bộ giải quyết DNS mạnh hơn, tôi sẽ đề xuất phần cơ bản của hướng dẫn này về Unbound, nó hoạt động hoàn toàn trên Ubuntu 12.04 từ các kho lưu trữ tiêu chuẩn. (Lưu ý rằng Google DNS đúng cách xử lý DNSSEC bây giờ.)
Phizes

1
Cũng lưu ý dnsmasq 'local-ttl' cho các mục nhập tệp máy chủ
KCD
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.