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

تُعرف خادم DNS التخزين المؤقت الوحيد أيضًا باسم المحلل، الذي سيستعلم عن سجلات DNS واستحصال جميع تفاصيل DNS من الخوادم الأخرى، وسيحتفظ بكل طلب استعلام في ذاكرته المؤقتة للاستخدام لاحقًا بحيث عندما نقوم بنفس الطلب في المستقبل، سيخدم من ذاكرته المؤقتة، مما يقلل الوقت اللازم للاستجابة حتى أكثر.
إذا كنت تبحث عن إعداد خادم DNS للتخزين المؤقت فقط في CentOS/RHEL 6، اتبع هذا الدليل هنا:
إعداد خادم اسم DNS للتخزين المؤقت فقط في CentOS/RHEL 6
بيئة الاختبار الخاصة بي
DNS server : dns.tecmintlocal.com (Red Hat Enterprise Linux 7.1) Server IP Address : 192.168.0.18 Client : node1.tecmintlocal.com (CentOS 7.1) Client IP Address : 192.168.0.29
الخطوة 1: تثبيت خادم DNS للتخزين المؤقت فقط في RHEL/CentOS 7
1. يمكن تثبيت خادم DNS للتخزين المؤقت فقط عبر حزمة bind. إذا لم تتذكر اسم الحزمة، يمكنك القيام ببحث سريع عن اسم الحزمة باستخدام الأمر التالي.
# yum search bind

2. في النتيجة أعلاه، سترى عدة حزم. من بين تلك، نحتاج إلى اختيار وتثبيت فقط حزم bind و bind-utils باستخدام الأمر yum التالي.
# yum install bind bind-utils -y

الخطوة 2: تكوين DNS للتخزين المؤقت فقط في RHEL/CentOS 7
3. بمجرد تثبيت حزم DNS يمكننا المضي قدمًا وتكوين DNS. قم بفتح وتحرير /etc/named.conf
باستخدام محرر النص الخاص بك. قم بإجراء التغييرات المقترحة أدناه (أو يمكنك استخدام الإعدادات الخاصة بك حسب احتياجاتك).
listen-on port 53 { 127.0.0.1; any; }; allow-query { localhost; any; }; allow-query-cache { localhost; any; };

توجيهات هذه الأوامر توجه خادم DNS للاستماع على منفذ UDP 53، والسماح للاستعلامات وحفظ الردود من localhost وأي جهاز آخر يصل إلى الخادم.
4. من المهم أن نلاحظ أن ملكية هذا الملف يجب أن تكون مضبوطة إلى root:named
وأيضًا إذا كان SELinux ممكنًا، بعد تحرير ملف التكوين يجب التأكد من أن سياقه مضبوط إلى named_conf_t
كما هو موضح في الشكل 4 (نفس الشيء بالنسبة للملف المساعد /etc/named.rfc1912.zones
):
# ls -lZ /etc/named.conf # ls -lZ /etc/named.rfc1912.zones
إلا ذلك، قم بتكوين سياق SELinux قبل المتابعة:
# semanage fcontext -a -t named_conf_t /etc/named.conf # semanage fcontext -a -t named_conf_t /etc/named.rfc1912.zones
5. بالإضافة إلى ذلك، نحتاج الآن إلى اختبار تكوين DNS الآن لبعض أخطاء الصيغة قبل بدء خدمة bind:
# named-checkconf /etc/named.conf
6. بعد أن يبدو نتائج التحقق من الصيغة مثالية، أعد تشغيل named لأخذ التغييرات الجديدة بعين الاعتبار وكذلك لجعل الخدمة تبدأ تلقائيًا عبر أقراص النظام، ثم تحقق من حالتها:
# systemctl restart named # systemctl enable named # systemctl status named

7. بعد ذلك، قم بفتح المنفذ 53 على جدار الحماية.
# firewall-cmd --add-port=53/udp # firewall-cmd --add-port=53/udp --permanent

الخطوة 3: تشغيل خادم DNS ذو الذاكرة المؤقتة المعزولة في RHEL و CentOS 7
8. إذا كنت ترغب في نشر خادم DNS الذي يعمل كخادم للتخزين المؤقت فقط داخل بيئة chroot ، فيجب عليك أولاً تثبيت حزمة chroot على النظام ولن تحتاج إلى أي تكوين إضافي حيث أنها تقوم افتراضيًا بالربط الصلب مع chroot.
# yum install bind-chroot -y
بمجرد تثبيت حزمة chroot ، يمكنك إعادة تشغيل الـ named لتطبيق التغييرات الجديدة:
# systemctl restart named
9. بعد ذلك ، قم بإنشاء رابط رمزي (يسمى أيضًا /etc/named.conf
) داخل /var/named/chroot/etc/
:
# ln -s /etc/named.conf /var/named/chroot/etc/named.conf
الخطوة 4: تكوين DNS على جهاز العميل
10. أضف خوادم DNS Cache IP 192.168.0.18 كمحل حل لجهاز العميل. قم بتحرير /etc/sysconfig/network-scripts/ifcfg-enp0s3
كما هو موضح في الشكل التالي:
DNS=192.168.0.18

و /etc/resolv.conf كما يلي:
nameserver 192.168.0.18
11. وأخيرًا حان الوقت للتحقق من خادم التخزين المؤقت الخاص بنا. يمكنك استخدام أداة dig أو أمر nslookup للقيام بذلك.
اختر أي موقع واستعلم عنه مرتين (سنستخدم facebook.com كمثال). لاحظ أنه مع dig ، يتم إكمال الاستعلام بشكل أسرع في المرة الثانية لأنه يتم تقديمه من التخزين المؤقت.
# dig facebook.com

يمكنك أيضًا استخدام nslookup للتحقق من أن خادم DNS يعمل كما هو متوقع.
# nslookup facebook.com

ملخص
في هذه المقالة قمنا بشرح كيفية إعداد خادم DNS Cache-only في Red Hat Enterprise Linux 7 و CentOS 7، واختبرناه في جهاز العميل. لا تتردد في إخبارنا إذا كان لديك أي أسئلة أو اقتراحات باستخدام النموذج أدناه.
Source:
https://www.tecmint.com/install-configure-cache-only-dns-server-in-rhel-centos-7/