Squid Split DNS: กำหนดเส้นทางโดเมนส่วนตัวผ่าน resolver ที่ถูกต้อง
กำหนดเส้นทางเนมสเปซ DNS ส่วนตัวและสาธารณะอย่างตั้งใจ แทนที่จะให้รายการ resolver ที่กำกวมแก่ Squid
การวาง resolver ภายในไว้ก่อนและ resolver สาธารณะไว้ถัดไปไม่ได้บอก Squid ว่าชื่อใดเป็นของเนมสเปซใด
ใน Squid 6 และ 7, dns_nameservers แทนที่รายการ resolver ปกติด้วยที่อยู่เซิร์ฟเวอร์ รูปแบบคำสั่งไม่มีแมปปิงตามโดเมน คำตอบปฏิเสธที่ถูกต้องก็แตกต่างจาก resolver ที่เข้าถึงไม่ได้เช่นกัน ดังนั้นตัวเลือกสำรองจึงไม่ใช่วิธีที่เชื่อถือได้ในการค้นหาเนมสเปซที่ไม่เข้ากัน
กำหนดเส้นทางการสอบถามตามโดเมน
ฟอร์เวิร์ดเดอร์ DNS ภายในเครื่องสามารถแสดงนโยบายที่ขาดหายไปได้ ในคอนฟิกูเรชัน dnsmasq ที่มีอยู่ สามารถกำหนดเส้นทางซัฟฟิกซ์ส่วนตัวได้ดังนี้:
server=/internal.example/192.0.2.53
แทนที่โดเมนและที่อยู่ กำหนดค่า upstream เริ่มต้นที่ได้รับอนุมัติสำหรับชื่ออื่น listener ที่เหมาะสม และข้อจำกัดการเข้าถึง จากนั้นชี้ Squid ไปที่ resolver นั้นด้วยคอนฟิกูเรชันที่เวอร์ชันที่ติดตั้งรองรับ
อีกทางหนึ่ง ให้ใช้บริการ DNS ขององค์กรที่แก้ไขทั้งสองเนมสเปซได้อย่างถูกต้อง หลีกเลี่ยงการถอยกลับไปยังสาธารณะที่เปิดเผยชื่อส่วนตัวโดยไม่สามารถตอบกลับได้
หากพร็อกซีแม่เป็นผู้ค้นหาปลายทาง ฮอปนั้นต้องเข้าถึงเนมสเปซส่วนตัว resolver บนโฮสต์ Squid ภายในเครื่องจะไม่แก้ไขการค้นหาของพร็อกซีแม่
ตรวจสอบกรณีปฏิเสธด้วย
เลือกชื่อส่วนตัวที่ถูกต้อง ชื่อสาธารณะที่ถูกต้อง และชื่อส่วนตัวที่ไม่มีอยู่ สำหรับแต่ละชื่อ ให้ระบุ upstream ที่ตั้งใจและดูว่าคำตอบที่คาดหวังเป็นที่อยู่หรือการตอบปฏิเสธ กรณีสุดท้ายจะเผยให้เห็นการถอยกลับไปยังสาธารณะโดยไม่ตั้งใจหลังคำตอบปฏิเสธภายใน
รวมตระกูลที่อยู่ที่ไคลเอนต์ต้องการ การค้นหา A ที่ทำงานได้ไม่ได้พิสูจน์ว่า AAAA ปฏิบัติตามนโยบายหรือส่งคืนปลายทางที่เข้าถึงได้ สังเกตสถานะแคชด้วย คำตอบที่แคชไว้อาจซ่อนว่า Squid จะเลือก upstream ใดสำหรับการสอบถามใหม่