الفهرس العام للسلسلة: شبكات الحاسوب للمؤسسات الصغيرة والمتوسطة: مقدمة
أهلاً أصدقائي! في هذه المقالة، سنرى كيفية تنفيذ خدمات الشبكات المهمة لـ DNS و DHCP في CentOS Linux، وتحديداً الإصدار 7.2.
- تشير بعض المقالات حول DNS إلى حقيقة أن تنفيذ هذه الخدمة غامض وصعب بعض الشيء. أنا لا أتفق كثيرا مع هذا البيان. أفضل أن أقول أنه مفهوم إلى حد ما وأن العديد من ملفات التكوين الخاصة به تحتوي على بناء جملة صعب. لحسن الحظ ، لدينا أدوات للتحقق ، خطوة بخطوة ، من بناء جملة كل ملف تكوين نقوم بتعديله. لذلك ، سنحاول أن نجعل قراءة هذا المنشور أمرًا ممتعًا وممتعًا قدر الإمكان..
لأولئك الذين يبحثون عن مفاهيم أساسية حول كلتا الخدمتين ، نوصي بشدة أن تبدأ البحث على ويكيبيديا ، في كل من النسختين الإسبانية والإنجليزية. لا يقل صحة أن المقالات باللغة الإنجليزية تكون دائمًا أكثر اكتمالًا وتماسكًا. مع ذلك ، تعد ويكيبيديا نقطة انطلاق جيدة جدًا.
أولئك الذين يرغبون حقًا في التعرف على DNS و BIND ينصحون بقراءة كتاب " OReilly – DNS and BIND 4th ed " الذي كتبه بول ألبيتز وكريكت ليو ، أو طبعة لاحقة موجودة بالتأكيد.
لقد نشرنا سابقًا مقالًا حول هذا الموضوع بعنوان " نظام أسماء النطاقات (DNS) وبروتوكول التكوين الديناميكي للمضيف (DHCP) في نظام openSUSE 13.2 Harlequin - شبكات الشركات الصغيرة والمتوسطة " لمن يفضلون بيئة رسومية. مع ذلك، ستجدون في المقالات القادمة حول هذا الموضوع - دون غيره - مكتوبة باستخدام مكثف لواجهة سطر الأوامر أو محاكي وحدة التحكم. بعبارة أخرى، بالأسلوب الكلاسيكي الذي يستخدمه مديرو أنظمة UNIX®/Linux.
إذا كنت ترغب في معرفة المزيد عن موضوع عنوان هذه المقالة، " شبكات الشركات الصغيرة والمتوسطة "، يمكنك زيارة صفحة " شبكات الشركات الصغيرة والمتوسطة: النسخة الافتراضية الأولى " على نفس المدونة . ستجد هناك روابط للعديد من المقالات المنشورة الأخرى.
- بعد الانتهاء من تثبيت نظام التشغيل CentOS 7 بالحزم التي نوصي بها ، eدليل ل /usr/share/doc/bind-9.9.4/ يحتوي على قدر لا بأس به من الوثائق التي نوصي بأن تستشيرها قبل الخوض في البحث على الإنترنت دون أن تعرف أولاً أنه في متناول يدك وفي منزلك ، يمكنك العثور على ما تبحث عنه.
تركيب النظام الأساسي
البيانات العامة للمجال وخادم DNS
اسم النطاق: desdelinux.معجب اسم خادم DNS: نظام أسماء النطاقات.desdelinux.معجب عنوان IP: 192.168.10.5 قناع الشبكة الفرعية: 255.255.255.0
تركيب
نبدأ بتثبيت جديد أو نظيف لنظام التشغيل CentOS 7، كما هو موضح في المقال السابق " CentOS 7 Hypervisor I – شبكات الشركات الصغيرة والمتوسطة ". كل ما نحتاجه هو إجراء التغييرات التالية:
- في IMAGEN 22 «اختيار البرنامج«، نوصي بالاختيار في العمود الأيمن«بيئة القاعدة»الخيار المقابل لـ«خادم البنية التحتية«، أثناء التواجد في العمود الأيمن«الإضافات لبيئة مختارة»حدد خانة الاختيار«خادم اسم DNS«. سنقوم بتثبيت خادم DHCP لاحقًا.
- دعونا نتذكر إعلان المستودعات الإضافية كما هو موضح في ملف IMAGEN 23، بعد ضبط «اسم الشبكة والفريق".
- الصور التي تشير إلى الأقسام التي سنقوم بإنشائها على محرك الأقراص الثابتة يتم تقديمها فقط كدليل. لا تتردد في تحديد الأقسام وفقًا لتقديرك وممارستك وحكمك الجيد.
- أخيرًا ، في صورة 13 «NETWORK & TEAM NAME»، يجب تغيير القيم وفقًا للمعايير العامة للمجال المعلن وخادم DNS ، دون أن ننسى تحديد اسم المضيف - في هذه الحالة «DNS«- بعد اكتمال تكوين الشبكة. من الإيجابي القيام به بينغ -من مضيف آخر- إلى عنوان IP المحدد بعد تنشيط الشبكة:
هناك تغييرات قليلة وواضحة جدًا يجب أن نجريها فيما يتعلق بالمقال السابق.
الفحوصات والتعديلات الأولية
بعد تثبيت نظام التشغيل يجب مراجعة الملفات التالية على الأقل ، ولهذا نبدأ جلسة عبر SSH من جهاز الكمبيوتر الخاص بنا مسؤول النظام.desdelinux.معجب:
buzz @ sysadmin: ~ 192.168.10.5 دولار أمريكي [البريد الإلكتروني محمي]كلمة مرور المستخدم: آخر تسجيل دخول: السبت 28 يناير 2017، الساعة 09:48:05 من 192.168.10.1 [buzz @ dns ~] $
قد تستغرق العملية المذكورة أعلاه وقتًا أطول من المعتاد ، ويرجع ذلك أساسًا إلى حقيقة أنه ليس لدينا حتى الآن DNS على الشبكة المحلية. تحقق مرة أخرى لاحقًا من أن DNS يعمل.
[buzz @ dns ~] $ cat / etc / hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: 1 localhost localhost.localdomain localhost6 localhost6.localdomain6 [buzz @ dns ~] $ cat / etc / hostname DNS [buzz @ dns ~] $ cat / etc / sysconfig / network-scripts / ifcfg-eth0 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eth0 UUID=946f5ac9-238a-4a94-9acb-9e3458c680fe DEVICE=eth0 ONBOOT=yes IPADDR=192.168.10.5 PREFIX=24 GATEWAY=192.168.10.1 DNS1=127.0.0.1 DOMAIN=desdelinux.fan [buzz @ dns ~] $ cat /etc/resolv.conf # تم إنشاؤها بواسطة بحث NetworkManager desdelinuxخادم أسماء المعجبين 127.0.0.1
تعكس الإعدادات الرئيسية اختياراتنا. تجدر الإشارة إلى أنه حتى على خادم Red Hat 7 – CentOS 7 ، يتم تكوين NetworkManager افتراضيًا لإدارة واجهات الشبكة، سواء كانت سلكية أو لاسلكية (WiFi)، واتصالات VPN، واتصالات PPPoE، وأي اتصال شبكي آخر.
[buzz @ dns ~] $ sudo systemctl status networkmanager [sudo] كلمة مرور الطنانة: ● networkmanager.service Loaded: not-found (السبب: لا يوجد مثل هذا الملف أو الدليل) نشط: غير نشط (ميت) [buzz @ dns ~] $ sudo systemctl status NetworkManager ● NetworkManager.service - مدير الشبكة الذي تم تحميله: تم تحميله (/usr/lib/systemd/system/NetworkManager.service ؛ مُمكّن ؛ الإعداد المسبق للمورد: ممكّن) نشط: نشط (قيد التشغيل) منذ السبت 2017-01-28 12:23:59 EST ؛ منذ 12 دقيقة معرّف PID الرئيسي: 705 (مدير الشبكة) CGroup: / system.slice/NetworkManager.service └─705 / usr / sbin / NetworkManager - no-daemon
يُتيح لك نظام التشغيل Red Hat – CentOS أيضًا توصيل وفصل واجهات الشبكة باستخدام أوامر `ifup` و` ifdown` الكلاسيكية . لنُشغّل الأوامر التالية في وحدة تحكم الخادم:
[root @ dns ~] # ifdown eth0 تم قطع اتصال الجهاز "eth0" بنجاح. [root @ dns ~] # ifup eth0 تم تفعيل الاتصال بنجاح (مسار D-Bus النشط: / org / freedesktop / NetworkManager / ActiveConnection / 1)
- نقترح لا تقم بتغيير الإعدادات الافتراضية التي يقدمها CentOS 7 فيما يتعلق مدير الشبكة.
نعلن بشكل قاطع عن المستودعات التي سنستخدمها ونحدّث نظام التشغيل إذا لزم الأمر:
[buzz @ dns ~] $ su كلمة المرور: [root @ dns buzz] # cd /etc/yum.repos.d/ [root @ dns yum.repos.d] # ls -l مجموع 28 -rw-r - r--. 1 جذر 1664 ديسمبر 9 2015 CentOS-Base.repo -rw-r - r--. 1 root root 1309 Dec 9 2015 CentOS-CR.repo -rw-r - r--. 1 جذر الجذر 649 ديسمبر 9 2015 CentOS-Debuginfo.repo -rw-r - r--. 1 جذر 290 ديسمبر 9 2015 CentOS-fasttrack.repo -rw-r - r--. 1 جذر الجذر 630 ديسمبر 9 2015 CentOS-Media.repo -rw-r - r--. 1 جذر الجذر 1331 9 ديسمبر 2015 CentOS-Sources.repo -rw-r - r--. 1 جذر 1952 9 ديسمبر 2015 CentOS-Vault.repo
من الجيد قراءة محتويات ملفات الإعلان الأصلية للمستودعات الموصى بها من قبل CentOS. ترجع التغييرات التي نجريها هنا إلى حقيقة أننا لا نملك إمكانية الوصول إلى الإنترنت، ونعمل مع المستودعات المحلية التي تم تنزيلها من قرية WWW، بواسطة زملاء يجعلون حياتنا أسهل قليلاً.
[root @ dns yum.repos.d] # mkdir original [root @ dns yum.repos.d] # mv CentOS- * original / [root @ dns yum.repos.d] # nano centos-repos.repo [centos-base] name=CentOS-$releasever baseurl=http://10.10.10.1/repos/centos/7/base/ gpgcheck=0 enabled=1 [centos-updates] name=CentOS-$releasever baseurl=http://10.10.10.1/repos/centos/7/updates/x86_64/ gpgcheck=0 enabled=1 [الجذر @ نظام أسماء النطاقات yum.repos.d] # يم تنظيف الكل تم تحميل المكونات الإضافية: أسرع المرآة ، langpacks تنظيف المستودعات: تحديثات centos-base centos-updates تنظيف كل شيء [الجذر @ DNS yum.repos.d] تحديث # yum الإضافات المحملة: أسرع المرآة ، حزم langpacks ذات القاعدة السنتوسية | 3.4 كيلو بايت 00:00 سنتو التحديثات | 3.4 كيلو بايت 00:00 (1/2): centos-base / basic_db | 5.3 ميغابايت 00:00 (2/2): centos-updates / primary_db | 9.1 MB 00:00 تحديد أسرع المرايا لم يتم وضع علامة على حزم للتحديث
تشير الرسالة "لا توجد حزم محددة للتحديث" إلى أنه من خلال الإعلان عن أحدث المستودعات المتاحة أثناء التثبيت، تم تثبيت أحدث الحزم.
حول سياق SELinux وجدار الحماية
سنركز هذه المقالة - بشكل أساسي - على تنفيذ خدمات DNS و DHCP ، وهو هدفها الرئيسي.
إذا قام أي قارئ بتحديد سياسة أمان أثناء عملية التثبيت، كما هو موضح في الصورة 06 من المقالة المرجعية " CentOS 7 Hypervisor I – SME Networks " المستخدمة لتثبيت خادم DNS-DHCP هذا، ووجد أنه لا يعرف كيفية تكوين SELinux وجدار حماية CentOS بشكل صحيح، فإننا نقترح عليه تشغيل ما يلي:
قم بتعديل ملف /etc/sysconfig/selinux وغيّر قيمة SELINUX=enforcing إلى SELINUX=disable
[root @ dns ~] # nano / etc / sysconfig / selinux # يتحكم هذا الملف في حالة SELinux على النظام. # SELINUX = يمكن أن تأخذ واحدة من هذه القيم الثلاث: # فرض - يتم فرض سياسة أمان SELinux. # permissive - يطبع SELinux التحذيرات بدلاً من فرضها. # معطل - لم يتم تحميل سياسة SELinux. سيلينو = تعطيل # SELINUXTYPE = يمكن أن تأخذ واحدة من ثلاث قيمتين: # المستهدفة - العمليات المستهدفة محمية ، # الحد الأدنى - تعديل السياسة المستهدفة. العمليات المحددة فقط هي pr $ # mls - حماية أمنية متعددة المستويات. SELINUXTYPE = مستهدف
ثم قم بتشغيل الأوامر التالية
[root @ DNS ~] # setenforce 0
[root @ DNS ~] # توقف جدار حماية الخدمة إعادة التوجيه إلى / bin / systemctl stop firewalld.service [root @ dns ~] # systemctl تعطيل جدار الحماية تمت إزالة symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. تمت إزالة رابط الرمز /etc/systemd/system/basic.target.wants/firewalld.service.
إذا كنت بصدد إنشاء خادم DNS متصل بالإنترنت، فلا تتبع التعليمات المذكورة أعلاه. بدلاً من ذلك، قم بتهيئة سياق SELinux وجدار الحماية بشكل صحيح. راجع كتاب "تهيئة الخوادم باستخدام GNU/Linux" للمؤلف جويل باريوس دوينياس أو وثائق CentOS/Red Hat.
نقوم بتكوين ملف BIND - المسمى
- Eدليل ل /usr/share/doc/bind-9.9.4/ يحتوي على قدر لا بأس به من الوثائق التي نوصيك بمراجعتها قبل الدخول في بحث على الإنترنت دون أن تعرف أولاً أنه في متناول يدك وفي منزلك ، يمكنك العثور على ما تبحث عنه
في العديد من توزيعات نظام التشغيل، تُسمى خدمة نظام أسماء النطاقات (DNS) المُثبّتة عبر حزمة BIND باسم named ( خادم أسماء النطاقات ). في CentOS 7، يتم تثبيتها مُعطّلة افتراضيًا، كما هو موضح في مُخرجات الأمر التالي، الذي يُشير إلى أن حالتها " مُعطّلة "، وأن هذه الحالة مُحدّدة مُسبقًا من قِبل مُورّدها . تجدر الإشارة إلى أن BIND برنامج مجاني.
تفعيل الخدمة المسماة
[root @ dns ~] اسم حالة # systemctl ● named.service - مجال اسم الإنترنت في بيركلي (DNS) الذي تم تحميله: تم تحميله (/usr/lib/systemd/system/itled.service؛ معاق; الضبط المسبق للمورد: معطل) نشط: غير نشط (ميت) [root @ dns ~] # systemctl تمكين مسمى تم إنشاء ارتباط رمزي من /etc/systemd/system/multi-user.target.wants/itled.service إلى /usr/lib/systemd/system/itled.service. [root @ dns ~] اسم بدء # systemctl [root @ dns ~] اسم حالة # systemctl ● named.service - مجال اسم الإنترنت في بيركلي (DNS) الذي تم تحميله: تم تحميله (/usr/lib/systemd/system/itled.service؛ تمكين; الضبط المسبق للمورد: معطل) نشط: نشط (قيد التشغيل) منذ السبت 2017-01-28 13:22:38 EST؛ قبل 5 دقائق العملية: 1990 ExecStart = / usr / sbin / مسمى -u اسمه $ OPTIONS (كود = تم الخروج ، الحالة = 0 / نجاح) العملية: 1988 ExecStartPre = / bin / bash -c إذا [! "$ DISABLE_ZONE_CHECKING" == "نعم"] ؛ ثم / usr / sbin / named-checkconf -z /etc/amed.conf صدى آخر "تم تعطيل التحقق من ملفات المنطقة" ؛ fi (code = exited، status = 0 / SUCCESS) PID الرئيسي: 1993 (مسمى) CGroup: /system.slice/igned.service └─1993 / usr / sbin / مسمى -u اسمه 28 يناير 13:22:45 DNS المسمى [1993]: خطأ (شبكة لا يمكن الوصول إليها) حل '. / NS/IN': 2001: 500: 2f :: f # 53 يناير 28 13:22:47 dns المسمى [1993]: خطأ (شبكة غير قابلة للوصول) حل './ DNSKEY / IN ': 2001: 500: 3 :: 42 # 53 يناير 28 13:22:47 DNS المسمى [1993]: خطأ (شبكة غير قابلة للوصول) حل' ./NS/IN ': 2001: 500: 3 :: 42 # 53 يناير 28 ، 13:22:47 نظام أسماء النطاقات المسمى [1993]: خطأ (شبكة غير قابلة للوصول) في حل './DNSKEY/IN': 2001: 500: 2d :: d # 53 يناير 28 13:22:47 dns المسمى [1993 ]: خطأ (الشبكة غير قابلة للوصول) حل './NS/IN': 2001: 500: 2d :: d # 53 يناير 28 13:22:47 dns المسمى [1993]: خطأ (شبكة غير قابلة للوصول) حل './DNSKEY/ IN ': 2001: dc3 :: 35 # 53 Jan 28 13:22:47 dns المسمى [1993]: خطأ (شبكة غير قابلة للوصول) حل' ./NS/IN ': 2001: dc3 :: 35 # 53 28 يناير 13: 22:47 dns المسمى [1993]: خطأ (شبكة غير قابلة للوصول) حل '. / DNSKEY / IN': 2001: 7fe :: 53 # 53 28 يناير 13:22:47 dns المسمى [1993]: خطأ (شبكة غير قابلة للوصول) res حل './NS/IN': 2001: 7fe :: 53 # 53 يناير 28 13:22:48 DNS المسمى [1993]: Managed-keys-zone: تعذر جلب مجموعة DNSKEY '.': انتهت المهلة [root @ dns ~] اسم إعادة تشغيل # systemctl [root @ dns ~] اسم حالة # systemctl ● named.service - تحميل مجال اسم الإنترنت (DNS) في بيركلي: تم تحميله (/usr/lib/systemd/system/onymous.service ؛ مُمكّن ؛ ضبط البائع مسبقًا: معطل) نشط: نشط (قيد التشغيل) منذ السبت 2017-01-28 13:29:41 EST؛ قبل 1 ثانية العملية: 1449 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (الرمز = تم الخروج ، الحالة = 0 / نجاح) العملية: 1460 ExecStart = / usr / sbin / named -u المسماة $ OPTIONS (الرمز = الخروج ، الحالة = 0 / النجاح) العملية: 1457 ExecStartPre = / bin / bash -c إذا [! "$ DISABLE_ZONE_CHECKING" == "نعم"] ؛ ثم / usr / sbin / named-checkconf -z /etc/apped.conf ؛ آخر صدى "تم تعطيل التحقق من ملفات المنطقة" ؛ fi (code = exited، status = 0 / SUCCESS) معرف المنتج الرئيسي: 1463 (مسمى) CGroup: /system.slice/igned.service └─1463 / usr / sbin / مسمى -u اسمه 28 يناير 13:29:41 dns مسمى [1463]: Managed-keys-zone: ملف المجلة قديم: إزالة ملف دفتر اليومية 28 يناير 13:29:41 DNS المسمى [1463]: Managed-keys-zone: تم تحميل المسلسل 2 يناير 28 13:29:41 dns اسمه [1463]: المنطقة 0.in-addr.arpa/IN: المسلسل المحمل 0 28 يناير 13:29:41 نظام أسماء النطاقات المسمى [1463]: المنطقة localhost.localdomain / IN: المسلسل المحمل 0 28 يناير 13:29:41 dns المسماة [1463]: المنطقة 1.0.0.127.in-addr.arpa/IN: المسلسل المحمل 0 28 يناير 13:29:41 dns المسمى [1463]: المنطقة 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .6.ip0.arpa / IN: تم تحميل المسلسل 28 13 كانون الثاني (يناير) 29:41:1463 dns المسمى [0]: localhost / IN: المنطقة المحملة التسلسلي 28 13 يناير 29 : 41: 1463 dns المسمى [28]: تم تحميل جميع المناطق 13 يناير 29:41:1463 dns المسماة [28]: تشغيل 13 يناير 29:41:1 dns systemd [XNUMX]: بدأ Berkeley Internet Name Domain (DNS).
بعد تفعيل خدمة named وتشغيلها لأول مرة، تظهر أخطاء في مخرجات الأمر `systemctl status named` . عند إعادة تشغيل الخدمة، تقوم named بإنشاء جميع ملفات التكوين اللازمة لعملها بشكل صحيح تلقائيًا. لذلك، عند تشغيل الأمر `systemctl status named` مرة أخرى، لا تظهر أي أخطاء.
- عزيزي القارئ الباهظ الثمن والمتطلب: إذا كنت تريد أن تعرف -على الأقل- المسار الذي يؤدي إلى نهاية جحر الأرانب، فيرجى قراءة المخرجات التفصيلية لكل أمر بهدوء. بالتأكيد سيبدو المقال طويلا بعض الشيء، لكنك لن تنكر أنه يكتسب في الشرح والوضوح.
نقوم بتعديل الملف /etc/itled.conf
تُعبّر العديد من تعليقات القرّاء -وأنا لست الوحيد الذي يقول هذا- عن عادة مُطوّري توزيعات لينكس المختلفة في وضع ملفات إعدادات النظام في مجلدات بأسماء مختلفة تبعًا للتوزيعة. وهم مُحقّون. ولكن ما الذي يُمكننا نحن، كمستخدمين عاديين لهذه التوزيعات، فعله؟ التكيّف! 😉
بالمناسبة، في نظام FreeBSD، وهو نسخة من نظام UNIX® الأصلي، يوجد الملف في المسار /usr/local/etc/namedb/named.conf ؛ بينما في نظام Debian، بالإضافة إلى كونه مقسمًا إلى أربعة ملفات هي named.conf و named.conf.options و named.conf.default-zones و named.conf.local ، يوجد أيضًا في المجلد /etc/bind/ . ولمن يرغب بمعرفة مكان وجوده في نظام openSUSE، فليقرأ مقال " DNS وDHCP في openSUSE 13.2 Harlequin - شبكات الشركات الصغيرة والمتوسطة ". القراء على حق! 😉
وكما نفعل دائماً: قبل تعديل أي شيء، نقوم بحفظ ملف التكوين الأصلي باسم آخر.
[root @ dns ~] # cp /etc/itled.conf /etc/itled.conf.original
لتسهيل الأمور، بدلاً من إنشاء مفتاح TSIG لتحديثات DNS الديناميكية عبر DHCP، نقوم بنسخ نفس rndc.key مثل dhcp.key.
[root @ dns ~] # cp /etc/rndc.key /etc/dhcp.key
[root @ dns ~] # nano /etc/dhcp.key
key "مفتاح dhcp" {خوارزمية hmac-md5؛ سر "OI7Vs + TO83L7ghUm2xNVKg ==" ؛ } ؛
لكي يتمكن المستخدم المحدد من قراءة الملف المنسوخ حديثًا، نقوم بتعديل المجموعة المالكة له:
[root @ dns ~] # chown root: اسمه /etc/dhcp.key [root @ dns ~] # ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----. 1 جذر اسمه 77 Jan 28 16:36 PM /etc/dhcp.key -rw-r -----. 1 جذر اسمه 77 يناير 28 13:22 /etc/rndc.key
التفاصيل الصغيرة مثل التفاصيل السابقة هي ما يمكن أن يدفعنا إلى الجنون في محاولة اكتشافه ، الآن ... أين المشكلة ...؟ مع المزيد من الصفات التي لا نكتبها احترامًا للمحترم.
وأخيرًا، قمنا بتعديل ملف /etc/named.conf . التغييرات أو الإضافات التي أجريناها، مقارنةً بالملف الأصلي، مُوضّحة بخط عريض . لاحظ أن عددها قليل.
[root @ DNS ~] # nano /etc/itled.conf
// // named.conf // // المقدمة من حزمة ربط Red Hat لتكوين ISC BIND المسمى (8) DNS // server كخادم أسماء للتخزين المؤقت فقط (كمحلل DNS للمضيف المحلي فقط). // // راجع / usr / share / doc / bind * / sample / على سبيل المثال ملفات التكوين المسماة. //
// قائمة التحكم بالوصول توضح الشبكات التي ستكون قادرة على التشاور
// خادمي المسمى
acl غارقة {
127.0.0.0 / 8.
192.168.10.0 / 24.
};
خيارات {
// أقر بأن البرنامج الخفي المحدد يستمع أيضًا إلى الواجهة
// eth0 الذي يحتوي على IP: 192.168.10.5
استمع على المنفذ 53 {127.0.0.1 ؛ 192.168.10.5 ؛ } ؛
الاستماع على منفذ v6 53 {:: 1 ؛ } ؛ الدليل "/ var / named" ؛ ملف تفريغ "/var/itled/data/cache_dump.db" ؛ ملف الإحصاء "/var/amed/data/itled_stats.txt" ؛ memstatistics-file "/var/amed/data/itled_mem_stats.txt" ؛
// بيان وكلاء الشحن
// معيدي الشحن {
// 0.0.0.0 ؛
// 1.1.1.1 ؛
//}؛
// إلى الأمام أولاً ؛
// أسمح فقط بالاستعلامات إلى قائمة التحكم بالوصول (ACL) الخاصة بي
السماح بالاستعلام {غارق؛ }; // للتحقق من أمر الحفر desdelinux.fan axfr // من محطة عمل SysAdmin والمضيف المحلي فقط // ليس لدينا خوادم DNS التابعة. لا نحتاج إليها...حتى الآن.
allow-transfer {localhost؛ 192.168.10.1 ؛ } ؛
/ * - إذا كنت تقوم ببناء خادم DNS معتمد ، فلا تقم بتمكين العودية. - إذا كنت تقوم ببناء خادم DNS RECURSIVE (التخزين المؤقت) ، فأنت بحاجة إلى تمكين العودية. - إذا كان خادم DNS التكراري الخاص بك يحتوي على عنوان IP عام ، فيجب عليك تمكين التحكم في الوصول لقصر الاستعلامات على المستخدمين الشرعيين. سيؤدي عدم القيام بذلك إلى أن يصبح الخادم الخاص بك جزءًا من هجمات تضخيم DNS واسعة النطاق. سيؤدي تنفيذ BCP38 داخل شبكتك إلى تقليل سطح الهجوم هذا إلى حد كبير * /
// نريد خادم سلطة لشبكة LAN الخاصة بنا - SME
العودية لا
نعم تمكين dnssec ؛ dnssec-validation نعم ؛ / * المسار إلى مفتاح ISC DLV * / bindkeys-file "/etc/itled.iscdlv.key" ؛ إدارة-مفاتيح-دليل "/ فار / مسمى / ديناميكي" ؛ pid-file "/run/itled/itled.pid" ؛ جلسة-keyfile "/run/itled/session.key" ؛ } ؛ تسجيل {channel default_debug {file "data / named.run" ؛ ديناميكية الشدة } ؛ } ؛ المنطقة "." في {نوع تلميح؛ ملف "named.ca" ؛ } ؛ تشمل "/etc/igned.rfc1912.zones" ؛ تشمل "/etc/igned.root.key" ؛
// نقوم بتضمين مفتاح TSIG لتحديثات DNS الديناميكية // بواسطة DHCP
تشمل "/etc/dhcp.key" ؛
// إقرار الاسم والنوع والموقع وإذن التحديث
// مناطق سجلات DNS // كلا المنطقتين هما MASTERS
منطقة"desdelinux.معجب" {
اكتب الرئيسي
ملف "ديناميكي/ديسيبل.desdelinux.معجب"؛
allow-update {key dhcp-key؛ } ؛
};
المنطقة "10.168.192.in-addr.arpa" {
اكتب الرئيسي
ملف "ديناميكي / db.10.168.192.in-addr.arpa" ؛
allow-update {key dhcp-key؛ } ؛
};
نتحقق من بناء الجملة
[root @ dns ~] # named-checkconf [الجذر @ DNS ~] #
بما أن الأمر السابق لم يُرجع أي نتيجة، فإن الصيغة صحيحة. مع ذلك، إذا نفذنا الأمر نفسه مع الخيار -z ، فستكون النتيجة كالتالي:
[root @ dns ~] # named-checkconf -z المنطقة localhost.localdomain/IN: تحميل المسلسل 0 localhost/IN: تحميل المسلسل 0 المنطقة 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: منطقة 0 التسلسلية المحملة 1.0.0.127.in-addr.arpa/IN: منطقة 0 تسلسلية محملة 0.in-addr.arpa/IN: منطقة 0 تسلسلية محملة desdelinux.fan/IN: التحميل من الملف الرئيسي الديناميكي/db.desdelinuxفشل .fan: لم يتم العثور على الملف في المنطقة desdelinux.fan/IN: لم يتم تحميله بسبب وجود أخطاء. _تقصير/desdelinux.fan/IN: لم يتم العثور على الملف في المنطقة 10.168.192.in-addr.arpa/IN: فشل التحميل من الملف الرئيسي الديناميكي/db.10.168.192.in-addr.arpa: لم يتم العثور على الملف في المنطقة 10.168.192.in- addr.arpa/IN: لم يتم تحميله بسبب وجود أخطاء. _default/10.168.192.in-addr.arpa/IN: الملف غير موجود
بالطبع هي أخطاء تحدث لأننا لم ننشئ مناطق تسجيل DNS لمجالنا بعد.
- لمزيد من المعلومات حول الأمر اسمه checkconf، يركض رجل اسمه checkconf، قبل البحث عن أي معلومات أخرى على الإنترنت. أؤكد لك أنه سيوفر قدرًا كبيرًا من الوقت.
نقوم بإنشاء ملف المنطقة المباشرة desdelinux.معجب
…ولكن ليس بدون القليل من النظرية أولاً.
كنموذج لإنشاء ملف بيانات المنطقة، يمكننا استخدام إما /var/named/named.empty أو /usr/share/doc/bind-9.9.4/sample/var/named/named.empty . كلاهما متطابقان.
[root @ dns ~] # قطة / فار / مسمى / مسمى TTL $ 3H @ IN SOA @ rname.invalid. (0 ؛ تسلسلي 1D ؛ تحديث 1H ؛ إعادة المحاولة 1 وات ؛ انتهاء الصلاحية 3H) ؛ الحد الأدنى أو السالب لوقت التخزين المؤقت للعيش NS @ A 127.0.0.1 AAAA :: 1
وقت الحياة - حان الوقت للعيش TTL سجل الخدمية
دعونا نشرح بإيجاز مدة صلاحية سجل بدء الصلاحية (SOA) لمنطقة رئيسية. فهم معناها مفيد عند الرغبة في تعديل أي من قيمها.
$TTL : وقت البقاء - وقت البقاء لجميع السجلات في الملف الذي يلي الإعلان (ولكن يسبق أي إعلان $TTL آخر) والتي ليس لها إعلان TTL صريح.
الرقم التسلسلي : هو الرقم التسلسلي لبيانات النطاق. في كل مرة نُعدّل فيها سجل DNS يدويًا في نطاق ما، يجب زيادة هذا الرقم بمقدار 1، خاصةً إذا كان لدينا خوادم تابعة أو ثانوية. في كل مرة يتصل فيها خادم DNS ثانوي أو تابع بخادمه الرئيسي، يستعلم عن الرقم التسلسلي لبيانات الخادم الرئيسي. إذا كان الرقم التسلسلي للخادم التابع أقل، فهذا يعني أن بيانات ذلك النطاق على الخادم التابع قديمة، ويقوم الخادم التابع بنقل النطاق لتحديثها.
التحديث : يخبر الخادم التابع بالفترة الزمنية التي يجب عليه خلالها التحقق مما إذا كانت بياناته محدثة بالنسبة للخادم الرئيسي.
إعادة المحاولة : إذا كان الخادم الرئيسي غير متاح - لأنه أصيب بمرض، على سبيل المثال - للخادم التابع بعد فترة زمنية للتحديث ، فإن إعادة المحاولة تخبر الخادم التابع بالمدة التي يجب أن ينتظرها قبل محاولة الاتصال بالخادم الرئيسي مرة أخرى.
انتهاء الصلاحية : إذا تعذر على الخادم التابع الاتصال بالخادم الرئيسي لفترة زمنية محددة ، فإن علاقة النطاق بين الخادم التابع والخادم الرئيسي تنقطع، ولا يكون أمام الخادم التابع خيار سوى إنهاء صلاحية النطاق المعني. ويعني انتهاء صلاحية النطاق من قِبل خادم DNS تابع أنه سيتوقف عن الاستجابة لاستعلامات DNS المتعلقة بذلك النطاق لأن البيانات المتاحة قديمة جدًا بحيث لا يمكن الاستفادة منها.
- ما ورد أعلاه يعلمنا بشكل غير مباشر ومحمّل بالفطرة السليمة - أقل الحواس شيوعًا - أننا إذا لم نكن بحاجة إلى خوادم DNS الرقيق لتشغيل الشركات الصغيرة والمتوسطة ، فإننا لا نطبقها ، إلا إذا كانت ضرورية للغاية. دعنا نحاول دائمًا الانتقال من البسيط إلى المعقد.
الحد الأدنى : في الإصدارات السابقة لـ BIND 8.2 ، يشير سجل SOA الأخير أيضًا إلى وقت البقاء الافتراضي ووقت البقاء للتخزين المؤقت السلبي للمنطقة. يشير هذا الوقت إلى جميع الاستجابات السلبية التي يقدمها الخادم المرجعي للمنطقة.
ملف المنطقة /var/named/dynamic/db.desdelinux.معجب
[root@dns ~]# nano /var/named/dynamic/db.desdelinux.معجب $TTL 3H @ في SOA DNS.desdelinux.معجب. root.dns.desdelinux.معجب. ( 1 ; المسلسل 1D ; التحديث 1H ; إعادة المحاولة 1W ; انتهاء الصلاحية 3H ) ; الحد الأدنى أو ; وقت التخزين المؤقت السلبي للعيش؛ @ في NS DNS.desdelinux.معجب. @ البريد الإلكتروني في MX 10.desdelinux.معجب. @ IN TXT "FromLinux، مدونتك المخصصة للبرمجيات الحرة"؛ مسؤول النظام في 192.168.10.1 ad-dc في خادم ملفات 192.168.10.3 في خادم DNS 192.168.10.4 في خادم وكيل 192.168.10.5 في مدونة 192.168.10.6 في خادم ftpserver 192.168.10.7 في 192.168.10.8. 192.168.10.9 بريد في XNUMX
نتحقق من /var/named/dynamic/db.desdelinux.معجب
[root@dns ~]# name-checkzone desdelinux.fan /var/named/dynamic/db.desdelinux.معجب منطقة desdelinux.fan/IN: تم تحميل المسلسل 1 موافق
نقوم بإنشاء ملف Reverse Zone 10.168.192.in-addr.arpa
- سجل SOA لهذه المنطقة هو نفسه سجل المنطقة المباشرة دون مراعاة سجل MX..
[root @ dns ~] # nano /var/ named/dynamic/db.10.168.192.in-addr.arpa $TTL 3H @ في SOA DNS.desdelinux.معجب. root.dns.desdelinux.معجب. ( 1 ; المسلسل 1D ; التحديث 1H ; إعادة المحاولة 1W ; انتهاء الصلاحية 3H ) ; الحد الأدنى أو ; وقت التخزين المؤقت السلبي للعيش؛ @ في NS DNS.desdelinux.معجب. ; 1 في مسؤول النظام PTR.desdelinux.معجب. 3 في PTR إعلان DC.desdelinux.معجب. 4 في خادم الملفات PTR.desdelinux.معجب. 5 في نظام أسماء النطاقات PTR.desdelinux.معجب. 6 في PTR proxyweb.desdelinux.معجب. 7 في مدونة PTR.desdelinux.معجب. 8 في خادم PTR.desdelinux.معجب. 9 في بريد PTR.desdelinux.معجب. [root @ dns ~] # named-checkzone 10.168.192.in-addr.arpa /var/igned/dynamic/db.10.168.192.in-addr.arpa المنطقة 10.168.192.in-addr.arpa/IN: تم تحميل المسلسل 1 OK
قبل إعادة تشغيل المسمى ، نتحقق من تكوينه
- إلى أن نتأكد من أن ملفات التكوين المسماة ، named.conf ، وملفات المنطقة الخاصة بها لم يتم تكوينها بشكل صحيح ، نقترح عدم إعادة تشغيل البرنامج الخفي المسمى. إذا قمنا بذلك وقمنا بتعديل ملف منطقة لاحقًا ، فيجب علينا زيادة الرقم التسلسلي للمنطقة المعدلة بمقدار 1.
- دعونا نلقي نظرة على "." في نهاية أسماء المجال والمضيف.
[root @ dns ~] # named-checkconf [root @ dns ~] # named-checkconf -z المنطقة localhost.localdomain/IN: تحميل المسلسل 0 localhost/IN: تحميل المسلسل 0 المنطقة 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: منطقة 0 التسلسلية المحملة 1.0.0.127.in-addr.arpa/IN: منطقة 0 تسلسلية محملة 0.in-addr.arpa/IN: منطقة 0 تسلسلية محملة desdelinux.fan/IN: المنطقة التسلسلية 1 المحملة 10.168.192.in-addr.arpa/IN: المنطقة التسلسلية المحملة 1
كل التكوين الحالي المسمى
ولتوضيح الأمر، وعلى الرغم من أن المقال سيصبح طويلاً، فإننا نقدم المخرجات الكاملة للأمر named-checkconf -zp :
[root @ dns ~] # named-checkconf -zp
المنطقة localhost.localdomain/IN: تحميل المسلسل 0 localhost/IN: تحميل المسلسل 0 المنطقة 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: منطقة 0 التسلسلية المحملة 1.0.0.127.in-addr.arpa/IN: منطقة 0 تسلسلية محملة 0.in-addr.arpa/IN: منطقة 0 تسلسلية محملة desdelinux.fan/IN: تم تحميل المنطقة التسلسلية 1 10.168.192.in-addr.arpa/IN: خيارات التسلسل 1 المحملة {bindkeys-file "/etc/named.iscdlv.key"؛ ملف مفتاح الجلسة "/run/named/session.key"; الدليل "/فار/مسمى"; ملف التفريغ "/var/named/data/cache_dump.db"; منفذ الاستماع 53 {127.0.0.1/32؛ 192.168.10.5/32؛ }; منفذ الاستماع على الإصدار 6 53 { ::1/128; }; دليل المفاتيح المُدارة "/var/named/dynamic"; ملف memstatistics "/var/named/data/named_mem_stats.txt"; ملف معرف المنتج "/run/named/named.pid"; ملف الإحصائيات "/var/named/data/named_stats.txt"؛ تمكين DNSsec نعم؛ التحقق من صحة DNSsec نعم؛ العودية لا؛ السماح بالاستعلام { "شاهد"؛ }; السماح بالنقل { 192.168.10.1/32؛ }; }; ACL "شاهد" { 127.0.0.0/8; 192.168.10.0/24; }; تسجيل الدخول { قناة "default_debug" { ملف "data/named.run"؛ شدة ديناميكية }; }; مفتاح "dhcp-key" { خوارزمية "hmac-md5"؛ سر "OI7Vs+TO83L7ghUm2xNVKg=="; }; منطقة "." في {اكتب تلميح؛ ملف "named.ca"؛ }; المنطقة "localhost.localdomain" IN { اكتب الرئيسي؛ ملف "named.localhost"؛ السماح بالتحديث { "لا شيء"؛ }; }; منطقة "المضيف المحلي" في {نوع رئيسي؛ ملف "named.localhost"؛ السماح بالتحديث { "لا شيء"؛ }; }; المنطقة "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" في { النوع الرئيسي؛ ملف "named.loopback"؛ السماح بالتحديث { "لا شيء"؛ }; }; المنطقة "1.0.0.127.in-addr.arpa" IN { النوع الرئيسي؛ ملف "named.loopback"؛ السماح بالتحديث { "لا شيء"؛ }; }; المنطقة "0.in-addr.arpa" IN { النوع الرئيسي؛ ملف "named.empty" ؛ السماح بالتحديث { "لا شيء"؛ }; }; منطقة"desdelinux.fan" {اكتب الملف الرئيسي؛ ملف "dynamic/db.desdelinux.fan"؛ السماح بالتحديث { مفتاح "dhcp-key"؛ }؛ }؛ المنطقة "10.168.192.in-addr.arpa" { النوع الرئيسي؛ ملف "dynamic/db.10.168.192.in-addr.arpa" "؛ السماح بالتحديث {مفتاح "dhcp-key"؛ }؛ }؛ المفاتيح المُدارة { "."المفتاح الأولي 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIo O8g 0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD F6dsV6DoBQzgul68sGIcGOYl0OyQdXfZ1relS Qageu+ipAdTTJ9AsRTAoub7ONGcLmqrAmRLKBP 6dfwhYB3N5knNnulq QxA +Uk2ihz8="; };
- باتباع إجراء تعديل اسمه .conf وفقًا لاحتياجاتنا والتحقق منها وإنشاء كل ملف منطقة والتحقق منه ، نشك في أننا سنواجه مشكلات التكوين الرئيسية. في النهاية ، ندرك أنها لعبة صبي ، مع العديد من المفاهيم والتراكيب الصعبة.
أظهرت الفحوصات نتائج مرضية، لذلك يمكننا إعادة تشغيل BIND - المسمى.
نعيد تشغيل الاسم ونتحقق من حالته
[root @ dns ~] # إعادة تشغيل systemctl باسم الخدمة [root @ dns ~] # حالة systemctl مسماة
إذا ظهرت أي أخطاء في مخرجات الأمر الأخير، فعليك إعادة تشغيل خدمة named.service والتحقق من حالتها مرة أخرى . إذا اختفت الأخطاء، فهذا يعني أن الخدمة قد بدأت بنجاح. وإلا، فعليك مراجعة جميع الملفات المُعدّلة والمُنشأة بعناية وتكرار العملية.
يجب أن يكون الإخراج الصحيح للحالة:
[root @ dns ~] # حالة systemctl مسماة ● named.service - تحميل مجال اسم الإنترنت (DNS) في بيركلي: تم تحميله (/usr/lib/systemd/system/onymous.service ؛ مُمكّن ؛ ضبط البائع مسبقًا: معطل) نشط: نشط (قيد التشغيل) منذ الأحد 2017-01-29 10:05:32 بتوقيت شرق الولايات المتحدة؛ 2 دقيقة و 57 ثانية مضت العملية: 1777 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (الكود = الخروج، الحالة = 0/SUCCESS) العملية: 1788 ExecStart=/usr/sbin/named -u المسمى $OPTIONS (الكود = الخروج، الحالة = 0/SUCCESS) العملية: 1786 ExecStartPre =/bin/bash -c إذا [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; ثم /usr/sbin/named-checkconf -z /etc/named.conf; else echo "تم تعطيل التحقق من ملفات المنطقة"; fi (الرمز = تم الخروج، الحالة = 0/SUCCESS) معرف PID الرئيسي: 1791 (مسمى) CGroup: /system.slice/named.service └─1791 /usr/sbin/named -u تم تسميته في 29 يناير 10:05:32 تم تسمية نظام أسماء النطاقات [1791]: المنطقة 1.0.0.127.in-addr.arpa/IN: تم تحميل المسلسل في 0 يناير 29:10:05 نظام أسماء النطاقات المسمى[32]: المنطقة 1791.in-addr.arpa/IN: تم تحميل المسلسل في 10.168.192 يناير 1 29:10:05 نظام أسماء النطاقات المسمى[32]: المنطقة 1791.ip1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.arpa/IN : تم تحميل المسلسل في 6 يناير 0:29:10 نظام أسماء النطاقات المسمى[05]: المنطقة desdelinux.fan/IN: تم تحميل المسلسل في 1 يناير 29 10:05:32 اسم نظام أسماء النطاقات [1791]: المنطقة localhost.localdomain/IN: تم تحميل المسلسل في 0 يناير 29:10:05 اسم نظام أسماء النطاقات [32]: المضيف المحلي للمنطقة/IN: تم تحميله المسلسل 1791 0 يناير 29:10:05 نظام أسماء النطاقات المسمى[32]: تحميل جميع المناطق 29 يناير 10:05:32 DNS المسمى [1791]: تشغيل 29 كانون الثاني (يناير) 10:05:32 dns systemd [1]: بدأ مجال اسم الإنترنت بيركلي (DNS). 29 كانون الثاني (يناير) 10:05:32 dns المسماة [1791]: المنطقة 10.168.192.in-addr.arpa/IN: إرسال إخطارات (المسلسل 1)
الفحوصات
يمكن تشغيل عمليات الفحص على نفس الخادم أو على جهاز متصل بشبكة LAN. نحن نفضل القيام بها من الفريق مسؤول النظام.desdelinux.معجب التي أعطيناها إذنًا صريحًا بإجراء تحويلات المنطقة. الملف / الخ / resolv.conf من هذا الفريق ما يلي:
buzz @ sysadmin: ~ cat $ /etc/resolv.conf # تم إنشاؤها بواسطة بحث NetworkManager desdelinuxخادم أسماء المعجبين 192.168.10.5 Buzz@sysadmin:~$ Dig desdelinux.مروحة axfr ; <<>> ديج 9.9.5-9+deb8u1-ديبيان <<>> desdelinux.مروحة axfr ;; الخيارات العالمية: +cmd desdelinux.معجب. 10800 في نظام أسماء النطاقات SOA.desdelinux.معجب. root.dns.desdelinux.معجب. 1 86400 3600 604800 10800 desdelinux.معجب. 10800 في NS DNS.desdelinux.معجب. desdelinux.معجب. 10800 في MX 10 البريد الإلكتروني.desdelinux.معجب. desdelinux.معجب. 10800 في نص "FromLinux، مدونتك المخصصة للبرمجيات الحرة" ad-dc.desdelinux.معجب. 10800 في مدونة 192.168.10.3.desdelinux.معجب. 10800 في 192.168.10.7 نظام أسماء النطاقات.desdelinux.معجب. 10800 إلى 192.168.10.5 خادم الملفات.desdelinux.معجب. 10800 في خادم 192.168.10.4 قدم.desdelinux.معجب. 10800 في بريد 192.168.10.8.desdelinux.معجب. 10800 في 192.168.10.9 proxyweb.desdelinux.معجب. 10800 في 192.168.10.6 مسؤول النظام.desdelinux.معجب. 10800 إلى 192.168.10.1 desdelinux.معجب. 10800 في نظام أسماء النطاقات SOA.desdelinux.معجب. root.dns.desdelinux.معجب. 1 86400 3600 604800 10800 ؛؛ وقت الاستعلام: 0 مللي ثانية؛؛ الخادم: 192.168.10.5#53(192.168.10.5) ؛؛ متى: الأحد 29 يناير الساعة 11:44:18 بتوقيت شرق الولايات المتحدة 2017؛؛ حجم XFR: 13 سجلًا (الرسائل 1، البايت 385) buzz @ sysadmin: ~ Dig 10.168.192.in-addr.arpa axfr ; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> 10.168.192.in-addr.arpa axfr ;; الخيارات العالمية: +cmd 10.168.192.in-addr.arpa. 10800 في نظام أسماء النطاقات SOA.desdelinux.fan.10.168.192.in-addr.arpa. root.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 10.168.192.in-addr.arpa. 10800 في نظام أسماء النطاقات NS.desdelinux.معجب. 1.10.168.192.in-addr.arpa. 10800 في مسؤول النظام PTR.desdelinux.معجب. 3.10.168.192.in-addr.arpa. 10800 في PTR إعلان DC.desdelinux.معجب. 4.10.168.192.in-addr.arpa. 10800 في خادم ملفات PTR.desdelinux.معجب. 5.10.168.192.in-addr.arpa. 10800 في نظام أسماء النطاقات PTR.desdelinux.معجب. 6.10.168.192.in-addr.arpa. 10800 في PTR proxyweb.desdelinux.معجب. 7.10.168.192.in-addr.arpa. 10800 في مدونة PTR.desdelinux.معجب. 8.10.168.192.in-addr.arpa. 10800 في خادم PTR.desdelinux.معجب. 9.10.168.192.in-addr.arpa. 10800 في بريد PTR.desdelinux.معجب. 10.168.192.in-addr.arpa. 10800 في نظام أسماء النطاقات SOA.desdelinux.fan.10.168.192.in-addr.arpa. root.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 ؛؛ وقت الاستعلام: 0 مللي ثانية؛؛ الخادم: 192.168.10.5#53(192.168.10.5) ؛؛ متى: الأحد 29 يناير الساعة 11:44:57 بتوقيت شرق الولايات المتحدة 2017؛؛ حجم XFR: 11 سجلًا (الرسائل 1، البايت 352) Buzz@sysadmin:~$ حفر في SOA desdelinux.معجب Buzz@sysadmin:~$ dig IN MX desdelinux.fan Buzz@sysadmin:~$ dig IN TXT desdelinux.معجب buzz @ sysadmin: ~ $ host dns نظام أسماء النطاقات.desdelinux.fan له عنوان 192.168.10.5 buzz @ sysadmin: ~ $ host sysadmin مسؤول النظام.desdelinux.fan لديه عنوان 192.168.10.1... وأي فحوصات أخرى نحتاجها
- حتى الآن، لدينا الأساس لخادم DNS على شبكة الشركات الصغيرة والمتوسطة لدينا. نأمل أن تستمتع بالإجراءات بأكملها، والتي كانت بسيطة جدًا، أليس كذلك؟
نقوم بتثبيت وتهيئة DHCP
[الجذر @ DNS ~] # yum تثبيت dhcp
الإضافات المحملة: أسرع المرآة ، حزم langpacks ذات القاعدة السنتوسية | 3.4 كيلو بايت 00:00:00 سنتوس-تحديثات | 3.4 كيلو بايت 00:00:00 تحميل سرعات النسخ المتطابقة من تبعيات حل الملف المضيف المخزن مؤقتًا -> تشغيل اختبار المعاملة -> حزمة dhcp.x86_64 12: 4.2.5-42.el7.centos يجب تثبيتها -> حل التبعيات التبعيات التي تم إنهاؤها ============================================= =================================================== ==================================== حجم مستودع إصدار بنية الحزمة =========== =================================================== =================================================== ======================= التثبيت: dhcp x86_64 12: 4.2.5-42.el7.centos-base 511k ملخص المعاملة ==== ================================================== =================================================== ============================ تثبيت حزمة واحدة إجمالي حجم التنزيل: 1k حجم التثبيت: 511 M هل هذا جيد [y / d / N]: y تنزيل الحزم: dhcp-1.4-4.2.5.el42.centos.x7_86.rpm | 64 كيلو بايت 511:00:00 تشغيل فحص المعاملة تشغيل اختبار المعاملة نجح اختبار المعاملة تشغيل المعاملة التثبيت: 00: dhcp-12-4.2.5.el42.centos.x7_86 64/1 التحقق: 1: dhcp-12-4.2.5. el42.centos.x7_86 64/1 تم التثبيت: dhcp.x1_86 64: 12-4.2.5.el42.centos تم!
[root @ dns ~] # nano /etc/dhcp/dhcpd.conf
# # ملف تكوين خادم DHCP. # راجع /usr/share/doc/dhcp*/dhcpd.conf.example # راجع صفحة الدليل dhcpd.conf(5) # ddns-update-style المؤقت؛ تحديثات ddns على؛ اسم نطاق ddns "desdelinux.fan."; ddns-rev-domainname "in-addr.arpa."; تجاهل تحديثات العميل؛ موثوق؛ خيار إعادة توجيه IP متوقف؛ خيار اسم المجال "desdelinux.fan"؛ # خيار خوادم ntp 0.pool.ntp.org، 1.pool.ntp.org، 2.pool.ntp.org، 3.pool.ntp.org؛ تشمل "/etc/dhcp.key" ؛ منطقة desdelinux.معجب. { الابتدائي 127.0.0.1؛ مفتاح dhcp-key؛ } المنطقة 10.168.192.in-addr.arpa. { الابتدائي 127.0.0.1؛ مفتاح dhcp-key؛ } شبكة مشتركة redlocal { الشبكة الفرعية 192.168.10.0 قناع الشبكة 255.255.255.0 { أجهزة التوجيه الخيارية 192.168.10.1؛ خيار قناع الشبكة الفرعية 255.255.255.0؛ خيار عنوان البث 192.168.10.255؛ خوادم اسم المجال الاختيارية 192.168.10.5؛ خيار خوادم اسم netbios 192.168.10.5؛ النطاق 192.168.10.30 192.168.10.250؛ } } # نهاية dhcpd.conf
[الجذر @ DNS ~] # dhcpd -t
Internet Systems Consortium DHCP Server 4.2.5 حقوق النشر 2004-2013 لاتحاد أنظمة الإنترنت. كل الحقوق محفوظة. للحصول على معلومات ، يرجى زيارة https://www.isc.org/software/dhcp/ لم يتم البحث عن LDAP لأن ldap-server و ldap-port و ldap-base-dn لم يتم تحديدهما في ملف التكوين
[root @ dns ~] # systemctl تمكين dhcpd
تم إنشاء ارتباط رمزي من /etc/systemd/system/multi-user.target.wants/dhcpd.service إلى /usr/lib/systemd/system/dhcpd.service.
[root @ DNS ~] # systemctl بدء dhcpd
[root @ dns ~] # systemctl status dhcpd
● dhcpd.service - تحميل برنامج خادم DHCPv4 الخفي: تم تحميله (/usr/lib/systemd/system/dhcpd.service ؛ مُمكّن ؛ الإعداد المسبق للمورد: معطل) نشط: نشط (قيد التشغيل) منذ dom 2017-01-29 12:04:59 ITS T ؛ قبل 23 ثانية Docs: man: dhcpd (8) man: dhcpd.conf (5) Main PID: 2381 (dhcpd) الحالة: "إرسال الحزم ..." CGroup: /system.slice/dhcpd.service └─2381 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd - no-pid 29 يناير 12:04:59 dns dhcpd [2381]: Internet Systems Consortium DHCP Server 4.2.5 29 يناير 12 : 04: 59 dns dhcpd [2381]: حقوق الطبع والنشر لاتحاد أنظمة الإنترنت 2004-2013. 29 يناير 12:04:59 dns dhcpd [2381]: جميع الحقوق محفوظة. 29 كانون الثاني (يناير) 12:04:59 dns dhcpd [2381]: للحصول على معلومات ، يرجى زيارة https://www.isc.org/software/dhcp/ 29 يناير 12:04:59 dns dhcpd [2381]: لا يتم البحث في LDAP منذ ldap لم يتم تحديد -server و ldap-port و ldap-base-dn في ملف التكوين 29 يناير 12:04:59 dns dhcpd [2381]: كتب 0 عقود إيجار لملف الإيجار. 29 يناير 12:04:59 dns dhcpd [2381]: الاستماع على LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 يناير 12:04:59 dns dhcpd [2381]: الإرسال على LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 كانون الثاني (يناير) 12:04:59 dns dhcpd [2381]: الإرسال على المقبس / الاحتياطي / الاحتياطي-net 29 يناير 12:04:59 dns systemd [1]: بدأ خادم DHCPv4 الخفي.
ما المتبقي ليتم إنجازه؟
بسيط. ابدأ تشغيل Windows 7 أو أي عميل آخر باستخدام برنامج مجاني وابدأ في الاختبار والتحقق. فعلنا ذلك مع عميلين: سبعة.desdelinux.معجب y سطح المكتب.desdelinux.معجب. كانت الشيكات على النحو التالي:
buzz @ sysadmin: ~ $ مضيف سبعة سبعة.desdelinux.fan له عنوان 192.168.10.30 Buzz@sysadmin:~$ المضيف سبعة.desdelinux.معجب سبعة.desdelinux.fan له عنوان 192.168.10.30 Buzz@sysadmin:~$ حفر في TXT سبعة.desdelinux.معجب .... ؛؛ قسم الأسئلة: ;سبعة.desdelinux.معجب. في النص؛؛ قسم الإجابة: سبعة.desdelinux.معجب. 3600 في النص"31b7228ddd3a3b73be2fda9e09e601f3e9"....
نعيد تسمية الفريق "سبعة" إلى "LAGER" ونعيد التشغيل. بعد إعادة تشغيل LAGER الجديد ، نتحقق من:
buzz @ sysadmin: ~ $ مضيف سبعة لم يتم العثور على المضيف سبعة: 5 (مرفوض) Buzz@sysadmin:~$ المضيف سبعة.desdelinux.معجب استضافة سبعة.desdelinuxلم يتم العثور على المروحة: 3(NXDOMAIN) شرب حتى الثمالةsysadmin: ~ $ مضيف الجعة الجعة.desdelinux.fan له عنوان 192.168.10.30 شرب حتى الثمالة@sysadmin:~$host الجعة.desdelinux.معجب الجعة.desdelinux.fan له عنوان 192.168.10.30 Buzz@sysadmin:~$ dig IN TXT lager.desdelinux.معجب .... ؛؛ قسم الأسئلة: الجعة.desdelinux.معجب. في النص؛؛ قسم الإجابة: الجعة.desdelinux.معجب. 3600 في النص"31b7228ddd3a3b73be2fda9e09e601f3e9"....
بخصوص عميل سطح المكتب suse:
buzz @ sysadmin: ~ $ host suse-dektop لم يتم العثور على المضيف suse-dektop: 5 (مرفوض) buzz @ sysadmin: ~ $ host suse-desktop سطح المكتب.desdelinux.fan له عنوان 192.168.10.33 Buzz@sysadmin:~$ المضيف suse-desktop.desdelinux.معجب سطح المكتب.desdelinux.fan له عنوان 192.168.10.33 buzz @ sysadmin: ~ $ host 192.168.10.33 33.10.168.192.in-addr.arpa مؤشر اسم المجال suse-desktop.desdelinux.معجب. buzz @ sysadmin: ~ $ host 192.168.10.30 30.10.168.192.in-addr.arpa مؤشر اسم المجال LAGER.desdelinux.معجب.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33 .... ؛؛ قسم الأسئلة: ;33.10.168.192.in-addr.arpa. في بتر؛؛ قسم الإجابة: 33.10.168.192.in-addr.arpa. 3600 بوصة PTR للاستخدام المكتبي.desdelinux.معجب. ؛؛ قسم السلطة: 10.168.192.in-addr.arpa. 10800 في NS DNS.desdelinux.معجب. ؛؛ قسم إضافي: نظام أسماء النطاقات.desdelinux.معجب. 10800 إلى 192.168.10.5 .... Buzz@sysadmin:~$ dig IN TXT suse-desktop.desdelinux.معجب.... ;suse-desktop.desdelinux.معجب. في النص؛؛ قسم الإجابة: استخدام سطح المكتب.desdelinux.معجب. 3600 في النص "31b78d287769160c93e6dca472e9b46d73" ؛؛ قسم السلطة: desdelinux.معجب. 10800 في NS DNS.desdelinux.معجب. ؛؛ قسم إضافي: نظام أسماء النطاقات.desdelinux.معجب. 10800 إلى 192.168.10.5 ....
لنقم أيضًا بتشغيل الأوامر التالية
[root@dns ~]# dig desdelinux.مروحة axfr ; <<>> ديج 9.9.4-ريدهات-9.9.4-29.el7_2.4 <<>> desdelinux.مروحة axfr ;; الخيارات العالمية: +cmd desdelinux.معجب. 10800 في نظام أسماء النطاقات SOA.desdelinux.معجب. root.dns.desdelinux.معجب. 6 86400 3600 604800 10800 desdelinux.معجب. 10800 في NS DNS.desdelinux.معجب. desdelinux.معجب. 10800 في MX 10 البريد الإلكتروني.desdelinux.معجب. desdelinux.معجب. 10800 في نص "FromLinux، مدونتك المخصصة للبرمجيات الحرة" ad-dc.desdelinux.معجب. 10800 في مدونة 192.168.10.3.desdelinux.معجب. 10800 في 192.168.10.7 نظام أسماء النطاقات.desdelinux.معجب. 10800 إلى 192.168.10.5 خادم الملفات.desdelinux.معجب. 10800 في خادم 192.168.10.4 قدم.desdelinux.معجب. 10800 في 192.168.10.8 لاجر.desdelinux.معجب. 3600 في النص"31b7228ddd3a3b73be2fda9e09e601f3e9"الجعة.desdelinux.معجب. 3600 في بريد إلكتروني 192.168.10.30.desdelinux.معجب. 10800 في 192.168.10.9 proxyweb.desdelinux.معجب. 10800 في 192.168.10.6 يستخدم سطح المكتب.desdelinux.معجب. 3600 في النص"31b78d287769160c93e6dca472e9b46d73"suse-سطح المكتب.desdelinux.معجب. 3600 في 192.168.10.33 مسؤول النظام.desdelinux.معجب. 10800 إلى 192.168.10.1 desdelinux.معجب. 10800 في نظام أسماء النطاقات SOA.desdelinux.معجب. root.dns.desdelinux.معجب. 6 86400 3600 604800 10800
في المخرجات السابقة، أبرزنا بخط عريض قيم TTL ( بالثواني) للأجهزة التي تم تخصيص عناوين IP لها بواسطة خدمة DHCP، والتي تم تحديد قيمة TTL لها صراحةً بـ 3600 ثانية من قِبل DHCP. أما عناوين IP الثابتة فتخضع لقيمة TTL تبلغ 3 ساعات (3 ساعات = 10800 ثانية) والمُحددة في سجل SOA لكل ملف منطقة.
يمكنهم التحقق من المنطقة العكسية بنفس الطريقة.
[root @ dns ~] # حفر 10.168.192.in-addr.arpa axfr
أوامر أخرى مثيرة للاهتمام للغاية هي:
[root@dns ~]# name-journalprint /var/named/dynamic/db.desdelinux.fan.jnl [root @ dns ~] # named-journalprint /var/itled/dynamic/db.10.168.192.in-addr.arpa.jnl [root @ dns ~] # journalctl -f
التعديل اليدوي لملفات المناطق
بعد أن يتولى DHCP تحديث ملفات منطقة الخادم المسمى ديناميكيًا ، إذا احتجنا في أي وقت إلى تعديل ملف منطقة يدويًا، فيجب علينا تنفيذ الإجراء التالي، ولكن ليس قبل معرفة المزيد عن كيفية عمل أداة rndc للتحكم في خادم الأسماء.
[root @ DNS ~] # man rndc
....
تجميد [منطقة [فئة [عرض]]]
قم بإيقاف التحديثات إلى منطقة ديناميكية. إذا لم يتم تحديد منطقة ، فسيتم تعليق جميع المناطق. يسمح هذا بإجراء تعديلات يدوية على منطقة يتم تحديثها عادةً عن طريق التحديث الديناميكي. يؤدي أيضًا إلى مزامنة التغييرات في ملف دفتر اليومية مع الملف الرئيسي. سيتم رفض جميع محاولات التحديث الديناميكي أثناء تجميد المنطقة.
ذوبان الجليد [المنطقة [فئة [عرض]]]
قم بتمكين التحديثات للمنطقة الديناميكية المجمدة. إذا لم يتم تحديد منطقة ، فسيتم تمكين جميع المناطق المجمدة. يؤدي هذا إلى قيام الخادم بإعادة تحميل المنطقة من القرص ، وإعادة تمكين التحديثات الديناميكية بعد اكتمال التحميل. بعد إذابة منطقة ما ، لن يتم رفض التحديثات الديناميكية بعد ذلك. إذا تغيرت المنطقة وكان خيار ixfr من الاختلافات قيد الاستخدام ، فسيتم تحديث ملف دفتر اليومية ليعكس التغييرات في المنطقة. خلاف ذلك ، إذا تم تغيير المنطقة ، ستتم إزالة أي ملف دفتر يومية موجود. ....
ماذا، هل اعتقدت أنني سأقوم بنسخ الدليل بأكمله؟... قطعة ويذهبون بالسيارة. أترك الباقي لكم.
في الأساس:
- تجميد rndc [المنطقة [فئة [عرض]]]، يوقف التحديث الديناميكي للمنطقة. إذا لم يتم تحديد واحد ، فسيتم تجميد الكل. يسمح الأمر بالتحرير اليدوي للمنطقة المجمدة أو جميع المناطق. سيتم رفض أي تحديث ديناميكي أثناء التجميد.
- ذوبان rndc [منطقة [فئة [عرض]]]، يتيح تحديثات ديناميكية في منطقة مجمدة مسبقًا. يقوم خادم DNS بإعادة تحميل ملف المنطقة من القرص ، ويتم إعادة تمكين التحديثات الديناميكية بعد اكتمال إعادة التحميل.
ما هي الاحتياطات التي يجب اتخاذها عند تعديل ملف منطقة يدويًا؟ نفس الاحتياطات كما لو كنا نقوم بإنشائه، مع تذكر زيادة الرقم التسلسلي بمقدار 1 قبل حفظ الملف بالتغييرات النهائية.
على سبيل المثال:
[root @ DNS ~] # تجميد rndc desdelinux.معجب
[root@dns ~]# nano /var/named/dynamic/db.desdelinux.معجب
أقوم بتعديل ملف المنطقة لأي سبب ، ضروري أم لا. احفظ التغييرات
[الجذر @ DNS ~] # ذوبان الجليد rndc desdelinux.معجب
بدأت عملية إعادة تحميل المنطقة والذوبان. تحقق من السجلات لمعرفة النتيجة.
[root @ dns ~] # journalctl -f
29 يناير 14:06:46 نظام أسماء النطاقات المسمى[2257]: منطقة الذوبان 'desdelinux.fan/IN': النجاح
29 يناير 14:06:46 نظام أسماء النطاقات المسمى[2257]: المنطقة desdelinux.fan/IN: المنطقة التسلسلية (6) دون تغيير. قد تفشل المنطقة في النقل إلى العبيد.
29 يناير 14:06:46 نظام أسماء النطاقات المسمى[2257]: المنطقة desdelinux.fan/IN: تحميل المسلسل 6
يرجع الخطأ في الإخراج السابق ، والذي يظهر باللون الأحمر على وحدة التحكم ، إلى حقيقة أنني "نسيت" زيادة الرقم التسلسلي بمقدار 1. إذا كنت قد اتبعت الإجراء بشكل صحيح ، لكان الناتج:
[root @ dns ~] # journalctl -f - تبدأ السجلات في يوم الأحد 2017-01-29 الساعة 08:31:32 بتوقيت شرق الولايات المتحدة. - 29 يناير 14:06:46 نظام أسماء النطاقات المسمى[2257]: المنطقة desdelinux.fan/IN: تم تحميل المسلسل في 6 يناير 29 14:10:01 DNS systemd[1]: بدء الجلسة 43 من جذر المستخدم. 29 يناير 14:10:01 DNS systemd[1]: بدء الجلسة 43 لجذر المستخدم. 29 يناير 14:10:01 نظام أسماء النطاقات CROND[2693]: (الجذر) CMD (/usr/lib64/sa/sa1 1 1) 29 يناير 14:10:45 نظام أسماء النطاقات المسمى[2257]: تم تلقي أمر قناة التحكم "تجميد" desdelinux.fan' 29 يناير 14:10:45 نظام أسماء النطاقات المسمى[2257]: منطقة التجميد 'desdelinux.fan/IN': نجاح في 29 يناير 14:10:58 نظام أسماء النطاقات المسمى[2257]: تلقى أمر قناة التحكم "ذوبان الجليد" desdelinux.fan' 29 يناير 14:10:58 نظام أسماء النطاقات المسمى[2257]: منطقة الذوبان 'desdelinux.fan/IN': نجاح 29 يناير 14:10:58 نظام أسماء النطاقات المسمى[2257]: المنطقة desdelinux.fan/IN: ملف دفتر اليومية قديم: إزالة ملف دفتر اليومية 29 يناير 14:10:58 نظام أسماء النطاقات المسمى[2257]: المنطقة desdelinux.fan/IN: تحميل المسلسل 7
- أصدقاء القراء ، أكرر أنه عليك قراءة مخرجات الأوامر بعناية. بالنسبة لشيء ما ، أنفق مطوروه الكثير من العمل في برمجة كل أمر ، بغض النظر عن مدى بساطته.
ملخص
لقد تناولنا حتى الآن تنفيذ DNS - DHCP الثنائي ، وهما خدمات مهمة وحاسمة للأداء الجيد لشبكة SME الخاصة بنا ، مشيرًا إلى منح العناوين الديناميكية من خلال DHCP وحل أسماء الكمبيوتر والمجالات من خلال DNS.
نأمل بشدة أن تكون قد استمتعت بالإجراء بأكمله كما فعلنا. على الرغم من أن استخدام وحدة التحكم قد يبدو أكثر صعوبة ، إلا أنه من الأسهل والأكثر تعليمًا تنفيذ خدمة في UNIX® / Linux بمساعدتها.
سامحني على أي تفسير خاطئ للمفاهيم التي فكر فيها، أو تم إنشاؤها، أو كتابتها، أو تنقيحها، أو إعادة كتابتها، أو نشرها بلغة شكسبير، وليس لغة سرفانتس.
التسليم المقبل
أعتقد أن الشيء نفسه - مع الإضافات النظرية على سجلات DNS - ولكن في دبيان. لا يمكننا أن ننسى هذا التوزيع ، أليس كذلك؟