การวาง 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 ใดสำหรับการสอบถามใหม่

บทความที่เกี่ยวข้อง