في أحد الأيام، واجهت مهمة منح أحد عملائي الحق في تحرير سجلات PTR للشبكة الفرعية /28 المخصصة له. ليس لدي أتمتة لتحرير إعدادات BIND من الخارج. لذلك، قررت أن أسلك طريقًا مختلفًا - لتفويض العميل بجزء من منطقة PTR للشبكة الفرعية /24.
يبدو - ما الذي يمكن أن يكون أسهل؟ نحن ببساطة نسجل الشبكة الفرعية كما هو مطلوب ونوجهها إلى NS المطلوب، كما هو الحال مع النطاق الفرعي. لكن لا. الأمر ليس بهذه البساطة (على الرغم من أنه في الواقع بدائي بشكل عام، لكن الحدس لن يساعد)، ولهذا السبب أكتب هذا المقال.
ومن يريد أن يعرف ذلك بنفسه يمكنه أن يقرأ
من يريد حلا جاهزا فمرحبا به في القط.
وحتى لا أتأخر على محبي طريقة النسخ واللصق سأقوم بنشر الجزء العملي أولا ثم الجزء النظري.
1. الممارسة. منطقة التفويض /28
لنفترض أن لدينا شبكة فرعية 7.8.9.0/24. نحن بحاجة إلى تفويض الشبكة الفرعية 7.8.9.240/28 لعميل DNS 7.8.7.8 (ns1.client.domain).
في DNS الخاص بالموفر، تحتاج إلى العثور على ملف يصف المنطقة العكسية لهذه الشبكة الفرعية. فليكن 9.8.7.in-addr.harp.
نعلق على الإدخالات من 240 إلى 255، إن وجدت. وفي نهاية الملف نكتب ما يلي:
255-240 IN NS 7.8.7.8
$GENERATE 240-255 $ CNAME $.255-240
لا تنسى أن تزيد المنطقة التسلسلية وتفعل
rndc reload
هذا يكمل الجزء الموفر. دعنا ننتقل إلى DNS العميل.
أولاً، لنقم بإنشاء ملف /etc/bind/master/255-240.9.8.7.in-addr.arpa المحتوى التالي:
$ORIGIN 255-240.9.8.7.in-addr.arpa.
$TTL 1W
@ 1D IN SOA ns1.client.domain. root.client.domain. (
2008152607 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS ns1.client.domain.
@ IN NS ns2.client.domain.
241 IN PTR test.client.domain.
242 IN PTR test2.client.domain.
245 IN PTR test5.client.domain.
وفي اسمه .conf أضف وصفًا لملفنا الجديد:
zone "255-240.9.8.7.in-addr.arpa." IN {
type master;
file "master/255-240.9.8.7.in-addr.arpa";
};
ب- أعد تشغيل عملية الربط.
/etc/init.d/named restart
الجميع. الآن يمكنك التحقق.
#> host 7.8.9.245
245.9.8.7.in-addr.arpa is an alias for 245.255-240.9.8.7.in-addr.arpa.
245.255-240.9.8.7.in-addr.arpa domain name pointer test5.client.domain.
يرجى ملاحظة أنه لم يتم توفير سجل PTR فحسب، بل تم توفير CNAME أيضًا. هذا هو ما ينبغي أن يكون. إذا كنت تتساءل عن السبب، فمرحبًا بك في الفصل التالي.
2. النظرية. كيف تعمل.
من الصعب تكوين وتصحيح الصندوق الأسود. سيكون الأمر أسهل بكثير إذا فهمت ما يحدث في الداخل.
عندما نقوم بتفويض مجال فرعي في المجال نطاق، ثم نكتب شيئا مثل هذا:
client.domain. NS ns1.client.domain.
ns1.client.domain. A 7.8.7.8
نقول لكل من يسأل أننا لسنا مسؤولين عن هذا الموقع ونقول من المسؤول. وجميع طلبات client.domain إعادة التوجيه إلى 7.8.7.8. عند التحقق نرى الصورة التالية (سنحذف ما لدى العميل هناك. لا يهم):
# host test.client.domain
test.client.domain has address 7.8.9.241
أولئك. لقد علمنا بوجود مثل هذا السجل وعنوان IP الخاص به هو 7.8.9.241. لا توجد معلومات غير ضرورية.
كيف يمكن أن يتم نفس الشيء مع شبكة فرعية؟
لأن تم تسجيل خادم DNS الخاص بنا في RIPE، ثم عند طلب عنوان IP PTR من شبكتنا، سيظل الطلب الأول لنا. المنطق هو نفسه كما هو الحال مع المجالات. ولكن كيف يمكنك إدخال شبكة فرعية في ملف المنطقة؟
دعونا نحاول إدخاله مثل هذا:
255-240 IN NS 7.8.7.8
و... لم تحدث المعجزة. نحن لا نتلقى أي طلب إعادة توجيه. الشيء هو أن Bind لا يعرف حتى أن هذه الإدخالات في ملف المنطقة العكسية هي عناوين IP، والأكثر من ذلك أنه لا يفهم إدخال النطاق. بالنسبة له، هذا مجرد نوع من المجال الفرعي الرمزي. أولئك. للربط لن يكون هناك فرق بين "255-240"و"عميلنا الفائق". ولكي يذهب الطلب إلى حيث يجب أن يذهب، يجب أن يبدو العنوان الموجود في الطلب كما يلي: 241.255-240.9.8.7.in-addr.arpa. أو مثل هذا إذا استخدمنا نطاقًا فرعيًا للأحرف: 241.oursuperclient.9.8.7.in-addr.arpa. وهذا يختلف عن المعتاد: 241.9.8.7.in-addr.harp.
سيكون من الصعب تقديم مثل هذا الطلب يدويًا. وحتى لو نجحت، فلا يزال من غير الواضح كيفية تطبيقها في الحياة الواقعية. بعد كل شيء، عند الطلب 7.8.9.241 لا يزال نظام DNS الخاص بالمزود يجيب علينا، وليس العميل.
وهذا هو المكان الذي يلعبون فيه CNAME.
من ناحية الموفر، تحتاج إلى إنشاء اسم مستعار لجميع عناوين IP الخاصة بالشبكة الفرعية بتنسيق يعيد توجيه الطلب إلى DNS الخاص بالعميل.
255-240 IN NS ns1.client.domain.
241 IN CNAME 241.255-240
242 IN CNAME 242.255-240
и т.д.
وهذا للمجتهدين =).
وللكسالى التصميم أدناه أكثر ملاءمة:
255-240 IN NS ns1.client.domain.
$GENERATE 240-255 $ CNAME $.255-240
الآن اطلب المعلومات على 7.8.9.241 من 241.9.8.7.in-addr.harp على خادم DNS الخاص بالموفر سيتم تحويله إلى 241.255-240.9.8.7.in-addr.arpa ويذهب إلى عميل DNS.
سيحتاج جانب العميل إلى التعامل مع مثل هذه الطلبات. وفقا لذلك، نقوم بإنشاء منطقة 255-240.9.8.7.in-addr.arpa. في ذلك، يمكننا، من حيث المبدأ، وضع إدخالات عكسية لأي عنوان IP للشبكة الفرعية /24 بأكملها، لكنهم سيسألوننا فقط عن تلك التي يرسلها إلينا المزود، لذلك لن نتمكن من التلاعب =).
للتوضيح، سأقدم مرة أخرى مثالاً على محتويات ملف المنطقة العكسية من جانب العميل:
$ORIGIN 255-240.9.8.7.in-addr.arpa.
$TTL 1W
@ 1D IN SOA ns1.client.domain. root.client.domain. (
2008152607 ; serial
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
@ IN NS ns1.client.domain.
@ IN NS ns2.client.domain.
241 IN PTR test.client.domain.
242 IN PTR test2.client.domain.
245 IN PTR test5.client.domain.
هذا لأننا نستخدم CNAME من جانب الموفر، واستجابة لطلب البيانات عن طريق عنوان IP، نتلقى سجلين، وليس واحدًا.
#> host 7.8.9.245
245.9.8.7.in-addr.arpa is an alias for 245.255-240.9.8.7.in-addr.arpa.
245.255-240.9.8.7.in-addr.arpa domain name pointer test5.client.domain.
ولا تنس تكوين قائمة التحكم بالوصول (ACL) بشكل صحيح. لأنه ليس من المنطقي أن تأخذ منطقة PTR لنفسك ولا تستجيب لأي شخص من الخارج =).
المصدر: www.habr.com