إعداد خادم DNS Server للتخزين المؤقت في سيرفر Ubuntu Server 14.04

اخر تحديث في مايو 27, 2023 بواسطة حمدي بانجار

إعداد خادم DNS Server للتخزين المؤقت في سيرفر Ubuntu Server 14.04

خدمة اسم المجال (DNS) هي خدمة تسمية تقوم بتعيين عناوين IP وأسماء المجال المؤهلة بالكامل لبعضها البعض. تسمى أجهزة الكمبيوتر التي تقوم بتشغيل DNS خوادم الأسماء.

قبل الدخول بعمق ، نحتاج إلى معرفة خادم DNS وكيفية عمله.

إعداد خادم DNS Server للتخزين المؤقت في سيرفر Ubuntu Server 14.04

ما هو DNS؟

هذه طريقة سهلة لفهم DNS وكيفية عمله.

إذا كنا بحاجة إلى الوصول إلى tecmint.com في المتصفح ، فسيقوم النظام بالبحث عن tecmint.com. هنا في نهاية com. سيكون هناك (.) فما هو هذا؟

تمثل (.) خادم الجذر  ، وهناك إجمالي 13 ملقمات جذر متاحة على الصعيد العالمي. فبينما ندخل إلى tecmint.com ، فسوف نطلب تسمية الخادم حسب تهيئة نظام التشغيل.

في Ubuntu ، استخدمنا لتكوين server-name في /etc/resolv.conf ، أثناء الوصول إلى tecmint.com سيطلب متصفح الويب الخاص بي-خوادم اسم الجذر ، إذا لم يكن لخادم اسم الجذر معلومات المجال المطلوبة سيقوم بتخزين معلوماتي المطلوبة وإرسال طلبي إلى خادم اسم المستوى الأعلى (TLD) ، اذا كان في خادم اسم TLD ، طلبي غير متوفر ايضا سيتم تخزينه مؤقتًا وإعادة توجيهه إلى خادم الاسم الرسمي.

أثناء تسجيل النطاق ، سيحدد مسجل النطاق لدينا خادم الاسم الرسمي الذي يجب أن يستخدمه نطاقنا. لذلك ، تحتوي خوادم الأسماء الموثوقة على معلومات نطاقنا ، في حين يصل طلبنا إلى ANS فسيجيب عن طلب البحث tecmint.com الذي يحمل 111.111.222.1 مثلا في الوقت نفسه سيتم تخزينه مؤقتًا في خادم الاسم الرسمي ويرسل الطلب مرة أخرى إلى المتصفح. تتم كل الخطوات المذكورة أعلاه خلال ميلي من الثانية. :mrgreen:

 

الآن دعونا إنشاء خادم DNS التخزين المؤقت في Ubuntu Server 14.04 LTS.

الخطوة 1: تثبيت خادم DNS

أولاً ، ألقِ نظرة على معلومات خادم DNS المحلي مثل عنوان IP الثابت واسم المضيف ، المستخدم لغرض هذه المقالة.

IP Address: 192.168.0.100
Hostname: dns.tecmintlocal.com

للتحقق من صحة الإعدادات السابقة ، يمكننا استخدام أوامر “hostnamectl” و “ifconfig”.

Verify-System-Hostname

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

$ sudo apt-get update && sudo apt-get upgrade -y

upgrade-ubuntu

الآن ، قم بتثبيت ربط حزم DNS و dnsutils باستخدام الأمر التالي.

$ sudo apt-get install bind9 dnsutils -y

Install DNS Serve

مرة واحدة ، تثبيت نظام أسماء النطاقات ، والانتقال إلى دليل التكوين directory, under /etc/bind.

$ /etc/bind/
$ ls -l

Bind Configuration

الخطوة 2: إعداد خادم DNS Cache

بادئ ذي بدء ، قمنا بإعداد وتكوين خادم التخزين المؤقت هنا. فتح وتحرير الملف named.conf.options باستخدام محرر vim.

$ sudo vim named.conf.options

الآن ، هنا يتم استخدام كلمة “forwarders” لتخزين طلبات أسماء النطاقات مؤقتًا. لذا ، سنستخدم هنا جهاز التوجيه الخاص بي كمقدم الشحن. Uncomment // in-front كما هو موضح في الصورة.

forwarders {
192.168.0.1;
};

