ما هي الميزات الرئيسية لخادم ربط DNS. دعم المنطقة الخاصة

08.03.2019

قم بتحرير الملف /etc/resolv.conf: خادم DNS الأول هو بمثابة استرجاع لخادمك الملقم المحلي DNS (127.0.0.1)، ثاني خادم DNS الأقرب إليك (عادة ما يتم توفيره من قبل مزود الإنترنت الخاص بك)، قائمة DNS الأخرى حسب تقديرك (فهي ليست إلزامية). يخبرنا ملف resolv.conf أنه إذا لم ينجح استعلامات DNSإلى الخادم الخاص بك (127.0.0.1)، ستتم إعادة توجيه الطلب تلقائيًا إلى خادم DNS الثاني في القائمة، وما إلى ذلك.

> ee /etc/resolv.conf domain your.domen nameserver 127.0.0.1 #DNS خادم أسماء ISP الخاص بك x.x.x.x nameserver x.x.x.x

محللهي مجموعة من الإجراءات في مكتبة C التي توفر الوصول إلى الإنترنت ما هو DNS (Domain نظام الاسم) (نظام اسم مجال الإنترنت) (تقريبًا - يوفر DNS القدرة على تحويل أسماء الأجهزة الرمزية إلى عناوين IP والعكس، عناوين IP إلى أسماء رمزية). ملف الإعدادات /etc/resolv.confللمحلل الذي يحتوي على معلومات تتم قراءتها لأول مرة بواسطة إجراءات المحلل التي تستدعيها العملية. تم تصميم هذا الملف ليكون قابلاً للقراءة بواسطة الإنسان ويحتوي على قائمة بالكلمات الرئيسية والقيم التي توفر معلومات متنوعة للمحلل.

في نظام تكوينه بشكل طبيعي هذا الملفغير مطلوبة: ستتم معالجة الطلبات بواسطة الخادم الموجود مضيف محلي، يتم تحديد اسم المجال من اسم الجهاز، ويتم إنشاء مسار البحث الآلي حسب المجال من اسم المجال.

خيارات الإعداد:

عنوان خادم اسم الإنترنت (بالتدوين xxx.xxx.xxx.xxx) الذي سيعالج الطلبات الواردة من المحلل. قد يكون هناك خوادم الأسماء الحد الأقصى 3(يتم تجاهل الباقي)، واحد في كل سطر. إذا تم تحديد عدة خوادم، فستقوم مكتبة المحلل بالاستعلام عنها بالترتيب الذي تم إدراجها به. إذا لم تكن هناك إدخالات لخادم الأسماء، فسيتم استخدام خادم الأسماء الموجود على الجهاز المحلي بشكل افتراضي. (تحاول الخوارزمية المستخدمة الاتصال بخادم الأسماء، وإذا لم تتم معالجة الطلب بعد فترة زمنية معينة، تحاول الاتصال بخادم الأسماء التالي، وهكذا حتى تتم معالجة قائمة الخوادم بأكملها، ثم كرر الإجراء حتى يصل الحد الأقصى للمبلغالتكرار).

