Câu hỏi Tại sao tôi không thể có hai bản ghi cùng tên với các TTL khác nhau?


Tôi vừa mới gia hạn chứng chỉ TLS, nhưng tôi chưa cài đặt chứng chỉ mới. Tôi nghĩ rằng tôi muốn thêm bản ghi TLSA mới, giảm TTL của các bản cũ, chờ một lúc, sau đó hoán đổi chứng chỉ ra và xóa các bản ghi cũ. BIND dường như không thích có nhiều bản ghi với cùng tên và các TTL khác nhau, mặc dù: nó đã viết TTL set to prior TTL để đăng nhập của nó và bây giờ phục vụ cả hai hồ sơ với TTL tôi đã đưa ra đầu tiên. Tôi đã viết ra một vùng thử nghiệm nhanh và chạy qua named-compilezone, với cùng kết quả:

$TTL 1w

$ORIGIN foo.example.

@                       SOA     bar     hostmaster      (
                                2016020600      1d      3h      1w      1d
                                )

@                       NS      a.ns.example.
@                       NS      b.ns.example.

bar             1w      A       203.0.113.5
bar             1d      A       198.51.100.143
/dev/stdin:11: TTL set to prior TTL (604800)
zone foo.example/IN: loaded serial 2016020600
foo.example.            604800 IN SOA   bar.foo.example. hostmaster.foo.example. 2016020600 86400 10800 604800 86400
foo.example.            604800 IN NS    a.ns.example.
foo.example.            604800 IN NS    b.ns.example.
bar.foo.example.        604800 IN A     198.51.100.143
bar.foo.example.        604800 IN A     203.0.113.5
OK

Tôi đã tìm kiếm RFC 1035 và hướng dẫn BIND, nhưng tôi không thể tìm thấy bất cứ điều gì nói rằng hồ sơ cho cùng một tên phải có cùng một TTL. Vì vậy, những gì cho?


0
2018-02-05 11:03


gốc




Các câu trả lời:


Trước hết tôi sẽ hỏi tại sao bạn muốn làm điều này, trường hợp sử dụng của bạn là gì? Có gần như chắc chắn là một cách tốt hơn ,,,

Điều này đã được thực thi trong một thời gian dài, đó là lý do tại sao bạn nhận được một thông điệp tường trình cho biết TTL nó chuẩn hóa cả hai bản ghi để có (604800 trong trường hợp này).

Lý do đơn giản cho việc này - và hoàn toàn có ý nghĩa nếu bạn nghĩ về nó - vì vậy cả hai bản ghi đều được xóa khỏi bộ nhớ cache cùng một lúc trên máy chủ DNS phân giải trên Internet ở đâu đó, và cả hai đều được truy xuất trong lần tiếp theo Một hồ sơ được hỏi về ở nơi xa xôi đó. Đây là điều khiển duy nhất bạn có với tư cách là chủ sở hữu tên miền trên bộ đệm DNS từ xa. Nếu nó không làm điều đó, thì bản ghi TTL ngắn hơn của bạn sẽ bị xóa trước hết, để lại TTL còn lại trong bộ đệm ẩn. Nếu điều này là cho một máy chủ web, sau đó bạn chỉ mất dự phòng ở nơi xa vì máy chủ DNS địa phương sẽ chỉ trả lại một bản ghi A cho phần còn lại của tuần. Điều này cuối cùng dẫn đến hành vi thất thường có thể khó khắc phục.


0
2018-02-07 09:17



Điều đó có ý nghĩa, vâng. Nó hoàn toàn không có giấy tờ, hay tôi chỉ bỏ lỡ một cái gì đó? - Blacklight Shining
Có những chủ đề cũ về điều này được lưu trữ trên danh sách gửi thư DNS-OPS. - milli
@BlacklightShining Các TTL khác nhau không được chấp nhận trong Phần RFC 2181 5.2 (tìm thấy trong câu trả lời này). - Martin