TTL trên bản ghi CNAME có nghĩa là gì?


22

Do có bao nhiêu máy chủ tham gia vào mạng của tôi, tôi có một thời gian khó khăn để giữ tất cả chúng được tổ chức. Một số trong số chúng không có IP tĩnh, vì vậy tôi nghĩ rằng nó có thể tốt nếu tôi tạo một tên miền config.mydomain.com. Trên miền này, tôi có thể lưu trữ các bản ghi A và IP cho mỗi máy chủ. Đây là cách tôi thiết lập nó:

s1.config.mydomain.com.     A   10.0.0.1    #ttl 60
s2.config.mydomain.com.     A   10.0.0.2    #ttl 60
s3.config.mydomain.com.     A   10.0.0.3    #ttl 60
# etc

Mỗi bản ghi đó có chỉ số TTL là 60, trong trường hợp tôi cần thay đổi IP nhanh chóng, nhưng tôi không nhất thiết muốn khách hàng kết nối cứ sau 60 giây để cập nhật. Bây giờ hãy nói rằng tôi thiết lập tên miền của mình để sử dụng chúng, như thế này:

mydomain.com.           CNAME   s2.config.mydomain.com.   #ttl 3600
mail.mydomain.com.      CNAME   s2.config.mydomain.com.   #ttl 10800
svn.mydomain.com.       CNAME   ns1.config.mydomain.com.  #ttl 21600

Các TTL cho CNnam cao hơn, vì vậy hãy nói rằng tôi truy cập mydomain.com. Nó yêu cầu máy chủ DNS của tôi cho IP của mydomain.comvà máy chủ của tôi trả về CNAME s2.config.mydomain.com.Sau đó, nó yêu cầu máy chủ của tôi lấy IP s2.config.mydomain.comvà máy chủ của tôi trả về 10.0.0.1.

Nó sẽ lưu CNAME s2.config.mydomain.combản ghi trong 3600 giây và A 10.0.0.1bản ghi trong 60 giây? Có nghĩa là cứ sau 60 giây nó vẫn sẽ hỏi máy chủ của tôi địa chỉ IP?

Hoặc nó sẽ lưu bộ đệm xem CNAME s2.config.mydomain.com, lấy A 10.0.0.1và lưu cả hai trong 3600 giây.

Nếu đó là lần đầu tiên, có lẽ tôi sẽ phải tìm cách khác để quản lý chúng, vì vậy tôi hy vọng đó là cách thứ hai, nhưng tôi không chắc chắn. Bạn có biết một cách tốt hơn để theo dõi chúng?


Bạn có thể xác định rõ hơn ý của bạn là ' sẽ lưu cache' không? Thật không may, có nhiều cách triển khai khác nhau, tôi sẽ không ngạc nhiên nếu bạn thấy rằng cả hai hành vi đều đúng.
Zoredache

@zoredache Tôi nghĩ những gì @Ryan muốn biết là: dns trình phân giải thường lưu bộ đệm CNAME hoặc kết quả của việc tra cứu CNAME đã giải quyết?
coredump

@coredump, đúng là ý tôi.
Ryan Pendleton

Câu trả lời:


10

Theo thông báo này trong danh sách gửi thư của ISC , CNAME và bản ghi mà nó trỏ đến được lưu trong bộ nhớ cache bằng cách giải quyết các máy chủ tên ( giải quyết các máy chủ tên ), điều này được thực hiện để cho phép các trình phân giải có thể tối ưu hóa quá trình giải quyết / lưu trữ ở phía máy khách.

Vì vậy, nếu CNAME TTL hợp lệ nhưng A mà nó trỏ đến không hợp lệ, nó sẽ chỉ lặp lại việc tìm kiếm bản ghi nhọn, không phải là CNAME gốc (cho đến khi CNAME TTL cũng tăng).


Vì vậy, nếu tôi hiểu đúng, bản ghi CNAME sẽ được yêu cầu sau khi hết hạn, và bản ghi A mà nó chỉ ra cũng sẽ được yêu cầu, nhưng sau khi bản thân nó hết hạn?
Ryan Pendleton

1
Vâng. Điều đó có nghĩa là, TTL hoạt động cho các bản ghi CNAME giống như các bản ghi khác.
coredump

3

Tất cả các bản ghi CNAME của bạn sẽ được lưu trong bộ nhớ cache tối đa là 3600, 10800 và 21600 giây.

Các hồ sơ A được xử lý độc lập và sẽ được truy vấn lại sau mỗi 60 giây.

Tuy nhiên, trong trường hợp CNAME hết hạn, bản ghi A phải được cập nhật cùng lúc.

Các bản ghi CNAME có nhiều vấn đề khác nhau được giải thích trong RFC 1912. mydomain.com. không thể là CNAME, vì bạn đã sử dụng các bản ghi SOA và NS: đó là một nhóm com. miền.

Câu hỏi của bạn đã cũ. Ngày nay, một số nhà cung cấp DNS không theo dõi RFC bằng cách cho phép người dùng đặt CNAME trong SOA (họ gọi đó là miền APEX). Một lần nữa, sử dụng ở rủi ro của riêng bạn.

Cuối cùng nhưng không kém phần quan trọng, việc đặt các giá trị TTL cao hơn cho bạn CNAME có thể giúp ích khi khách hàng của bạn yêu cầu bản ghi IPv6: AAAA. Ít nhất ánh xạ CNAME sẽ ở trong bộ đệm và chỉ địa chỉ IP sẽ được hỏi hai lần.

Nói tóm lại: đặt TTL cao hơn trên CNAME sẽ làm giảm kích thước của các phản hồi mà khách hàng của bạn nhìn thấy. Nó cũng sẽ giúp các máy chủ giải quyết. Tuy nhiên, số lượng yêu cầu mỗi giây sẽ gần như nhau.

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.