Điều gì kích hoạt việc sử dụng thời gian âm để giá trị bản ghi DNS SOA sống?


8

Tôi đang đọc qua hướng dẫn dns sau đây và nó có ví dụ này trong đó:

domain.com.  IN SOA ns1.domain.com. admin.domain.com. (
                                        12083   ; serial number
                                        3h      ; refresh interval
                                        30m     ; retry interval
                                        3w      ; expiry period
                                        1h      ; negative TTL
)

Mô tả cho negative TTLgiá trị nói lên điều này:

1h: Đây là khoảng thời gian mà máy chủ tên sẽ lưu lại lỗi tên nếu nó không thể tìm thấy tên được yêu cầu trong tệp này.

Các điều kiện có thể kích hoạt máy chủ để lưu lỗi một tên như thế này là gì? Một ví dụ sẽ thực sự hữu ích.

Câu trả lời:


11

Khoảng thời gian lưu trữ âm trong bản SOAphát hành khi một máy chủ có thẩm quyền chỉ ra rằng bản ghi được yêu cầu không tồn tại. Các trường hợp cụ thể là:

  • Trả lời với một mã phản hồi của NXDOMAIN.
  • Trả lời bằng NODATAtrạng thái tổng hợp, nhưng chỉ hình thành ở nơi có SOAbản ghi. ( NOERRORmã, 0 câu trả lời, 1 SOAbản ghi trong phần thẩm quyền + NShồ sơ tùy chọn )

Phần mềm máy chủ phổ biến để thực thi tối đa được cấu hình cục bộ trên giá trị này, vì vậy ngay cả khi bạn có TTL âm của 86400sự không tồn tại thì cũng không nhất thiết phải được lưu trữ trong thời gian dài bởi các máy chủ đệ quy từ xa.

Các trường hợp được đề cập trong phần RFC 2308 nếu bạn muốn đọc thêm. Đọc phần 2 dưới dạng mồi, sau đó 5-6.


IIUC nếu tôi yêu cầu "not.av Available.example.com" từ máy chủ có thẩm quyền thì nó có được lưu trong bộ nhớ cache cho thời gian âm không?
Ole

Chính xác. Các máy chủ đệ quy đầy đủ sẽ lưu trữ bộ đệm không tồn tại một cách đáng tin cậy, nhưng hành vi của các trình phân giải sơ khai (như các thư viện trình phân giải hệ điều hành) sẽ khác nhau. Windows không, ví dụ. Bạn sẽ tìm thấy "Tên không tồn tại." trong đầu ra của ipconfig /displaydns, mà đại diện NXDOMAIN. Bạn cũng sẽ tìm thấy các trường hợp "Không có bản ghi loại X" trong đầu ra đó, tương ứng với NODATA. Hầu hết các hệ thống dựa trên UNIX thì không , bởi vì chúng hoàn toàn không có bộ đệm mà không có cấu hình bổ sung. ( nscdđã bật bộ đệm, máy chủ đệ quy cục bộ và sử dụng 127.0.0.1 để tra cứu DNS, v.v.)
Andrew B

Vì vậy, nếu tôi đang tưởng tượng mục đích một cách chính xác, liệu nó có thể kiểm tra kỹ xem "not.av Available.example.com" có thực sự không có sẵn theo máy chủ đệ quy đầy đủ không? Nói cách khác, nếu tôi không nhận được địa chỉ IP, tôi có thể truy vấn máy chủ ở điểm cuối như / displaydns và kết quả sẽ chứa xác nhận rằng địa chỉ đó thực sự không tồn tại?
Ole

ipconfig /displaydnstồn tại để cho bạn biết nội dung của bộ đệm trình phân giải cục bộ. Không nhiều không ít. Quản trị viên có thể muốn làm gì với thông tin đó đã kết thúc mở.
Andrew B

@Ole Mục đích là để ngăn chặn các truy vấn lặp lại cho tên, khi máy chủ đã thông báo cho trình giải quyết rằng nó không tồn tại. Cũng giống như bất kỳ bộ nhớ đệm khác.
Barmar
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.