حفظ والخروج من الملف باستخدام wq! الآن حان الوقت لبدء خادم الربط لإجراء اختبار صغير.

$ sudo /etc/init.d/bind9 start

Start DNS Server

إذا كنا بحاجة إلى اختبار ما إذا كان caching يعمل ، فيمكننا استخدام أمر dig command والتحقق مما إذا كانت ذاكرة التخزين المؤقت caching تعمل أم لا.

على سبيل المثال ، سنقوم ب dig command لـ ubuntu.com الآن ، في البداية ، لن تكون ذاكرة تخزين مؤقت ، لذلك قد يستغرق الأمر بعض الميلي ثانية ، بمجرد أن يتم تخزينها مؤقتًا ، ستكون بسرعة البرق.

$ dig @127.0.0.1 ubuntu.com

أمر dig command هو أداة للبحث عن DNS.

Query DNS Lookups

هنا ، يمكننا أن نرى في الصورة أعلاه عند dig الأول استغرق الأمر 1965 ميلي ثانية لاستعلامي ويظهر التي يتم ربط ipaddress إلى ubuntu.com.

دعنا نحاول dig المزيد ونرى وقت الاستعلام.

رائع ، في المحاولة الثانية حصلنا على الاستعلام في غضون 5 مللي ثانية. آمل أن تعرف ما هو خادم التخزين المؤقت الآن ( الكاش ). توضح الصورة أعلاه ، أن إجمالي 13 خادمًا أساسيًا يعمل على تخزين Ubuntu.com مؤقتًا ، لأن ملايين الأشخاص قد وصلوا بالفعل إلى موقع Ubuntu الرسمي.

الخطوة 3: إعداد ملقم DNS الرئيسي

إنشاء MASTER DNS Server ، هنا أنا أعرّف اسم النطاق باسم tecmintlocal.com ، وقم بتحرير الملف named.conf.local باستخدام محرر vim.

$ sudo vim /etc/bind/named.conf.local

أدخل إدخال DNS-Master كما هو موضح أدناه.

zone "tecmintlocal.com" {
type master;
file "/etc/bind/db.tecmintlocal.com";
};

  • zone: تفاصيل المضيفين في المجال
  • type: Master DNS.
  • file: موقع لتخزين معلومات المنطقة.

Create Zone in DNS

قم بإنشاء ملف المنطقة db.tecmintlocal.com (Forward look-ups) من عمل نسخة من db.local.

$ sudo cp db.local db.tecmintlocal.com

الآن فتح وتحرير ملف المنطقة المنسوخة باستخدام محرر vim.

$ sudo vim db.tecmintlocal.com

Copy Zone Files

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

;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA tecmintlocal.com. root.tecmintlocal.com. (
2014082801 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.tecmintlocal.com.
ns IN A 192.168.0.100
clt1 IN A 192.168.0.111
ldap IN A 192.168.0.200
ldapc IN A 192.168.0.211
mail IN CNAME clt1.tecmintlocal.com.

حفظ والخروج من الملف باستخدام wq!

Create Forward DNS Zone

وأخيرًا ، أعد تشغيل خدمة bind DNS باستخدام الأمر أدناه.

$ sudo service bind9 restart

Start DNS Service

نحتاج إلى تأكيد ما إذا كان إعداد المنطقة أعلاه يعمل. دعونا نتحقق من استخدام الأمر dig. قم بتشغيل الأمر كما يلي من استعلام localhost.

$ dig @127.0.0.1 mail.tecmintlocal.com

Verify DNS Zone

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

افتح وتحرير إعدادات Network interface وأدخل إدخال نظام أسماء النطاقات.

$ sudo vim /etc/network/interfaces

قم بتغيير إدخال DNS في interface على النحو التالي.

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
network 192.168.0.0
broadcast 192.168.0.255
dns-nameservers 127.0.0.1
dns-search tecmintlocal.com

Add DNS Entry

بعد إضافة الإدخال ، أعد تشغيل الشبكة باستخدام الأمر التالي.

$ sudo ifdown eth0 && sudo ifup eth0

في حالة عدم بدء إعادة تشغيل الشبكة ، يجب أن نحتاج إلى إعادة تشغيل. الآن دعنا نتحقق من الأمر ping وتحقق من clt1.tecmintlocal.com ، بينما كان الرد عليه ، نحتاج إلى الحصول على عنوان IP الذي حددناه لاسم المضيف host-name clt1.

Ping Domain

وضع عكس بحث DNS

مرة أخرى فتح وتحرير الملف named.conf.local.

$ sudo vim /etc/bind/named.conf.local

وضع العكس :

zone "0.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.tecmintlocal192";
};

