ฉันประสบปัญหาในการพยายามตั้งค่า PowerDNS สำหรับเครือข่ายท้องถิ่นของฉัน ฉันมีโดเมน example.com ที่จัดการโดย Cloudflare
ตัวอย่างเช่นฉันมีบันทึกเกี่ยวกับ Cloudflare เช่น เซิร์ฟเวอร์.example.com
ชี้ไปที่ 1.1.1.1
แต่ลูกค้าในพื้นที่ของฉันควรแก้ไข เซิร์ฟเวอร์.example.com
ถึง 10.10.10.1
และไม่เป็นปัญหาในการใช้งาน forward-zones="example.com=127.0.0.1:54";
ใน recursor config แต่ฉันมีบันทึกอื่นเช่น mail.example.com
ชี้ไปที่ 2.2.2.2
เซิร์ฟเวอร์นั้นอยู่นอกเครือข่ายท้องถิ่นของฉัน และฉันต้องคัดลอกบันทึก A จาก Cloudflare ไปยัง PowerDNS ภายในเครื่องของฉันด้วยมือ ไม่เช่นนั้นไคลเอ็นต์ภายในเครื่องจะได้รับ NXDOMAIN
ดูเหมือนว่าฉันต้องปลอมแปลงการตอบสนองของ NXDOMAIN จาก PowerDNS ในเครื่องและตัวส่งต่อข้อความค้นหา เป็นไปได้ไหม?
แก้ไข:
ฉันเริ่มต้นด้วยสคริปต์ LUA และสามารถรับการตอบกลับจาก NXDOMAIN ได้ แต่ฉันไม่สามารถส่งต่อได้
ฟังก์ชัน nxdomain(dq)
pdnslog("การสกัดกั้น NXDOMAIN สำหรับ: "..dq.qname:toString())
ถ้า dq.qtype == pdns.A
แล้ว
dq.rcode=0 -- ทำให้เป็นคำตอบปกติ
dq:addAnswer(pdns.A, "10.10.10.10")
กลับเป็นจริง
จบ
กลับเป็นเท็จ
จบ