ย้อนกลับ DNS ในโลก CIDR


24

Reverse DNS ดูเหมือนจะเชื่อมโยงกับขอบเขตของคลาสอย่างมากตอนนี้ CIDR มีมาตรฐานวิธีใดในการมอบอำนาจให้กับซับเน็ต? หากมีหลายวิธีอยู่วิธีไหนดีที่สุด? คุณต้องการจัดการการมอบหมายต่างกันหรือไม่ขึ้นอยู่กับเซิร์ฟเวอร์ DNS (Bind, djbdns, Microsoft DNS, อื่น ๆ ) ช่วยบอกว่าฉันมีการควบคุมเครือข่ายที่เป็น Class B 168.192.in-addr.arpa โปรดให้ตัวอย่างสำหรับ:

  • วิธีการมอบอำนาจสำหรับ a / 22?
  • วิธีการมอบหมายอำนาจสำหรับ / 25?

คำตอบ:


31

การมอบหมาย a / 22 เป็นเรื่องง่ายมันเป็นตัวแทนของ 4 / 24s A / 14 เป็นตัวแทนของ 4 / 16s ฯลฯ

RFC2317ครอบคลุมกรณีพิเศษด้วย netmask ที่ยาวกว่า / 24 โดยทั่วไปไม่มีวิธีที่สะอาดสุด ๆ ในการมอบหมายโซน in-addr.arpa ในทุกสิ่งยกเว้นขอบเขตของ octet แต่คุณสามารถแก้ไขได้ สมมติว่าฉันต้องการมอบหมาย 172.16.23.16/29 ซึ่งจะเป็นที่อยู่ IP 172.16.23.16 -> 172.16.23.23

ในฐานะเจ้าของโซน 23.16.172.in-addr.arpa ฉันอาจจะใส่มันในไฟล์โซน 23.16.172.rev ของฉันเพื่อมอบช่วงนี้ให้กับลูกค้าของฉัน:

16-29              IN NS  ns1.customer.com
16-29              IN NS  ns2.customer.com
16                 IN CNAME    16.16-29.23.16.172.in-addr.arpa.
17                 IN CNAME    17.16-29.23.16.172.in-addr.arpa.
18                 IN CNAME    18.16-29.23.16.172.in-addr.arpa.
19                 IN CNAME    19.16-29.23.16.172.in-addr.arpa.
20                 IN CNAME    20.16-29.23.16.172.in-addr.arpa.
21                 IN CNAME    21.16-29.23.16.172.in-addr.arpa.
22                 IN CNAME    22.16-29.23.16.172.in-addr.arpa.
23                 IN CNAME    23.16-29.23.16.172.in-addr.arpa.

ดังนั้นคุณจะเห็นได้ว่าฉันกำลังกำหนดโซนใหม่ (16-29.23.16.172.in-addr.arpa.) และมอบหมายให้เซิร์ฟเวอร์ชื่อลูกค้าของฉัน จากนั้นฉันกำลังสร้าง CNAME จาก IP ที่จะมอบให้กับหมายเลขที่เกี่ยวข้องภายใต้โซนที่ได้รับมอบหมายใหม่

ในฐานะลูกค้าที่ได้รับมอบหมายสิ่งเหล่านี้ฉันจะทำสิ่งต่อไปนี้ใน named.conf:

zone "16-29.23.16.172.in-addr.arpa" { 
    type master;
    file "masters/16-29.23.16.172.rev";
};

จากนั้นในไฟล์. rev ฉันจะทำให้ PTR เหมือนกับโซน in-addr.arpa ปกติ:

17                 IN PTR office.customer.com.
18                 IN PTR www.customer.com.
(etc)

นั่นเป็นวิธีที่สะอาดในการทำและทำให้ลูกค้าที่เข้าใจง่ายมีความสุขเพราะพวกเขามีโซน in.addr.arpa เพื่อใส่ PTRs ฯลฯ วิธีที่สั้นกว่าสำหรับลูกค้าที่ต้องการควบคุม DNS แบบย้อนกลับ แต่ไม่ต้องทำ ไม่ต้องการตั้งค่าทั้งโซนคือเพียง CNAME แต่ละระเบียนเป็นชื่อที่คล้ายกันในโซนหลักของพวกเขา

ในกรณีนี้เราในฐานะผู้มอบหมายจะมีสิ่งนี้ในไฟล์ 23.16.172.rev ของเรา:

16                 IN CNAME    16.customer.com.
17                 IN CNAME    17.customer.com.
18                 IN CNAME    18.customer.com.
19                 IN CNAME    19.customer.com.
20                 IN CNAME    20.customer.com.
21                 IN CNAME    21.customer.com.
22                 IN CNAME    22.customer.com.
23                 IN CNAME    23.customer.com.

