Báo cáo DNS của VPN: cần đưa vào những gì để có thể tái tạo
Một báo cáo DNS hữu ích nêu tên nhóm lỗi, đường đi của trình phân giải và phản hồi chính xác. Hãy che không gian tên và giữ lại các quan hệ giải thích nó.
«DNS hỏng rồi» là một kết luận, và đó không phải kết luận mà người trợ giúp có thể hành động dựa trên. Phần hữu ích của báo cáo là hình dạng của lỗi: tên nào, qua trình phân giải nào, với phản hồi nào. Ba chi tiết biến một lời phàn nàn thành thứ có thể tái tạo, và cả ba đều an toàn để chia sẻ sau khi các phần riêng tư được đổi tên. Dưới đây là mức tối thiểu mà một báo cáo DNS của VPN cần trước khi ai đó có thể giúp.
Một nhóm tên, không phải phán quyết
Bắt đầu từ chính cái tên và phân loại nó: công khai, nội bộ, ngắn, đủ điều kiện hoặc được phục vụ bởi một hậu tố cụ thể. Một tên nội bộ thất bại trong khi các tên công khai phân giải được cho thấy vấn đề chọn trình phân giải chứ không phải khả năng tiếp cận. Nếu mọi tên đều thất bại, điều đó cho thấy vấn đề đường đi đến trình phân giải, một cuộc điều tra khác với bằng chứng khác. Nhóm mang theo chẩn đoán, và chuỗi chính xác có thể được che đi.
Nói xem lỗi có cần đường hầm được bật hay xảy ra sau khi nó ngắt kết nối. Một tên chỉ hỏng khi VPN đang hoạt động cho thấy cấu hình theo từng liên kết, còn tên hỏng sau khi ngắt kết nối cho thấy trạng thái còn sót lại. Các báo cáo thường bỏ qua điều này rồi tự hỏi tại sao gợi ý đầu tiên không giúp được.
Ghi lại đường đi của trình phân giải
Một truy vấn gửi đến máy chủ được chọn rõ ràng và tìm kiếm thông thường của ứng dụng là hai thí nghiệm khác nhau. Nói rõ cái nào tạo ra lỗi, vì truy vấn thủ công đến một máy chủ đang hoạt động chỉ chứng minh rằng máy chủ đó hoạt động. Các lệnh dưới đây tách đường đi của hệ thống khỏi một câu hỏi trực tiếp.
resolvectl status --no-pager
getent hosts host.internal
dig +short host.internal @10.20.30.53
Đầu ra trạng thái nêu tên các máy chủ theo từng liên kết và các miền định tuyến, tức là nơi split DNS được quyết định. Lệnh gọi getent đi theo cùng đường đi mà ứng dụng đi, bao gồm cả thứ tự nsswitch. Truy vấn trực tiếp bỏ qua cả hai và kiểm tra một máy chủ riêng lẻ. Báo cáo cái nào trong ba cái đã thất bại và cái nào thành công, và người đọc không còn phải đoán đường đi nữa.
Nêu phép so sánh có kiểm soát
Thay đổi một biến và nói điều gì đã thay đổi. Tên công khai phân giải được trong khi tên nội bộ thất bại là vấn đề lựa chọn; mọi tên hết thời gian là vấn đề đường đi; và một tên riêng phân giải thành địa chỉ công khai là rò rỉ vào trình phân giải sai. Hai trong ba điều đó không liên quan gì đến việc đường hầm có được bật hay không. Một báo cáo khẳng định mọi truy vấn đều hỏng thường chứa một phép so sánh chưa bao giờ được chạy.
Tách phân giải khỏi phân phối. Khi tên phân giải được mà trang vẫn thất bại, giai đoạn DNS đã thành công và báo cáo nên nói như vậy, vì bước tiếp theo là một tuyến hoặc một trình nghe chứ không phải trình phân giải. Chính sự phân biệt đó thường tiết kiệm một vòng câu hỏi nhiều hơn bất kỳ đoạn nhật ký nào.
Che không gian tên, giữ lại các quan hệ
Các tên nội bộ có thể được thay thế, miễn là các thay thế giữ nguyên cấu trúc. Ánh xạ mỗi máy chủ và hậu tố riêng biệt với một nhãn ổn định, và giữ ánh xạ đó ngoài bản sao được chia sẻ. Thay thế mọi máy chủ nội bộ bằng cùng một ký tự giữ chỗ phá hủy đúng bằng chứng mà báo cáo cần, vì người đọc không còn thấy rằng một hậu tố phân giải được còn hậu tố kia thì không. Quy tắc tương tự áp dụng cho địa chỉ: giữ các quan hệ tiền tố và thay đổi các bit máy chủ nếu chính sách yêu cầu.
Gửi bản ghi qua kênh đã xác minh và bỏ ra ngoài những gì chẩn đoán không bao giờ cần. Mật khẩu, khóa riêng và tên công ty không liên quan không phải là một phần của câu hỏi DNS. Những gì người đọc cần là nhóm lỗi, đường đi của trình phân giải, lỗi chính xác và phép so sánh duy nhất mà bạn đã thực hiện.