اسم النطاق المحلي. ستتمكن معظم طلبات أسماء الأجهزة في هذا المجال من استخدام الأسماء القصيرة فقط، دون تحديد اسم المجال. إذا لم تكن هناك إدخالات مجال، فسيتم تحديد المجال من اسم الجهاز المحلي، والذي يتم إرجاعه بواسطة وظيفة gethostname()؛ يعتبر جزء المجال من الاسم هو كل شيء بعد النقطة الأولى `." وأخيرًا، إذا كان اسم الجهاز لا يحتوي على جزء مجال، فسيتم تعيين المجال الجذر.

قائمة للبحث عن أسماء الآلات. يتم تحديد القائمة عادة من الاسم المحلياِختِصاص؛ بشكل افتراضي فإنه يحتوي على الاسم فقط المجال المحلي. يمكن أن تحتوي القائمة على نطاقات متعددة، والتي يجب أن تتبع الكلمة الأساسية للبحث ويتم فصلها بمسافات أو علامات تبويب. في معظم الحالات، إذا تم تحديد الطلب إلى محلل اسم قصيرالجهاز (بدون جزء المجال)، فسيتم إضافة كل مجال من القائمة المحددة إليه بدوره حتى يتم العثور على اسم جهاز مطابق تمامًا. لاحظ أن هذه العمليةقد تكون بطيئة وستؤدي إلى إنشاء حركة مرور كبيرة على الشبكة إذا كانت الخوادم التي تخدم النطاقات المدرجة ليست محلية، وستعرض هذه الطلبات خطأ انتهاء المهلة إذا كان الخادم الخاص بأحد النطاقات غير متاح. قائمة في هذه اللحظةيقتصر على ستة نطاقات، ويجب ألا يتجاوز إجمالي طول أسمائها 256 حرفًا.

يسمح بفرز العناوين التي يتم إرجاعها بواسطة gethostbyname(). يتم تحديد خيار قائمة الفرز باستخدام الزوج: عنوان IP/قناع الشبكة. قناع الشبكة اختياري؛ والقناع الافتراضي هو قناع الشبكة الحالي. يتم فصل أزواج عنوان IP وقناع الشبكة الاختياري بشرطة مائلة للأمام. يمكن تحديد ما يصل إلى 10 أزواج. مثال: قائمة الفرز 130.155.160.0/255.255.240.0 130.155.0.0

يسمح هذا الخيار بإجراء تغييرات على متغيرات محلل معينة. بناء الجملة هو:

خيار الخيارات... حيث يمكن أن يأخذ الخيار إحدى القيم التالية: debug --- يضبط RES_DEBUG على _res.options. ndots:n --- يعين الحد الأدنى لعدد النقاط التي يجب أن تكون في الاسم المحدد في res_query (راجع المحلل (@LIB_NETWORK_EXT@)) قبل إنشاء استعلام مطلق أولي. الافتراضي، n ``1""، يعني أنه إذا كانت هناك نقطة واحدة على الأقل في الاسم، فسوف يحاول التعامل مع هذا الاسم على أنه مطلق قبل إضافة عناصر من قائمة البحث إليه.

المجال والكلمات الرئيسية للبحث متنافية. إذا تم تحديد هاتين الكلمتين، فإن الكلمة المحددة الأخيرة ستعمل.

يجب أن تكون الكلمة الأساسية والقيمة على نفس السطر، وبالإضافة إلى ذلك، يجب أن تظهر الكلمة الأساسية (على سبيل المثال، خادم الأسماء) أولاً على السطر. ويجب فصل المعنى عنه الكلمة الرئيسيةفضاء.

مساء الخير، سأخبرك اليوم بكيفية إعداد DNS على خادم Ubuntu 14.04 LTS. أولاً النظرية: DNS عبارة عن خدمة خادم تحل اسم النطاقإلى عنوان IP. على سبيل المثال، سيتم تحويل www.example.com إلى 93.184.216.34. تحتوي سجلات DNS على عدة أنواع (الرئيسية: أ-سجل العنوان، AAAA-سجل عنوان IPv6، CNAME-سجل الاسم الكنسي، مكس-تبادل البريد، ن.س.-اسم الخادم، بتر-مؤشر، الخدمية-بداية السلطة).

فلنبدأ الآن في إعداد DNS. بادئ ذي بدء، أفترض أنك قمت بتثبيت خادم أوبونتو 14.04 LTS، تم تحديثه. للتحديث، قم بالتشغيل سطر الأوامرأمرين:

شقة-الحصول على التحديث

سودو ملائمة-الحصول على الترقية

بعد الانتهاء من التحديث، سنقوم بتثبيت خدمة Bind9.

Sudo apt-get install bind9

تم تثبيت Bind9 ولكن لم يتم تكوينه. دعونا تكوينه. لنوقف الخدمة:

توقف خدمة Sudo bind9

سنشير إلى العناوين التي ستستمع إليها Bind9 للطلبات ومكان إعادة التوجيه إذا لم تكن مسؤولة عن هذه المنطقة. للقيام بذلك، افتح الملف /etc/bind/named.conf.options

سودو نانو /etc/bind/named.conf.options

في عمود معيدي التوجيه، نشير إلى الخادم الذي يعيد توجيه الطلبات، وفي عمود الاستماع نشير إلى العناوين التي يجب أن يستجيب لها. يجب أن يبدو مثل هذا:

الخيارات (الدليل "/var/cache/bind"؛ // إذا كان هناك جدار حماية بينك وبين خوادم الأسماء انت تريد// للتحدث معه، قد تحتاج إلى إصلاح جدار الحماية للسماح لعدة منافذ // بالتحدث. راجع http://www.kb.cert.org/vuls/id/800113 // إذا كان مزود خدمة الإنترنت الخاص بك يقدم عنوان IP واحدًا أو أكثر لخوادم الأسماء // المستقرة، فمن المحتمل أنك تريد استخدامها كمعيدي توجيه. // إلغاء التعليق الأتىحاجز وإدراجالعناوين التي تحل محل // العنصر النائب للكل 0. // معيدي التوجيه ( // 0.0.0.0; // ); //==================== ================================================================================================== === = // إذا سجل BIND رسائل خطأ حول انتهاء صلاحية مفتاح الجذر، // فستحتاج إلى تحديث مفاتيحك، راجع https://www.isc.org/bind-keys //====== ============================================================================================== ======= ============ التحقق من صحة dnssec auto;

لاحظ السطر استمع على الإصدار 6 ( Any; ); إذا قمت بتمكين IPv6، فسوف يستمع Bind9 إلى جميع عناوين IPv6. إذا كنت بحاجة إلى تجنب ذلك، فقم بالتعليق على هذا السطر أو الإشارة إلى عنوان محدد. لا ينصح بالاستماع إلى كافة العناوين، خاصة تلك التي تنظر مباشرة إلى الإنترنت، حيث أن هناك الكثير من الهجمات عليها خوادم DNS.

لنقم الآن بتكوين المناطق التي سيديرها Bind9 الخاص بنا. للقيام بذلك، افتح الملف /etc/bind/named.conf.local

سودو نانو /etc/bind/named.conf.local

نكتب حسب المثال:

المنطقة "example.com" ( // المجال الذي سنديره من النوع الرئيسي؛ // النوع. Bind9 هو المجال الرئيسي وسيدير ​​الملف "/etc/bind/db.example.com"؛ // ملف يحتوي على المحتويات المجال ); Zone "0.168.192.in-addr.arpa" ( // السجل العكسي لنوع المجال الرئيسي؛ // النوع. Bind9 هو النوع الرئيسي وسيدير ​​الملف "/etc/bind/db.0.168.192"; / / ملف مع سجلات المجال الخلفي)؛

لنقم الآن بإنشاء ملف المنطقة:

سودو تاتش /etc/bind/db.example.com

سودو تاتش /etc/bind/db.0.168.192

في الملف /etc/bind/db.example.com، يجب علينا تسجيل مناطق البحث الأمامية والإشارة إلى خوادم NS، وإلى متى سنكون خادم NS لهذا المجال، يجب أن نشير إلى اسم مضيفنا. اسم مضيف الخادم الذي تم تعيينه أثناء التثبيت هو srv-bind9. املأ على النحو التالي:

; ملف بيانات BIND لواجهة الاسترجاع المحلية؛ $TTL 604800 @ IN SOA srv-bind9.example.com. root.srv-bind9.example.com. (// يرجى ملاحظة أن هناك نقطة في النهاية 20150120؛ المسلسل 604800؛ التحديث 86400؛ إعادة المحاولة 2419200؛ انتهاء الصلاحية 604800) ؛ ذاكرة التخزين المؤقت السلبية TTL؛ @ في NS srv-bind9.example.com. @ IN A 192.168.0.1 //حدد عنوان خادمنا @ IN AAAA::1 //حدد عنوان IPv6 لخادمنا، إن وجد. srv-bind9 في 192.168.0.1 // حدد عنوان خادمنا

لقد أنشأنا المنطقة الأمامية، والآن لنقم بإعداد المنطقة الخلفية. افتح الملف: /etc/bind/db.0.168.192 وقم بتكوينه وفقًا للمثال:

; BIND ملف البيانات العكسي لواجهة الاسترجاع المحلية؛ $TTL 604800 @ IN SOA srv-bind9.example.com. root.srv-bind9.example.com. (// لاحظ أن هناك نقطة في النهاية 20141126؛ المسلسل 604800؛ التحديث 86400؛ إعادة المحاولة 2419200؛ انتهاء الصلاحية 604800) ؛ ذاكرة التخزين المؤقت السلبية TTL؛ @ في NS srv-bind9. // برجاء ملاحظة وجود نقطة 1 في النهاية في PTR srv-bind9.example.com. // يشير العمود الأول إلى الرقم الأخير من عنوان IP. // يرجى ملاحظة أن هناك نقطة في النهاية

يبقى التحقق من صحة الإعدادات عن طريق تشغيل الأمر:

مسمى-checkconf

إذا لم تقل أي شيء، فهذا يعني أن كل شيء تم بشكل صحيح. ويمكنك تشغيل Bind9:

بدء تشغيل خدمة Sudo bind9

لقد انتهينا الآن من تثبيت وتكوين Bind9

واحد من خدمات مهمة، ضمان الأداء الإنترنت الحديثهي خدمة لتحويل اسم الموقع إلى عنوان IP. إعداد التنفيذ خدمة DNSسنعمل في هذه المقالة على مثال إعداد Bind 9 (المسمى) على خادم ضمن تشغيل CentOS 7. سنقوم بإعداد الحد الأدنى من الوظائف الأساسية الضرورية وننظر بشكل أعمق قليلاً في إعدادات التسجيل.

ربط- التطبيق الأكثر شيوعًا لخادم DNS اليوم، والذي يضمن تحويل عناوين IP إلى أسماء DNS والعكس. ويسمى أيضًا باسم، على سبيل المثال في Freebsd. إذا حكمنا من خلال المعلومات الواردة من ويكيبيديا، فإن 10 من أصل 13 خادم DNS جذري على الإنترنت تعمل الآن على الربط. يتم تثبيته خارج الصندوق في كل شيء تقريبًا توزيعات لينكس. سأفكر في تثبيته على خادم CentOS 7.

تثبيت Bind 9 (المسمى) على CentOS 7

أولاً، دعونا نتحقق مما إذا كان لدينا خادم DNS مثبت على النظام:

# rpm -qa bind* bind-libs-lite-9.9.4-14.el7.x86_64 bind-license-9.9.4-14.el7.noarch

لم أقم بتثبيته لأنني اخترته في ذلك الوقت الحد الأدنى من الحزمةالبرامج. سيعمل خادم الأسماء الخاص بنا في بيئة chroot، لذا قم بتثبيت الحزم المناسبة:

# yum - y install bind bind - utils bind - chroot

مرة أخرى، يرجى ملاحظة أننا سوف نستخدم bind in chrootالبيئة لزيادة الأمن. وهذا يفرض ميزات معينة في إعداد وإدارة الخادم. عليك أن تكون حذرا في هذه الأشياء الصغيرة. لذلك، دعونا تشغيل ربط:

#بدء تشغيل النظام name-chroot# تمكين النظام name-chroot ln -s "/usr/lib/systemd/system/named-chroot.service" "/etc/systemd/system/multi-user.target.wants/named-chroot.service"

التحقق من محتويات دليل chroot:

# ls -l /var/named/chroot/etc

كل شيء على ما يرام، لقد بدأ الخادم، الملفات الضروريةتم إنشاؤه، كل شيء جاهز للتكوين. دعونا نعتني بالأمر.

إعداد خادم DNS في CentOS 7

يوجد ملف تكوين الخادم الخاص بنا في /var/named/chroot/etc/named.conf. نفتحه ونحضره العرض التالي:

# خيارات mcedit /var/named/chroot/etc/named.conf (منفذ الاستماع 53 (any; ); منفذ الاستماع on-v6 53 ( none; ); الدليل "/var/named"; ملف التفريغ " /var/named/data/cache_dump.db";allow-query ( 127.0.0.1; 192.168.7.0/24; ); العودية نعم; السماح بالعودية ( 127.0.0.1; 192.168.7.0/24; ); معيدي التوجيه ( 8.8 .8.8); الإصدار "خادم DNS"; دليل المفاتيح المُدارة "/var/named/dynamic"; "؛ رقم تمكين DNSsec؛ رقم التحقق من DNSsec؛ ); منطقة "." IN (اكتب تلميح؛ ملف "named.ca"؛ ); تضمين "/etc/named.rfc1912.zones"؛ تضمين "/etc/named.root.key"؛ التسجيل (ملف القناة الافتراضي (ملف "/var/log/named/default.log" الإصدار 3 الحجم 5 م؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛ )؛ الفئة الافتراضية (default_file؛ )؛

سيضمن هذا التكوين تشغيل خادم التخزين المؤقت العادي شبكه محليه. تعليقات على بعض المعلمات:

لا تنس تعديل قواعد جدار الحماية لـ العملية الصحيحةخوادم DNS - مفتوحة 53 منفذ UDPلتشغيل خادم التخزين المؤقت الذي قمنا بتكوينه الآن، و53 منفذ تي سي بيلمناطق الشحن التي سنتحدثإضافي

الآن لنقم بإنشاء مجلد للسجلات. لا تنس أننا نعمل في بيئة chroot:

# cd /var/named/chroot/var/log && mkdir المسمى && chown المسمى. اسم الشيئ

دعم المنطقة الخاصة

لنفترض أننا بحاجة إلى وضع منطقتنا site1.ru في اسمنا. أولًا، نقوم بإنشاء ملف المنطقة الذي سيخدمه خادم DNS:

# mcedit /var/named/chroot/var/named/site1.ru.zone $TTL 86400 @ IN SOA site1.ru. site1.ru.local. (2015092502 43200 3600 3600000 2592000) في NS ns1.site1.ru. في NS ns2.site1.ru. في 192.168.7.254 في MX 10 mx.site1.ru. بوابة في 192.168.7.254 م × في 192.168.7.250 ns1 في 192.168.7.235 ns2 في 192.168.7.231

إن وصف بناء جملة ملفات المنطقة مغطى جيدًا على الإنترنت، ولا أريد الخوض في هذا الأمر بالتفصيل. إذا رغبت في ذلك، يمكن للجميع معرفة ما إذا كانوا بحاجة إلى تكوين الدعم لمنطقتهم الخاصة.

نحن نعرض الحقوق الضرورية:

# جذر chown: اسمه /var/named/chroot/var/named/site1.ru.zone # chmod 0640 /var/named/chroot/var/named/site1.ru.zone

المنطقة "site1.ru" (اكتب الملف الرئيسي؛ الملف "site1.ru.zone"؛ );

نعيد قراءة التكوين المسمى باستخدام rndc:

# إعادة تكوين rndc

إضافة إلى ربط منطقة الرقيق

إذا كنت تريد الاحتفاظ بنسخة من منطقة مأخوذة من خادم DNS آخر على الخادم الخاص بك، فقم بإضافة الإعدادات التاليةفي التكوين.

المنطقة "site.ru" IN (اكتب التابع; الماجستير (10.1.3.4; ); الملف "site.ru.zone"; );

10.1.3.4 - عنوان IP لخادم DNS الذي نأخذ منه المنطقة. لا تنس السماح بنقل المنطقة إلى خادم DNS الخاص بك.

تحتاج إلى إضافة إذن الكتابة إلى المجموعة المسماة بحيث تبدو كما يلي:

بعد ذلك، يمكنك إعادة تشغيل الربط والتحقق من إنشاء ملف المنطقة التابعة. مع الإعدادات المذكورة أعلاه، سيكون موجودا في /var/named/chroot/var/named/site.ru.zone. إذا لم يكن لدى bind حقوق إنشاء ملف، فسوف تتلقى خطأ في السجل:

تفريغ الملف الرئيسي: tmp-7Swr6EZpcd: مفتوح: تم رفض الإذن

من المثير للاهتمام والمفيد فهم التسجيل التفصيلي لتشغيل الخادم. لقد استحوذت لفترة طويلة بشكل سطحي على جميع أنواع التوصيات وأجزاء من عينات التكوين على الإنترنت، حتى قررت التعامل مع هذا الموضوع بنفسي ونظرت في الدليل الأصلي.

ربط يعطي فرص وافرةللتسجيل. يمكنك تسجيل كل ما يتعلق بتشغيل الخادم تقريبًا. أنا عليه الآن أمثلة بسيطةسأريكم كيف يعمل.

أولاً، في التكوين، قمنا بتعيين القناة حيث سيتم تخزين سجلات أحداث معينة. فيما يلي مثال على هذه القناة:

القناة العامة (ملف "/var/log/named/general.log" الإصدارات 3 الحجم 5M؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛

يُشار هنا إلى اسم القناة، الذي توصلنا إليه بأنفسنا - بشكل عام، يُشار إلى المسار إلى الملف، ويُقال أننا سنقوم بتخزين 3 إصدارات من السجل لا يزيد حجمها عن 5 ميغابايت. معامل خطورةيمكن أن تأخذ القيم التالية:

معامل وقت الطباعةيشير إلى أنه يجب تسجيل وقت الحدث في السجل. بالإضافة إلى الإعدادات التي حددتها، يمكن إضافة المعلمات التالية إلى تكوين القناة:

  • شدة الطباعةنعم | no — يحدد ما إذا كان سيتم كتابة معلمة الخطورة في السجل أم لا
  • فئة الطباعةنعم | no — يشير إلى ما إذا كان سيتم كتابة اسم فئة السجل أم لا

لم أحدد هذه المعلمات، حيث تم تعيين القيمة الافتراضية على لا، وهو ما يناسبني شخصيا.

الفئة عام ( عام؛ );

وصف فئات السجل في الرابط (مسمى)
تقصيرتقع أحداث جميع الفئات من هذا الجدول هنا إذا لم يتم تعريفها بشكل منفصل، باستثناء فئة الاستعلامات، التي يجب تضمينها على وجه التحديد. وهذا يعني أنه إذا قمت بتعيين الفئة الافتراضية فقط، فسوف تتدفق إليها أحداث جميع الفئات.
عامهذه الفئة مخصصة لكافة السجلات التي لم يتم تضمينها في أي من الفئات المدرجة.
قاعدة البياناتالرسائل المتعلقة بتخزين المنطقة والتخزين المؤقت.
حمايةتأكيد ورفض الطلبات.
التكوينكل ما يتعلق بقراءة وتنفيذ ملف التكوين.
محللتحليل الاسم، بما في ذلك معلومات حول الاستعلامات العودية التي يتم إجراؤها نيابة عن العميل بواسطة خادم التخزين المؤقت.
xfer-inمعلومات حول الحصول على المناطق.
xfer-outمعلومات حول مناطق النقل.
يخطرتسجيل عمليات بروتوكول NOTIFY.
عميلتلبية طلبات العملاء.
لا مثيل لهالرسائل التي تم تسميتها لا يمكن تعيينها لأي فئة أو التي لم يتم تحديد أي تعيين لها.
شبكةتسجيل عمليات الشبكة.
تحديثالتحديثات الديناميكية.
تحديث الأمنتأكيد أو رفض طلبات التحديث.
الاستعلاماتتسجيل الطلبات إلى خادم DNS. لتمكين هذه الفئة، يجب عليك تعيين المعلمة بشكل منفصل في تكوين الخادم. ويرجع ذلك إلى حقيقة أن هذه الفئة تولد الكثير من الإدخالات في ملف السجل، مما قد يؤثر على أداء الخادم.
أخطاء الاستعلامأخطاء في الطلبات المقدمة إلى الخادم.
إرسالإعادة توجيه الحزم الواردة إلى وحدات الخادم للمعالجة.
com.dnssecتشغيل بروتوكولات DNSSEC وTSIG.
خوادم عرجاءالأخطاء الثابتة التي تربط الاستلام عند الوصول الخوادم البعيدةفي محاولة لحل طلب تحليل الاسم.
التفويض فقططلبات التسجيل التي قامت بإرجاع NXDOMAIN.
edns-معطلالطلبات التي تضطر إلى استخدام DNS العادي بسبب تجاوز المهلات.
آر بي زيجميع العمليات المتعلقة بتنفيذ منطقة سياسة الاستجابة (RPZ).
حدود التقييمالعمليات المتعلقة بواحد أو أكثر من بيانات حد السعر في الخيارات أو العرض.

وبالتالي، لعرض كافة فئات السجل في ملفات منفصلة، فأنت بحاجة إلى إضافة البنية التالية إلى التكوين المسمى:

التسجيل (القناة الافتراضية (إصدارات الملف "/var/log/named/default.log" 3 بحجم 5m؛ ديناميكية الخطورة؛ وقت الطباعة نعم؛ )؛ إصدارات القناة العامة (إصدارات الملف "/var/log/named/general.log" 3 حجم 5M؛ وقت الطباعة نعم؛ /var/log/named/security.log" الإصدارات 3 الحجم 5M؛ ديناميكي الخطورة؛ وقت الطباعة نعم؛ ); تكوين القناة (ملف "/var/log/ الإصدارات المسماة/config.log" 3 الحجم 5m؛ ديناميكية الخطورة؛ وقت الطباعة نعم؛ ); محلل القناة (ملف "/var/log/named/resolver.log" الإصدارات 3 الحجم 5m؛ ديناميكية الخطورة؛ وقت الطباعة نعم؛ ); /xfer-out.log" الإصدارات 3 الحجم 5 م؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛ )؛ إعلام القناة (ملف "/var/log/named/notify.log" الإصدارات 3 الحجم 5 م؛ الخطورة ديناميكية؛ وقت الطباعة نعم ); /client.log" الإصدارات 3 بحجم 5 م؛ ديناميكية الشدة وقت الطباعة نعم؛ ); قناة غير متطابقة (ملف "/var/log/named/unmatched.log" الإصدارات 3 الحجم 5m؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛ ); شبكة القنوات (ملف "/var/log/named/network.log" الإصدارات 3 الحجم 5M؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛ )؛ تحديث القناة (ملف "/var/log/named/update.log" الإصدارات 3 الحجم 5m؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛ ); أمان تحديث القناة (الإصدارات "/var/log/named/update-security.log" الإصدار 3 الحجم 5m؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛ ); استعلامات القناة (ملف "/var/log/named/queries.log" الإصدارات 3 الحجم 5M؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛)؛ أخطاء استعلام القناة (الإصدارات "/var/log/named/query-errors.log" الإصدار 3 الحجم 5m؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛ ); إرسال القناة (ملف "/var/log/named/dispatch.log" الإصدارات 3 الحجم 5m؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛ ); قناة dnssec (ملف "/var/log/named/dnssec.log" الإصدار 3 الحجم 5m؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛ ); خوادم القناة الضعيفة (ملف "/var/log/named/lame-servers.log" الإصدارات 3 الحجم 5M؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛)؛ تفويض القناة فقط (ملف "/var/log/named/delegation-only.log" الإصدارات 3 الحجم 5m؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛ ); قناة edns-disabled (ملف "/var/log/named/edns-disabled.log" الإصدارات 3 الحجم 5m؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛ ); قناة rpz (ملف "/var/log/named/rpz.log" الإصدارات 3 الحجم 5m؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛ ); حد معدل القناة (ملف "/var/log/named/rate-limit.log" الإصدارات 3 الحجم 5m؛ الخطورة ديناميكية؛ وقت الطباعة نعم؛ ); الفئة الافتراضية (افتراضي؛)؛ فئة عامة(عامة؛); قاعدة بيانات الفئة (قاعدة البيانات؛) ؛ أمان الفئة ( الأمان؛ ) ؛ تكوين الفئة(التكوين;); محلل الفئة (محلل؛)؛ فئة xfer-in ( xfer-in; ); فئة xfer-out ( xfer-out; ); إخطار الفئة (إخطار؛) ؛ عميل الفئة (العميل؛) ؛ فئة لا مثيل لها ( لا مثيل لها؛ ); شبكة الفئة ( شبكة؛ ) ؛ تحديث الفئة(update;); فئة أمان التحديث ( أمان التحديث؛ ) ؛ استعلامات الفئة ( استعلامات؛ ); أخطاء استعلام الفئة ( أخطاء الاستعلام؛ )؛ إرسال الفئة (إرسال؛) ؛ فئة DNSsec ( dnssec; ); فئة الخوادم العرجاء ( الخوادم العرجاء؛ ) ؛ فئة التفويض فقط ( التفويض فقط; ); فئة edns معطل ( edns-disabled; ); الفئة rpz ( rpz; ); حد معدل الفئة ( حد المعدل؛ ) ؛ );

إذا أردنا جمع كل سجلات الطلبات من فئة ما الاستعلامات، ثم في قسم الخياراتفي ملف التكوين، تحتاج إلى إضافة معلمة تسمح بذلك:

سجل الاستعلام نعم؛

إعادة تشغيل الربط:

# إعادة تشغيل systemctl المسمى chroot.service

التحقق من تشغيل خادم DNS

أولاً، دعنا نذهب إلى الدليل الذي يحتوي على السجلات ونتحقق مما لدينا هناك:

# cd /var/named/chroot/var/log/named # ls -l

تم إنشاء جميع ملفات السجل وبدأت في الامتلاء. يمكنك التحقق من واحد منهم. على سبيل المثال، دعونا نرى كيف لدينا خادم سنتوس(192.168.7.246) يسجل طلبات المستخدم. دعنا نحاول تشغيل nslookup yandex.ru من جهاز الكمبيوتر 192.168.7.254 (Windows) ونرى كيف ينعكس ذلك في ملف السجل:

26 سبتمبر 2015 19:25:30.923 العميل 192.168.7.254#56374 (yandex.ru): الاستعلام: yandex.ru IN A + (192.168.7.246) 26 سبتمبر 2015 19:25:31.013 العميل 192.168.7.254# 56375 (yandex.ru): الاستعلام: yandex.ru IN AAAA + (192.168.7.246)

لنقم الآن باختبار اتصال site1.ru للتحقق من مدى دعم الخادم لمنطقتنا:

دعونا نرى ما هو موجود في السجلات:

26 سبتمبر 2015 19:28:01.660 العميل 192.168.7.254#49816 (site1.ru): الاستعلام: site1.ru IN A + (192.168.7.246)

وهذا يجعل من السهل جدًا تتبع اتجاه الكمبيوتر. على سبيل المثال، يمكنك رفع خادم DNS مؤقتًا وتمكين سجل الاستعلام. في العميل، حدد خادم DNS الوحيد الذي قمنا بتكوينه. ومن ثم يمكننا، على سبيل المثال، تتبع أين يذهب Windows بعد التحميل دون علمنا. أو حيث يتم تحميل الإعلانات على Skype. سيتم تجميع جميع الطلبات بدقة في ملف، والذي يمكن بعد ذلك تحليله بسهولة، ثم، على سبيل المثال، .

هذا كل ما أردت فيه هذه المادةيخبر. موضوع ربط الإعداد (المسمى) واسع جدًا. ربما سأعود إليها مرة أخرى.

دورة عبر الإنترنت "مسؤول Linux"

إذا كانت لديك الرغبة في تعلم كيفية بناء وصيانة أنظمة متوفرة وموثوقة للغاية، فإنني أنصحك بالتعرف على دورة على شبكة الإنترنت " مسؤول لينكس» في أوتوس. الدورة ليست للمبتدئين، للقبول الذي تحتاجه معرفة أساسيةعبر الشبكات و تثبيت لينكسإلى الجهاز الظاهري. يستمر التدريب لمدة 5 أشهر، وبعدها سيتمكن خريجو الدورة الناجحون من إجراء مقابلات مع الشركاء. اختبر نفسك ل أختبار الدخولوانظر البرنامج لمزيد من التفاصيل.

هناك طرق عديدة لتكوين BIND9. التكوينات الأكثر شيوعًا هي خادم أسماء للتخزين المؤقت، وخادم رئيسي أساسي، وخادم رئيسي ثانوي.

    عندما يتم تكوين BIND9 كخادم تخزين مؤقت، فإنه يبحث عن إجابات لاستعلامات الأسماء ويتذكر الإجابة في حالة ظهور الاستعلام مرة أخرى.

    باعتباره المعلم الأساسي، يقرأ BIND9 بيانات المنطقة من ملف محليوهو المسؤول عن هذه المنطقة.

    بصفته خادمًا رئيسيًا ثانويًا، يتلقى BIND9 بيانات المنطقة (ككل) من خادم اسم آخر مسؤول عن تلك المنطقة.

مراجعة

يتم تخزين ملفات تكوين DNS في الدليل /etc/bind. ملف التكوين الرئيسي هو /etc/bind/named.conf.

سلاسل يشملتحديد أسماء الملفات التي تحتوي على خيارات DNS. خط الدليليخبر الملف /etc/bind/named.conf.options DNS بمكان البحث عن الملفات. جميع الملفات التي يستخدمها BIND ستكون مرتبطة بهذا الدليل.

يصف الملف المسمى /etc/bind/db.root خوادم الجذرأسماء في العالم. تتغير الخوادم بمرور الوقت، لذلك يجب صيانة الملف /etc/bind/db.root بين الحين والآخر. يحدث هذا عادةً كتحديث لحزمة bind9. قسم منطقةيحدد الخادم الرئيسي ويتم حفظه في الملف المحدد بواسطة الخيار ملف.

من الممكن تكوين خادم واحد كخادم أسماء للتخزين المؤقت، وخادم رئيسي أساسي، وخادم رئيسي ثانوي في نفس الوقت. يمكن أن يكون الخادم هو مصدر الترخيص (SOA) لمنطقة ما بينما يوفر خدمة ثانوية لمنطقة أخرى. وفي نفس الوقت توفير خدمة التخزين المؤقت على الشبكة المحلية (LAN).

التخزين المؤقت لخادم الاسم

افتراضيًا، يتم تعيين التكوين للعمل كخادم تخزين مؤقت. كل ما عليك فعله هو إضافة IP عناوين DNSخوادم مزود الإنترنت الخاص بك. ما عليك سوى إلغاء التعليق وتصحيح ما يلي في /etc/bind/named.conf.options:

وكلاء الشحن ( 1.2.3.4; 5.6.7.8; );

يستبدل 1.2.3.4 و 5.6.7.8 إلى عناوين IP الحالية لخوادم الأسماء.

الآن نقوم بإعادة تشغيل خادم DNS للتطبيق التكوين الجديد. اكتب في المحطة:

إعادة تشغيل خدمة Sudo bind9

يفضل العديد من المسؤولين استخدام التاريخ التعديل الأخيركمنطقة تسلسلية بالشكل 2012010100، والذي يتوافق مع التنسيق yyyymmddss (حيث ss هو الرقم التسلسلي [في اليوم]).

بمجرد إجراء تغييرات على ملف المنطقة، تحتاج إلى إعادة تشغيل BIND9 لتطبيق التغييرات:

إعادة تشغيل خدمة Sudo bind9

عكس ملف المنطقة

الآن بعد أن تم إنشاء المنطقة وحل الأسماء لعناوين IP، نحتاج إلى إنشاء منطقة عكسية أيضًا. تسمح المنطقة العكسية لـ DNS بتحديد اسم بناءً على عنوان IP.

قم بتحرير /etc/bind/named.conf.local وأضف ما يلي:

المنطقة "1.168.192.in-addr.arpa" (اكتب الملف الرئيسي؛ الملف "/etc/bind/db.192"؛ );

استبدل 1.168.192 بالثمانيات الثلاثة الأولى من عنوان الشبكة التي تستخدمها. قم أيضًا بتسمية ملف المنطقة /etc/bind/db.192 وفقًا لذلك. يجب أن يتطابق مع الثماني بتات الأولى من شبكتك.

الآن قم بإنشاء الملف /etc/bind/db.192:

سودو cp /etc/bind/db.127 /etc/bind/db.192

; ; BIND ملف البيانات العكسي لشبكة 192.168.1.XXX المحلية؛ $TTL 604800 @ في SOA ns.example.com. root.example.com. (2؛ المسلسل 604800؛ التحديث 86400؛ إعادة المحاولة 2419200؛ انتهاء الصلاحية 604800) ؛ ذاكرة التخزين المؤقت السلبية TTL؛ @ في NS NS. 10 في PTR ns.example.com.

يجب أيضًا زيادة الرقم التسلسلي الموجود في المنطقة العكسية مع كل تغيير. لكل إدخال A تقوم بتكوينه في /etc/bind/db.example.com إلى عنوان مختلف، يجب عليك إنشاء إدخال PTR في /etc/bind/db.192.

بعد إنشاء ملف المنطقة العكسية، أعد تشغيل BIND9:

إعادة تشغيل خدمة Sudo bind9

سيد ثانوي

نظرًا لتكوين السيد الأساسي، يلزم وجود سيد ثانوي للحفاظ على المجال عندما يكون السيد الأساسي غير متاح.

أولاً، تحتاج إلى تمكين نقل المنطقة على السيد الأساسي. أضف خيار السماح بالنقل إلى تعريفات المنطقة الأمامية والخلفية في /etc/bind/named.conf.local:

المنطقة "example.com" (اكتب الرئيسي؛ الملف "/etc/bind/db.example.com"؛ السماح بالنقل (192.168.1.11؛ )؛)؛ المنطقة "1.168.192.in-addr.arpa" (اكتب الملف الرئيسي؛ الملف "/etc/bind/db.192"؛ السماح بالنقل (192.168.1.11؛ )؛)؛

استبدل 192.168.1.11 بعنوان IP الخاص بخادم الأسماء الثانوي.

لنعد تشغيل BIND9 على السيد الأساسي:

المنطقة "example.com" (اكتب التابع؛ الملف "db.example.com"؛ الماجستير (192.168.1.10؛ )؛)؛ المنطقة "1.168.192.in-addr.arpa" (اكتب التابع؛ الملف "db.192"؛ الماجستير (192.168.1.10؛ )؛)؛

استبدل 192.168.1.10 بعنوان IP الخاص بخادم الأسماء الأساسي الخاص بك.

إعادة تشغيل BIND9 على السيد الثانوي:

إعادة تشغيل خدمة Sudo bind9

في /var/log/syslog يجب أن تكون قادرًا على رؤية شيء مثل هذا (تم تقسيم بعض الأسطر لتناسب تنسيق المستند):

العميل 192.168.1.10#39448: تلقى إشعارًا للمنطقة "1.168.192.in-addr.arpa" المنطقة 1.168.192.in-addr.arpa/IN: بدأ النقل. نقل "100.18.172.in-addr.arpa/IN" من 192.168.1.10#53: متصل باستخدام 192.168.1.11#37531 منطقة 1.168.192.in-addr.arpa/IN: نقل تسلسلي 5 من "100.18. 172.in-addr.arpa/IN" من 192.168.1.10#53: اكتمل النقل: رسالة واحدة، 6 سجلات، 212 بايت، منطقة 0.002 ثانية (106000 بايت/ثانية) 1.168.192.in-addr.arpa/IN: إرسال إشعارات (المسلسل 5) للعميل 192.168.1.10#20329: تم استلام إشعار للمنطقة "example.com" example.com/IN: بدأ النقل. نقل "example.com/IN" من 192.168.1.10#53: متصل باستخدام 192.168.1.11#38577 منطقة example.com/IN: نقل النقل التسلسلي 5 لـ "example.com/IN" من 192.168.1.10#53: نقل مكتمل: رسالة واحدة، 8 سجلات، 225 بايت، 0.002 ثانية (112500 بايت/ثانية)

يرجى ملاحظة أن نقل المنطقة لن يحدث إلا في حالة تشغيل الرقم التسلسلي الخادم الأساسيالمزيد من القيمة على الثانوية. إذا كنت تريد الابتدائية سيد DNSإخطار خادم DNS الثانوي حول تغيير المنطقة، يمكنك إضافة أيضًا-إخطار(ipaddress;);في /etc/bind/named.conf.local كما هو موضح في المثال أدناه: المنطقة "example.com" (اكتب الرئيسي؛ الملف "/etc/bind/db.example.com"؛ السماح بالنقل (192.168.1.11؛ ) أيضًا - إخطار ( 192.168.1.11 ؛ ) ؛ المنطقة "1.168.192.in-addr.arpa" (اكتب الرئيسي؛ ملف "/etc/bind/db.192"؛ السماح بالنقل ( 192.168.1.11؛ )؛ إعلام أيضًا ( 192.168.1.11؛ )؛ ) ؛

افتراضيًا، يستخدم FreeBSD أحد ملفات BIND (Berkeley Internet اسم المجال)، وهو التطبيق الأكثر شيوعًا لبروتوكول DNS. DNS هو بروتوكول يقوم بتحليل الأسماء إلى عناوين IP والعكس. على سبيل المثال، سيؤدي طلب www.FreeBSD.org إلى إرجاع عنوان IP الخاص بخادم الويب الخاص بمشروع FreeBSD، وسيقوم طلب ftp.FreeBSD.org بإرجاع عنوان IP الخاص بالجهاز المقابل من خادم بروتوكول نقل الملفات. بالضبط نفس الشيء يحدث عملية عكسية. سيؤدي الاستعلام الذي يحتوي على عنوان IP الخاص بالجهاز إلى إرجاع اسم المضيف. لإجراء استعلامات DNS، ليس من الضروري أن يكون لديك خادم أسماء قيد التشغيل على النظام.

يأتي FreeBSD حاليًا مزودًا بخادم BIND 9 DNS الذي يوفر إعدادات أمان متقدمة، مخطط جديدمواقع ملفات التكوين و الإعدادات التلقائيةل جروت (8) .

متصل DNS الإنترنتتسيطر عليها من خلال ما يكفي نظام معقدخوادم الأسماء الجذرية المعتمدة، وخوادم نطاق المستوى الأعلى (TLD)، وخوادم الأسماء الأصغر الأخرى التي تحتوي على معلومات حول نطاقات محددة وتخزينها مؤقتًا.

تتم صيانة حزمة BIND حاليًا بواسطة اتحاد برامج الإنترنت http://www.isc.org/.