ฉันพยายามเซ็ตอัพ BIND เพื่อให้สามารถตรวจจับคำขอใด ๆ และคำขอทั้งหมดและชี้ไปที่ชุดของเซิร์ฟเวอร์ NS ที่เฉพาะเจาะจงและระเบียน A ที่เฉพาะเจาะจง
ฉันมีโดเมนประมาณ 500 และฉันเพิ่มโดเมนใหม่ในอัตรา 10-15 ต่อวันดังนั้นฉันไม่ต้องการเพิ่มโซนสำหรับทุกโดเมนอย่างชัดเจน
การตั้งค่าปัจจุบันของฉันคือ: ใน named.conf ของฉันฉันมีมุมมอง (ชื่อภายนอก) โดยมีโซนดังต่อไปนี้:
zone "." {
type master;
file "ext.zone";
};
ตรงกับคำขอทั้งหมด
ext.zone คือ:
$ TTL 3600 @ IN SOA root.nsdomain.com ( 1; อนุกรม 3600; รีเฟรช 300; ลองใหม่ 3600; หมดอายุ 300); Cache ลบเชิงลบ ใน NS ns1.example.com ใน NS ns2.example.com ns1 IN 192.0.2.4 ns2 ใน 192.0.2.5 * * * * ใน 192.0.2.6
ดังนั้นเป้าหมายคือ: สำหรับทุก NS ร้องขอผลตอบแทนns1.example.com
และns2.example.com
สำหรับการร้องขอทั้งหมดยกเว้นว่ามันอยู่ที่ไหนns1.example.com
หรือผลตอบแทนns2.example.com
192.0.2.6
สำหรับns1.example.com
ผลตอบแทน192.0.2.4
สำหรับการกลับมาns2.example.com
192.0.2.5
เกือบจะใช้งานได้ปัญหาเดียวคือเมื่อฉันขุดฉันจะได้รับ:
ขุด @localhost somedomain.example ; > DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3> @localhost somedomain.example ; (พบเซิร์ฟเวอร์ 1 รายการ) ;; ตัวเลือกทั่วโลก: printcmd ;; มีคำตอบ: ;; opcode: QUERY สถานะ: NOERROR, id: 37733 ;; ธง: qr aa rd; QUERY: 1, คำตอบ: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; ส่วนคำถาม: ; somedomain.example ใน ;; ส่วนคำตอบ: somedomain.example 3600 IN A 192.0.2.6 // ตามที่คาดไว้ ;; ส่วนของหน่วยงาน: . 3600 IN NS ns1.example.com // คาดว่าฉันไม่รู้ว่า "." ที่จุดเริ่มต้นไม่ดีแม้ว่า . 3600 IN NS ns2.example.com // ดูด้านบน. ;; ส่วนเพิ่มเติม: ns1.example.com 3600 ใน 192.0.2.6 // ไม่คาดหวังควรเป็น 192.0.2.4 ns2.example.com 3600 ใน 192.0.2.6 // ไม่คาดหวังควรเป็น 192.0.2.5
ฉันจะแก้ไขสิ่งนี้ได้อย่างไร ฉันกำลังทำสิ่งที่น่ากลัวหรือไม่? มีวิธีที่ดีกว่าในการทำเช่นนี้?