Bản ghi SOA là gì? Đọc các trường trong ngữ cảnh
Đọc máy chủ, liên hệ, số serial và các trường thời gian của bản ghi SOA. Tìm hiểu TTL bộ nhớ đệm âm qua ví dụ mà không nhầm siêu dữ liệu vùng với bản ghi địa chỉ.
Tác giảYiyao
SOA mô tả một vùng DNS
SOA là viết tắt của Start of Authority. Bản ghi SOA chứa thông tin quản trị và thông tin thời gian của một vùng DNS. Nó không phải là địa chỉ A hoặc AAAA mà trình duyệt dùng để truy cập website, và serial của nó không phải phiên bản ứng dụng.
Bạn có thể gặp thông tin SOA khi kiểm tra một vùng hoặc điều tra câu trả lời DNS âm. Hãy đọc các trường cùng với truy vấn và trạng thái phản hồi. Việc một bản ghi xuất hiện trong kết quả không tự động có nghĩa bản ghi website được yêu cầu đã được tìm thấy.
Truy vấn bản ghi một cách rõ ràng
nslookup -type=SOA example.com
Lệnh này truy vấn một vùng công khai dùng cho minh họa. Giá trị thực tế có thể thay đổi. Hãy xác định tên vùng, trường máy chủ chính, biểu diễn hộp thư phụ trách, serial và các giá trị thời gian trong kết quả.
Khi so sánh các máy chủ có thẩm quyền, hãy giữ nguyên vùng và loại truy vấn. Ghi lại máy chủ đã trả lời. Câu trả lời đệ quy có thể được lấy từ bộ nhớ đệm, vì vậy không nên xem nó và câu trả lời có thẩm quyền mới là dữ liệu của cùng một thời điểm.
Đọc vai trò của từng trường
| Trường | Vai trò | Sai lầm thường gặp |
|---|---|---|
| MNAME | Máy chủ nguồn chính hoặc ban đầu được xác định cho vùng | Xem nó như máy chủ website |
| RNAME | Hộp thư phụ trách được mã hóa thành tên DNS | Đọc nó như một URL website thông thường |
| SERIAL | Giá trị phiên bản vùng dùng cho logic đồng bộ DNS | Cho rằng mọi nhà vận hành dùng ngày lịch |
| REFRESH / RETRY | Thời gian làm mới và thử lại của máy chủ phụ | Áp dụng nó cho việc làm mới trình duyệt |
| EXPIRE | Giới hạn liên quan đến bản sao phụ chưa được làm mới | Xem nó như thời hạn đăng ký miền |
| MINIMUM | Giá trị dùng trong bộ nhớ đệm câu trả lời âm | Cho rằng nó ghi đè mọi TTL của bản ghi dương |
Các giá trị thời gian được biểu thị bằng giây. Một số bảng điều khiển hiển thị chúng dưới dạng giờ hoặc ngày. Khi so sánh kết quả từ các công cụ khác nhau, hãy giữ giá trị thô để việc quy đổi hiển thị không bị hiểu nhầm là thay đổi cấu hình.
Tìm hiểu bộ nhớ đệm âm
RFC 2308 xác định TTL của câu trả lời âm bằng giá trị nhỏ hơn giữa TTL của bản ghi SOA và trường MINIMUM. Điều này liên quan khi trình phân giải lưu vào bộ nhớ đệm câu trả lời lỗi tên hoặc không có dữ liệu. Một cập nhật DNS sau đó không tự động xóa câu trả lời đã được lưu ở nơi khác.
Với SOA minh họa có TTL là 900 giây và MINIMUM là 300 giây, TTL của câu trả lời âm là min(900, 300) = 300 giây. Tại thời điểm tạo, đó là năm phút. TTL còn lại giảm dần khi câu trả lời được lưu trong bộ nhớ đệm cũ đi; đây không phải cam kết mọi máy khách sẽ khôi phục đúng sau năm phút kể từ lúc bạn chỉnh sửa.

So sánh serial mà không tự tạo ra ngày tháng
Serial có thể trông giống YYYYMMDDnn, nhưng quy ước đó không bắt buộc. Hãy xem nó là giá trị phiên bản vùng của nhà vận hành. Quy tắc so sánh khi serial quay vòng đã được xác định, vì vậy phép so sánh lớn hơn đơn giản không phải là thuật toán đồng bộ DNS dùng được cho mọi trường hợp.
Nếu các máy chủ có thẩm quyền cho kết quả không nhất quán, hãy ghi lại danh tính máy chủ, serial trả về, thời gian truy vấn và bản ghi thực tế đang được hỏi. Hãy yêu cầu người vận hành DNS xác nhận việc đồng bộ dự kiến. Các serial khác nhau là manh mối điều tra, không phải lý do để tự ý viết lại vùng.
Kết nối siêu dữ liệu với lỗi ban đầu
Giả sử hostname mới đã tồn tại trên máy chủ có thẩm quyền nhưng trình phân giải đệ quy vẫn trả về câu trả lời âm. Hãy kiểm tra SOA và thời gian còn lại trong phản hồi âm cùng với tên được yêu cầu. Điều này giải thích vì sao các lần thử lại cục bộ vẫn có thể thấy cùng một trạng thái thiếu.
Nếu bản ghi có thẩm quyền thực sự bị thiếu, sửa các trường thời gian của SOA không thay thế cho việc tạo bản ghi cần thiết. Hãy dùng hướng dẫn bản ghi A để xử lý ánh xạ IPv4 và dùng hướng dẫn NXDOMAIN để điều tra lỗi tên. Hãy sửa đúng dữ liệu hoặc đường đi, không sửa trường chỉ vì nó đang hiển thị.
Câu hỏi thường gặp
SOA EXPIRE có phải là ngày hết hạn đăng ký miền không? Không. Hạn đăng ký là vấn đề riêng của nhà đăng ký tên miền.
Có nên tự hạ mọi giá trị SOA để thay đổi có hiệu lực ngay không? Không. Các giá trị này ảnh hưởng đến hoạt động DNS và nên tuân theo thiết kế vận hành của nhà cung cấp. Hãy giữ nguyên thiết lập gốc và trao đổi với người phụ trách DNS.
Kiểm tra một vùng công khai thực tế
Mở Arcvenza NSLookup, chọn SOA và ghi lại chế độ truy vấn cùng máy chủ trả lời. Dùng bảng trường để giải thích kết quả bằng lời của bạn. Ghi thời điểm của các giá trị thực tế và xem ví dụ số như một bài tập học tập.
Tài liệu tham khảo kỹ thuật
RFC 1035: Bản ghi DNS · RFC 2308: Bộ nhớ đệm âm · Microsoft: nslookup
