การเปิดตัวเซิร์ฟเวอร์ DNS แคช รับผิดชอบการแปลงชื่อแบบเรียกซ้ำ PowerDNS Recursor สร้างขึ้นบนฐานโค้ดเดียวกันกับ PowerDNS Authoritative Server แต่เซิร์ฟเวอร์ DNS แบบเรียกซ้ำและที่เชื่อถือได้ของ PowerDNS ได้รับการพัฒนาผ่านวงจรการพัฒนาที่แตกต่างกัน และเผยแพร่เป็นผลิตภัณฑ์ที่แยกจากกัน รหัสโครงการ ได้รับอนุญาตภายใต้ GPLv2
เซิร์ฟเวอร์มีเครื่องมือสำหรับการรวบรวมสถิติระยะไกล รองรับการรีสตาร์ททันที มีเอ็นจิ้นในตัวสำหรับการเชื่อมต่อตัวจัดการในภาษา Lua รองรับ DNSSEC, DNS64, RPZ (โซนนโยบายการตอบสนอง) อย่างสมบูรณ์ และอนุญาตให้คุณเชื่อมต่อบัญชีดำ สามารถบันทึกผลลัพธ์ความละเอียดเป็นไฟล์โซน BIND ได้ เพื่อให้มั่นใจว่ามีประสิทธิภาพสูง จึงมีการใช้กลไกการเชื่อมต่อแบบมัลติเพล็กซ์ที่ทันสมัยใน FreeBSD, Linux และ Solaris (kqueue, epoll, /dev/poll) รวมถึงตัวแยกวิเคราะห์แพ็กเก็ต DNS ประสิทธิภาพสูงที่สามารถประมวลผลคำขอแบบขนานนับหมื่นรายการ
ในเวอร์ชันใหม่:
- เพื่อป้องกันการรั่วไหลของข้อมูลเกี่ยวกับโดเมนที่ร้องขอและเพิ่มความเป็นส่วนตัว กลไกนี้จะเปิดใช้งานตามค่าเริ่มต้น () ทำงานในโหมด "ผ่อนคลาย" สาระสำคัญของกลไกนี้คือตัวแก้ไขไม่ได้กล่าวถึงชื่อเต็มของโฮสต์ที่ต้องการในการร้องขอไปยังเซิร์ฟเวอร์ชื่ออัปสตรีม ตัวอย่างเช่น เมื่อกำหนดที่อยู่สำหรับโฮสต์ foo.bar.baz.com ตัวแก้ไขจะส่งคำขอ "QTYPE=NS,QNAME=baz.com" ไปยังเซิร์ฟเวอร์ที่เชื่อถือได้สำหรับโซน ".com" โดยไม่กล่าวถึง " foo.bar" ในรูปแบบปัจจุบันมีการใช้งานโหมด "ผ่อนคลาย"
- ความสามารถในการบันทึกคำขอขาออกไปยังเซิร์ฟเวอร์ที่เชื่อถือได้และการตอบกลับในรูปแบบ dnstap ได้ถูกนำมาใช้แล้ว (สำหรับการใช้งาน จำเป็นต้องมีบิลด์ที่มีตัวเลือก "-enable-dnstap")
- มีการประมวลผลคำขอขาเข้าหลายรายการพร้อมกันที่ส่งผ่านการเชื่อมต่อ TCP โดยผลลัพธ์จะถูกส่งกลับเมื่อพร้อม และไม่เรียงลำดับคำขอในคิว ขีดจำกัดของคำขอพร้อมกันถูกกำหนดโดย “"
- ใช้เทคนิคในการติดตามโดเมนใหม่ (โดเมนที่สังเกตใหม่) ซึ่งสามารถใช้เพื่อระบุโดเมนที่น่าสงสัยหรือโดเมนที่เกี่ยวข้องกับกิจกรรมที่เป็นอันตราย เช่น การกระจายมัลแวร์ การมีส่วนร่วมในฟิชชิ่ง และการใช้งานบ็อตเน็ต วิธีการนี้ขึ้นอยู่กับการระบุโดเมนที่ไม่เคยมีการเข้าถึงมาก่อน และการวิเคราะห์โดเมนใหม่เหล่านี้ แทนที่จะติดตามโดเมนใหม่กับฐานข้อมูลที่สมบูรณ์ของโดเมนทั้งหมดที่เคยดู ซึ่งต้องใช้ทรัพยากรจำนวนมากในการบำรุงรักษา NOD ใช้กรอบการทำงานที่น่าจะเป็น (Stable Bloom Filter) ซึ่งช่วยให้คุณลดการใช้หน่วยความจำและ CPU ให้เหลือน้อยที่สุด หากต้องการเปิดใช้งาน คุณควรระบุ “new-domain-tracking=yes” ในการตั้งค่า
- เมื่อทำงานภายใต้ systemd กระบวนการ PowerDNS Recursor จะทำงานภายใต้ pdns-recursor ของผู้ใช้ที่ไม่มีสิทธิ์แทนที่จะเป็น root สำหรับระบบที่ไม่มี systemd และไม่มี chroot ไดเร็กทอรีดีฟอลต์สำหรับการจัดเก็บซ็อกเก็ตควบคุมและไฟล์ pid จะเป็น /var/run/pdns-recursor
นอกจากนี้ ปล่อย ซึ่งเป็นเซิร์ฟเวอร์ DNS ที่เชื่อถือได้ประสิทธิภาพสูง (ตัวเรียกซ้ำได้รับการออกแบบให้เป็นแอปพลิเคชันแยกต่างหาก) ที่รองรับฟีเจอร์ DNS สมัยใหม่ทั้งหมด โครงการนี้กำลังได้รับการพัฒนาโดยสำนักทะเบียนชื่อภาษาเช็ก CZ.NIC ซึ่งเขียนด้วยภาษา C และ ได้รับอนุญาตภายใต้ GPLv3
KnotDNS มีความโดดเด่นจากการมุ่งเน้นไปที่การประมวลผลคิวรีประสิทธิภาพสูง ซึ่งใช้การใช้งานแบบมัลติเธรดและส่วนใหญ่ไม่มีการบล็อก ซึ่งปรับขนาดได้ดีบนระบบ SMP คุณสมบัติต่างๆ เช่น การเพิ่มและการลบโซนทันที การถ่ายโอนโซนระหว่างเซิร์ฟเวอร์, DDNS (การอัปเดตแบบไดนามิก), NSID (RFC 5001), ส่วนขยาย EDNS0 และ DNSSEC (รวมถึง NSEC3), การจำกัดอัตราการตอบกลับ (RRL)
ในรุ่นใหม่:
- เพิ่มการตั้งค่า 'remote.block-notify-after-transfer' เพื่อปิดการส่งข้อความแจ้งเตือน
- ใช้การสนับสนุนการทดลองสำหรับอัลกอริทึม Ed448 ใน DNSSE (ต้องใช้ GnuTLS 3.6.12+ และยังไม่ได้เผยแพร่ );
- เพิ่มพารามิเตอร์ 'local-serial' ใน keymgr เพื่อรับหรือตั้งค่าหมายเลขซีเรียล SOA สำหรับโซนที่ลงนามในฐานข้อมูล KASP
- เพิ่มการสนับสนุนสำหรับการนำเข้าคีย์ Ed25519 และ Ed448 ในรูปแบบเซิร์ฟเวอร์ BIND DNS ไปยัง keymgr
- การตั้งค่าเริ่มต้น 'server.tcp-io-timeout' เพิ่มขึ้นเป็น 500 ms และ 'database.journal-db-max-size' ลดลงเหลือ 512 MiB บนระบบ 32 บิต
ที่มา: opennet.ru