Create Reverse DNS

حفظ والخروج من الملف باستخدام wq! الآن إنشاء ملف db.tecmintlocal192 ، كما ذكرت في الملف الرئيسي أعلاه للبحث عن عكس ، نسخ db.127 إلى db.tecmintlocal192 باستخدام الأمر التالي.

$ sudo cp db.127 db.tecmintlocal192

الآن ، افتح وتحرير ملف db.tecmintlocal192 لإعداد البحث العكسي.

$ sudo vim db.tecmintlocal192

أدخل الإدخال التالي على النحو التالي ، قم بتعديل الإدخال أدناه حسب متطلباتك.

;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.tecmintlocal.com. root.tecmintlocal.com. (
2014082802 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
100 IN PTR ns.tecmintlocal.com.
111 IN PTR ctl1.tecmintlocal.com.
200 IN PTR ldap.tecmintlocal.com.
211 IN PTR ldapc.tecmintlocal.com.

Reverse DNS Entry

أعد تشغيل خدمة bind .

الآن ، تحقق من إدخال البحث الاحتياطي.

$ host 192.168.0.111

أثناء قيامنا بإجراء بحث reverse look-up باستخدام عنوان IP كما هو موضح أعلاه ، فإنه يريد الرد باستخدام اسم كما يظهر في الصورة السابقة.

دعونا نفعل فحص باستخدام الأمر dig command أيضا.

$ dig clt1.tecmintlocal.com

 Reverse-DNS-Lookup

هنا ، يمكننا رؤية الإجابة عن قسم الاستعلام في قسم الإجابة ، حيث أن اسم المجال clt1.tecmintlocal.com له عنوان ip 192.168.0.111.

الخطوة 4: إعداد جهاز العميل

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

دعنا نتحقق من اسم المضيف لعميلنا الكلاينت باستخدام سلسلة الأوامر التالية.

$ ifconfig eth0 | grep inet
$ hostname
$ dig -x 192.168.0.100

Verify Local DNS

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

Understanding DNS Zone Entry

أنتهى …  إعداد خادم DNS Server للتخزين المؤقت في سيرفر Ubuntu Server 14.04

إعداد خادم DNS Server للتخزين المؤقت في سيرفر Ubuntu Server 14.04

الى هنا نكون وصلنا الى نهاية موضوعنا اليوم إعداد خادم DNS Server للتخزين المؤقت في سيرفر Ubuntu Server 14.04

والذي نتمنى ان ينال رضاكم واعجابكم والى اللقاء في موضوع جديد شيق ورائع وحتى ذلك الحين لاتنسو الاهتمام بصحتكم وحفظكم الله …

اذا اعجبك الموضوع إعداد خادم DNS Server للتخزين المؤقت في سيرفر Ubuntu Server 14.04 لاتنسى ان تقوم بمشاركتة على مواقع التواصل الاجتماعي ليستفيذ منه الغير,كما نتمنى اشتراككم في قناة الموقع على اليوتيوب بالضغط هنا وكذلك الاشتراك في مجموعة الفيس بوك بالضغط هنا والتيليقرام بالضغط هنا  وكذلك التسجيل بالموقع لتتمكنو من تحميل بعض الملفات الخاصة بالأعضاء كما يمكنكم رفع ملفاتكم مجانا على مركز ملفات حضرموت التقنية بالضغط هنا ولاتترددو في وضع أي استفسارات للرد عليكم إعداد خادم DNS Server للتخزين المؤقت .

دمتم بكل ود والسلام عليكم ورحمة الله وبركاتةحضرموت التقنية

حول حمدي بانجار

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

تحقق أيضا

كيف تصنع VLAN في Ubuntu Linux حتى تتمكن من تقسيم الشبكة الخاصة بك

كيف تصنع VLAN في Ubuntu Linux حتى تتمكن من تقسيم الشبكة الخاصة بك

اخر تحديث في مايو 27, 2023 بواسطة حمدي بانجار كيف تصنع VLAN في Ubuntu Linux …