Squid Split DNS: định tuyến miền riêng qua resolver phù hợp
Chủ động định tuyến không gian tên DNS riêng và công cộng thay vì đưa cho Squid một danh sách resolver mơ hồ.
Đặt resolver nội bộ lên trước và resolver công cộng ở sau không cho Squid biết tên nào thuộc không gian tên nào.
Trong Squid 6 và 7, dns_nameservers thay danh sách resolver thông thường bằng địa chỉ máy chủ. Cú pháp của nó không có ánh xạ theo miền. Một câu trả lời phủ định hợp lệ cũng khác với resolver không thể truy cập, vì vậy các phương án thay thế không phải cách đáng tin cậy để tìm kiếm trong các không gian tên không tương thích.
Định tuyến truy vấn theo miền
Bộ chuyển tiếp DNS cục bộ có thể diễn đạt chính sách còn thiếu. Trong cấu hình dnsmasq hiện có, có thể định tuyến một hậu tố riêng như sau:
server=/internal.example/192.0.2.53
Thay miền và địa chỉ. Cấu hình một upstream mặc định đã được phê duyệt cho các tên khác, một listener phù hợp và các giới hạn truy cập. Sau đó trỏ Squid tới resolver đó bằng cấu hình mà phiên bản đã cài đặt hỗ trợ.
Ngoài ra, hãy dùng dịch vụ DNS của tổ chức phân giải đúng cả hai không gian tên. Tránh phương án dự phòng công cộng làm lộ tên riêng mà không thể trả lời chúng.
Nếu proxy cha thực hiện việc tra cứu đích, chặng đó cần không gian tên riêng. Một resolver trên máy Squid cục bộ sẽ không sửa được việc tra cứu của proxy cha.
Kiểm tra cả trường hợp phủ định
Chọn một tên riêng hợp lệ, một tên công cộng hợp lệ và một tên riêng không tồn tại. Với mỗi tên, xác định upstream dự kiến và câu trả lời mong đợi là địa chỉ hay phản hồi phủ định. Trường hợp cuối cho thấy việc vô tình rơi về upstream công cộng sau một câu trả lời phủ định nội bộ.
Bao gồm các họ địa chỉ mà máy khách yêu cầu. Một tra cứu A thành công không chứng minh AAAA tuân theo chính sách hoặc trả về đích đến được. Cũng ghi nhận trạng thái bộ nhớ đệm: câu trả lời đã lưu có thể che giấu việc truy vấn mới sẽ chọn upstream nào.