Bạn tìm vùng của công ty trong cấu hình dnsmasq của máy khách, không thấy nó, và kết luận rằng VPN đã không đẩy miền của nó xuống. Thứ được đẩy xuống là một gợi ý định tuyến, không phải vùng. Máy khách ghi lại miền và resolver phải trả lời cho nó, và backend được quản lý biến điều đó thành chuyển tiếp có điều kiện. Tìm sai chỗ tạo ra một chẩn đoán tự tin và hoàn toàn sai.

Điều máy khách chấp nhận không phải điều gateway đề nghị

Gateway có thể đề nghị một resolver, một miền và tuyến cần thiết để đến resolver đó, và máy khách có thể chấp nhận cả ba hoặc không cái nào. Một hồ sơ được nhập, một script phụ trợ hoặc một chính sách bỏ qua các tùy chọn được đẩy xuống có thể để tập hợp được chấp nhận trống trong khi phía máy chủ trông có vẻ đúng. Hãy bắt đầu từ trạng thái được ghi lại của máy khách thay vì cấu hình của máy chủ, vì trạng thái đó là thứ resolver thực sự nhận được. Nếu miền được chấp nhận bị thiếu, mọi thứ xa hơn sẽ không còn quan trọng. Kiểm tra các thuộc tính DNS của kết nối trước khi xem xét bất kỳ bộ nhớ đệm nào.

Sự khác biệt đó giải thích hầu hết các báo cáo về một miền không bao giờ đến. Nó đã được đề nghị, và nó đã không được áp dụng.

Hai loại mục miền

Một kết nối có thể mang các miền tìm kiếm thông thường và các miền chỉ định tuyến, và loại thứ hai bắt đầu bằng dấu ngã. Miền tìm kiếm vừa định tuyến các truy vấn vừa cho phép tên ngắn được mở rộng, điều này thuận tiện trên máy trạm và đáng ngạc nhiên trên máy chủ. Miền chỉ định tuyến nói rằng các truy vấn cho hậu tố đó phải đến các máy chủ cụ thể mà không thay đổi cách tên ngắn được phân giải. Viết cùng một miền theo cả hai cách không phải là thừa, vì hai mục làm những việc khác nhau.

Đối với không gian tên riêng, dạng chỉ định tuyến thường là dạng bạn muốn. Nó giữ hậu tố của công ty trỏ đến resolver của công ty và để mọi thứ khác yên.

localhost trong resolv.conf không phải là lỗi

Khi dùng resolver bộ nhớ đệm cục bộ, tệp hệ thống trỏ đến địa chỉ loopback và không gì khác. Mục đó xác định trình lắng nghe cục bộ, không phải các máy chủ thượng nguồn mà trình quản lý đã trao cho nó. Địa chỉ của công ty sẽ vắng mặt một cách hợp lệ trong tệp.

Thay mục đó bằng một resolver công cộng là cách sửa sai kinh điển. Nó khôi phục phân giải tên công cộng và loại bỏ chính sách có điều kiện trong cùng một chỉnh sửa.

Đừng nhầm lẫn các backend

Một phiên bản dnsmasq được quản lý và một resolver hệ thống là các chương trình khác nhau với cấu hình khác nhau và chế độ xem trạng thái khác nhau. Lệnh trạng thái cho cái này không cho biết gì hữu ích về cái kia.

Xác định backend nào trình quản lý được cấu hình để dùng, rồi đọc cấu hình được tạo của backend đó thay vì một tệp toàn phân phối tình cờ tồn tại. Trình quản lý ghi cấu hình phiên bản của riêng nó và hỗ trợ các tùy chọn tùy chỉnh cho phiên bản đó, nên việc sửa một tệp toàn cục không liên quan chẳng thay đổi gì và trông giống một thay đổi không có tác dụng. Khởi chạy một daemon thứ hai trên cổng 53 còn tệ hơn vô dụng, vì giờ hai chương trình không đồng ý về việc ai sở hữu cổng. Hãy xác lập chủ sở hữu trước, rồi sửa nơi chủ sở hữu đó đọc.

Kiểm tra không gian tên, không chỉ câu trả lời

Truy vấn một tên riêng được phép và một tên kiểm soát công cộng qua đường dẫn bình thường của ứng dụng. Một truy vấn trực tiếp đến máy chủ của công ty chứng minh bản ghi tồn tại; nó không chứng minh máy khách đã chọn máy chủ đó. Truy vấn thứ hai là truy vấn kiểm tra chính sách.

Sau đó lặp lại sau khi kết nối lại và sau khi ngắt kết nối. Liên kết phải theo vòng đời của kết nối, và các tên riêng phải ngừng phân giải khi đường hầm không còn, thay vì quay lại resolver công cộng trả lời cho cùng hậu tố. Nếu chúng quay lại, bạn đã tìm thấy một rò rỉ, đó là một khiếm khuyết khác với một tra cứu bị hỏng. Ghi lại backend nào đã chạy, miền nào đã được áp dụng và mỗi truy vấn trả về gì.

Bài viết liên quan