Một dòng dnsmasq có thể trả lời một tên bằng NXDOMAIN, và đó là toàn bộ cơ chế. Nó không bao giờ đọc HTML, không bao giờ kiểm tra đường dẫn yêu cầu và không bao giờ thấy ứng dụng làm gì với một kết nối đã mở. Vì vậy so sánh nó với một tiện ích mở rộng trình duyệt là so sánh hai công việc khác nhau. Một bên quyết định tên có phân giải được hay không; bên kia quyết định điều gì xảy ra sau đó.

Bộ lọc tên thực sự kiểm soát điều gì

Tùy chọn address=/metrics.example/, không có gì sau dấu gạch chéo cuối cùng, khiến trình phân giải trả về NXDOMAIN cho tên đó và các tên miền con của nó. Để địa chỉ trống là phần quan trọng: nó tránh việc gửi máy khách đến một máy chủ thay thế không liên quan hoặc giả vờ rằng một địa chỉ loopback là đích thực. Hướng dẫn dnsmasq mô tả dạng đó là câu trả lời phủ định chứ không phải chuyển hướng.

Mọi thứ quy tắc có thể làm đều xuất phát từ quyết định duy nhất đó. Một máy khách hỏi trình phân giải này nhận câu trả lời phủ định; một máy khách hỏi trình phân giải khác nhận những gì trình đó nói. Bộ lọc không biết ứng dụng sẽ dùng đường dẫn, chuỗi truy vấn hay tài khoản nào.

Độ chi tiết đó quan trọng vì một tên máy chủ thường phục vụ nhiều mục đích. Các điểm đăng nhập, hình ảnh và theo dõi có thể chia sẻ một tên miền, và một quy tắc xóa toàn bộ tên có thể xóa cả một quy trình làm việc. Chính sách ở cấp tên phải chấp nhận sự đánh đổi đó hoặc chọn những tên hẹp hơn.

Trình chặn phía máy khách khác ở đâu

Tiện ích mở rộng trình duyệt thấy yêu cầu trước khi nó rời đi, nên có thể khớp đường dẫn URL, hủy một yêu cầu cụ thể và ẩn phần tử lẽ ra hiển thị kết quả. Nó có thể cho phép example.com/article trong khi từ chối example.com/ads/, điều mà không câu trả lời DNS nào diễn đạt được. Góc nhìn ở cấp đường dẫn đó là khả năng mà trình phân giải đơn giản là không có. Đó cũng là lý do một danh sách bộ lọc xây cho một công cụ hiếm khi hành xử giống hệt trong công cụ kia.

Giá phải trả là phạm vi. Sự bảo vệ đó sống trong một trình duyệt, trong một hồ sơ, trên một thiết bị, và biến mất khi người dùng chuyển sang ứng dụng khác. Một bộ lọc DNS cấu hình trên cổng kết nối bao phủ mọi thiết bị dùng trình phân giải của cổng, kể cả thiết bị không thể cài tiện ích nào.

Không cách sắp xếp nào tự nó hoàn chỉnh. Bộ lọc DNS không thể xóa một định danh mà trang đã gửi, và tiện ích mở rộng trình duyệt không thể bảo vệ một ứng dụng không bao giờ tải nó.

Đường đi của trình phân giải quyết định liệu có áp dụng được điều gì

Một VPN có thể quảng cáo một máy chủ DNS mà vẫn không nhận mọi truy vấn. Trình duyệt có DNS mã hóa được cấu hình, ứng dụng có trình phân giải riêng, hoặc thiết bị trên đường mạng loại trừ cổng kết nối, tất cả sẽ tìm ở nơi khác. Các nền tảng di động ngày càng cung cấp cài đặt DNS riêng tư lặng lẽ ghi đè điều mà đường hầm đề xuất.

Vì vậy hãy kiểm tra đường đi chứ không phải chính sách. Truy vấn trình phân giải dự định trực tiếp từ cổng kết nối, sau đó truy vấn từ một máy khách và so sánh, rồi quan sát xem một tên đáng lẽ bị chặn có thực sự thất bại trong ứng dụng người dùng chạy hay không.

Câu trả lời được lưu đệm và socket mở khiến việc này ồn ào. Một trang đã tải tài nguyên của nó sẽ tiếp tục hoạt động sau khi quy tắc thay đổi, nên một kết nối mới là phép thử tốt hơn việc tải lại tab cũ.

Kiểm tra cả hai chiều trước khi tuyên bố kết quả

Dùng một tên tài liệu bị chặn có chủ ý, một tên công khai được phép và một tên riêng mà dịch vụ cần:

$ dig +short metrics.example @10.40.0.53
$ dig +short example.com @10.40.0.53
$ dig +short intranet.corp.internal @10.40.0.53

Câu trả lời trống cho tên bị chặn, địa chỉ bình thường cho tên công khai và địa chỉ riêng cho tên nội bộ cùng cho thấy lọc, phân giải thượng nguồn và bản ghi cục bộ đều hoạt động. Nếu cả ba thất bại, bạn đang nhìn vào sự cố thượng nguồn hoặc trình lắng nghe chứ không phải bộ lọc.

Giữ tuyên bố hẹp trong mọi thứ bạn công bố nội bộ. Đây là lọc tên miền trên một trình phân giải, không phải kiểm tra nội dung, không phải lọc đường dẫn và không phải lời hứa rằng không ai bị theo dõi. Nêu chủ sở hữu chính sách, đường ngoại lệ và thời gian lưu truy vấn bên cạnh các quy tắc, vì một bộ lọc ghi lại mọi lần tra cứu có chi phí riêng về quyền riêng tư.

Bài viết liên quan