ดังนั้นมันจึงคล้ายกับแนวคิดอื่น ๆ แต่แทนที่จะสร้างโซนใหม่และมอบหมายให้ลูกค้าคุณกำลัง CNAME กำลังบันทึกข้อมูลชื่อในโซนหลักที่มีอยู่แล้วของลูกค้า

ลูกค้าจะมีสิ่งนี้ในไฟล์โซน customer.com:

office             IN A   172.16.23.17
17                 IN PTR office.customer.com.
www                IN A   172.16.23.18
18                 IN PTR www.customer.com.
(etc)

มันขึ้นอยู่กับประเภทของลูกค้า อย่างที่ฉันบอกไปมันขึ้นอยู่กับประเภทของลูกค้า ลูกค้าที่มีความชำนาญจะชอบตั้งค่า in-addr.arpa โซนของตัวเองและจะคิดว่ามันแปลกมากที่มี PTR ในโซนชื่อโดเมน ลูกค้าที่ไม่เข้าใจจะต้องการให้ "ทำงาน" โดยไม่ต้องทำการตั้งค่าเพิ่มเติมมากมาย

มีวิธีการอื่น ๆ ที่น่าสนใจเพียงให้รายละเอียดเกี่ยวกับวิธีที่ฉันคุ้นเคย


ฉันแค่คิดเกี่ยวกับคำพูดของฉันเกี่ยวกับวิธีการ / 22 และ / 14 เป็นเรื่องง่ายและคิดว่าทำไมมันเป็นเรื่องจริง แต่อะไรระหว่าง 25 และ 32 เป็นเรื่องยาก ฉันยังไม่ได้ทดสอบสิ่งนี้ แต่ฉันเร่ร่อนถ้าคุณสามารถมอบหมายทั้งหมด / 32 ให้กับลูกค้าเช่นนี้:

16                 IN NS ns1.customer.com.
17                 IN NS ns1.customer.com.
(etc)

จากนั้นในฝั่งลูกค้าคุณจับทั้ง / 32:

zone "16.23.16.172.in-addr.arpa" { type master; file "masters/16.23.16.172.rev"; };
zone "17.23.16.172.in-addr.arpa" { type master; file "masters/17.23.16.172.rev"; };
(etc)

จากนั้นในไฟล์แต่ละไฟล์คุณจะมีดังนี้:

@            IN PTR office.customer.com.

ข้อเสียที่เห็นได้ชัดคือไฟล์หนึ่งไฟล์ต่อ / 32 นั้นเป็นไฟล์รวม แต่ฉันพนันได้เลยว่ามันจะได้ผล

ทุกสิ่งที่ฉันพูดถึงคือ DNS บริสุทธิ์หากเซิร์ฟเวอร์ DNS ใด ๆ ไม่ยอมให้คุณทำสิ่งนั้นเพราะมัน จำกัด การทำงานเต็มรูปแบบของ DNS ตัวอย่างของฉันเห็นได้ชัดว่าใช้ BIND แต่เราได้ดำเนินการด้านลูกค้าโดยใช้ Windows DNS และ BIND ฉันไม่เห็นเหตุผลที่จะไม่ทำงานกับเซิร์ฟเวอร์ใด ๆ


1
คุณอาจจะคิดว่าการ rfc2317 ( tools.ietf.org/html/rfc2317 )
Zoredache


0

BIND มีแมโคร $ GENERATE ที่เป็นกรรมสิทธิ์สำหรับการสร้างลำดับของเรคคอร์ด PTR แต่มันยังถือว่าโลกที่มีระดับและจะไม่เป็นประโยชน์กับคุณมากนัก ฉันไม่รู้เซิร์ฟเวอร์อื่น ๆ ที่มีการสนับสนุนเป็นพิเศษสำหรับโซนย้อนกลับ CIDR แม้ว่าฉันสงสัยว่ามีความต้องการ!

PowerDNS มีอินเทอร์เฟซแบ็กเอนด์ที่ดีที่จะช่วยให้คุณเขียนของคุณเองถ้าปัญหาใหญ่พอที่จะทำให้มันคุ้มค่ากับความพยายาม คุณยังสามารถสร้างต้นแบบโดยใช้ "PipeBackend" คุณสามารถทำสิ่งมหัศจรรย์ SQL ผ่านทางอินเทอร์เฟซ MySQL / PostgreSQL โดยเฉพาะอย่างยิ่งเมื่อ Postgres มีชนิดข้อมูล "cidr"


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.