كيفية تكوين dnsmasq على خادم Ubuntu 18.04 LTS

How Configure Dnsmasq Ubuntu Server 18



dnsmasq هو خادم DNS محلي خفيف الوزن للغاية. يمكن أيضًا تكوين dnsmasq كخادم ذاكرة التخزين المؤقت لـ DNS وخادم DHCP. يحتوي dnsmasq على دعم IPv4 و IPv6 بما في ذلك DHCPv4 و DHCPv6. dnsmasq مثالي للشبكات الصغيرة.

في هذه المقالة ، سأوضح لك كيفية استخدام dnsmasq لتكوين خادم DNS محلي ، والتخزين المؤقت لخادم DNS وخادم DHCP. لذلك دعونا نبدأ.







طوبولوجيا الشبكة:

هذا هو هيكل الشبكة لهذه المقالة. هنا ، سوف أقوم بتكوين جهاز التوجيه كخادم DNS و DHCP مع dnsmasq. جهاز التوجيه يحتوي على واجهتين للشبكة ، واحدة ( ens33 ) يتصل بـ إنترنت والآخر ( ens38 ) يتصل بـ شبكة swtich . جميع المضيفين الآخرين ( المضيف 1 و المضيف 2 و المضيف 3 ) على الشبكة يستخدم خادم DHCP الذي تم تكوينه على ملف جهاز التوجيه للتعيين التلقائي لعناوين IP وخادم DNS لتحليل الاسم.





تكوين IP ثابت:

في طوبولوجيا شبكتي ، رأيت يا بلدي جهاز التوجيه يحتوي على واجهتين ens33 و ens38 . يقوم ens33 بتوصيل جهاز التوجيه بالإنترنت و ens38 متصل بـ مبدل الشبكة ، التي تتصل بها أجهزة الكمبيوتر الأخرى على الشبكة. سأضطر إلى استخدام DHCP للحصول على عنوان IP لملف ens33 واجهة من مزود خدمة الإنترنت للاتصال بالإنترنت. لكن ال ens38 يجب تكوين الواجهة يدويًا.





دعونا نستخدم الشبكة 192.168.10.0/24 لواجهة ens38 وأجهزة الكمبيوتر الأخرى على الشبكة. إذا كنت أستخدم الشبكة 192.168.10.0/24 ، فسيكون عنوان IP الخاص بـ ens38 يجب أن تكون واجهة جهاز التوجيه 192.168.10.1/24. هذا هو عنوان IP لخادم DNS dnsmasq وخادم DHCP.

ملاحظة: قد يكون اسم واجهة الشبكة الخاص بك مختلفًا. يمكنك معرفة ما هو مناسب لك باستخدام الملكية الفكرية أ أمر.



على Ubuntu Server 18.04 LTS ، يمكنك استخدام ملفات netplan لتكوين واجهات الشبكة. ملف تكوين netplan الافتراضي هو /etc/netplan/50-cloud-init.yaml .

أولاً ، افتح ملف التكوين /etc/netplan/50-cloud-init.yaml بالأمر التالي:

$سودو نانو /إلخ/netplan/خمسون- سحابة- init.yaml

الآن ، اكتب الأسطر التالية واحفظ الملف بالضغط + x تليها و و .

الآن ، أعد تشغيل ملف جهاز التوجيه بالأمر التالي:

$سودواعادة التشغيل

مرة واحدة في جهاز التوجيه التمهيد ، يجب تعيين عناوين IP كما هو متوقع.

تركيب dnsmasq:

يتوفر dnsmasq في مستودع الحزم الرسمي لـ Ubuntu. لذلك ، يمكنك تثبيته بسهولة باستخدام مدير حزم APT.

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

لوقف حل النظام service ، قم بتشغيل الأمر التالي:

$سودوتوقف systemctl عن حل systemd

لتعطيل حل النظام service ، قم بتشغيل الأمر التالي:

$سودوsystemctl تعطيل حل النظام

بشكل افتراضي ، فإن ملف /etc/resolv.conf الملف مرتبط بملف تكوين systemd آخر كما ترى في لقطة الشاشة أدناه. لكننا لا نريدها بعد الآن.

لذا ، قم بإزالة ملف /etc/resolv.conf الارتباط بالأمر التالي:

$سودو جمهورية مقدونيا -الخامس /إلخ/resolv.conf

الآن ، قم بإنشاء ملف /etc/resolv.conf ملف وتعيين خادم google DNS كخادم DNS الافتراضي بالأمر التالي:

$رما - طرد - قذف 'خادم الأسماء 8.8.8.8' | سودو قمزة /إلخ/resolv.conf

الآن ، قم بتحديث ذاكرة التخزين المؤقت لمستودع حزمة APT بالأمر التالي:

$سودوتحديث مناسب

الآن ، قم بتثبيت dnsmasq باستخدام الأمر التالي:

$سودوملائمتثبيتdnsmasq

يجب تثبيت dnsmasq.

تكوين خادم DNS dnsmasq:

ملف التكوين الخاص بـ dnsmasq هو /etc/dnsmasq.conf . لتكوين dnsmasq كخادم DNS ، يجب عليك تعديل هذا الملف.

الافتراضي /etc/dnsmasq.conf يحتوي الملف على الكثير من الوثائق وخيارات التعليق. لذا ، أعتقد أنه من الأفضل إعادة تسمية /etc/dnsmasq.conf ملف /etc/dnsmasq.conf.bk وإنشاء واحدة جديدة.

يمكنك إعادة تسمية ملف التكوين بالأمر التالي:

$سودو م -الخامس /إلخ/dnsmasq.conf/إلخ/dnsmasq.conf.bk

الآن ، قم بإنشاء ملف التكوين /etc/dnsmasq.conf على النحو التالي:

$سودو نانو /إلخ/dnsmasq.conf

الآن ، اكتب الأسطر التالية واحفظ الملف بالضغط + x تليها و و .

# تكوين DNS
ميناء=53

المجال المطلوب
مزيف خاص
ترتيب صارم

توسيع المضيفين
نطاق= example.com

ملاحظة: يتغيرون example.com لاسم المجال الخاص بك.

الآن ، أعد تشغيل خدمة dnsmasq باستخدام الأمر التالي:

$سودوإعادة تشغيل systemctl dnsmasq

لا اخطاء. رائعة!

الآن ، عليك أن تحدد 192.168.10.1 كعنوان خادم DNS الافتراضي في ملف /etc/resolv.conf .

للقيام بذلك ، افتح /etc/resolv.conf ملف بالأمر التالي:

$سودو نانو /إلخ/resolv.conf

الآن ، اكتب خادم الأسماء 192.168.10.1 قبل الخط خادم الأسماء 8.8.8.8 كما هو موضح في الصورة أدناه. ثم احفظ الملف.

هذا كل شيء.

إضافة سجلات DNS:

الآن ، يمكنك إضافة إدخالات DNS الخاصة بك إلى ملف / etc / hosts ملف.

أولاً ، افتح ملف / etc / hosts ملف بالأمر التالي:

$سودو نانو /إلخ/المضيفين

الآن ، اكتب إدخالات DNS الخاصة بك بالتنسيق التالي:

IP_ADDR DOMAIN_NAME

لقد أضفت 4 إدخالات router.example.com (192.168.10.1) و host1.example.com (192.168.10.51) و host2.example.com (192.168.10.52) ، و host3.example.com (192.168.10.53) كما هو موضح في لقطة الشاشة أدناه. يمكنك إضافة العديد من إدخالات DNS كما تريد.

بمجرد الانتهاء ، احفظ الملف بالضغط على + x تليها و و .

الآن ، أعد تشغيل خدمة dnsmasq باستخدام الأمر التالي:

$سودوإعادة تشغيل systemctl dnsmasq

اختبار خادم DNS:

كما ترى ، يعمل حل DNS المحلي.

$أنتrouter.example.com

تحليل اسم الإنترنت يعمل أيضًا.

$أنتجوجل كوم

تكوين خادم DHCP:

لتكوين خادم DHCP ، افتح ملف تكوين dnsmasq /etc/dnsmasq.conf مرة أخرى على النحو التالي:

$سودو نانو /إلخ/dnsmasq.conf

الآن ، أضف الأسطر المحددة إلى نهاية الملف. ثم احفظ الملف.

# تكوين DHCP
نطاق dhcp = 192.168.10.50،192.168.10.240،255.255.255.0،24h
dhcp-option = خيار: جهاز توجيه ، 192.168.10.1
dhcp-option = خيار: خادم نظام أسماء النطاقات ، 192.168.10.1
dhcp-option = خيار: قناع الشبكة ، 255.255.255.0

مضيف dhcp = 00: 0 درجة مئوية:29:A5:BD:4A,192.168.10.51
مضيف dhcp = 00: 0 درجة مئوية:29:A5:BD:5B,192.168.10.52
مضيف dhcp = 00: 0 درجة مئوية:29:A5:BD:6C,192.168.10.53

هنا، نطاق dhcp يستخدم لتعيين نطاق عناوين IP التي سيقوم خادم DHCP بتعيينها للمضيفين.

dhcp- الخيار يستخدم لضبط البوابة ( الخيار: جهاز التوجيه ) ، عنوان خادم DNS ( الخيار: خادم DNS ) وقناع الشبكة ( الخيار: قناع الشبكة )

مضيف dhcp يستخدم لتعيين عناوين IP محددة للمضيفين اعتمادًا على عناوين MAC المحددة.

الآن ، أعد تشغيل خدمة dnsmasq باستخدام الأمر التالي:

$سودوإعادة تشغيل systemctl dnsmasq

اختبار خادم DHCP:

كما ترى ، الكمبيوتر المضيف 1 حصلت على عنوان IP 192.168.10.51/24 من خادم DHCP.

يعمل حل DNS أيضًا من المضيف 1 .

نفس الطريقة، المضيف 2 و المضيف 3 يحصل أيضًا على عنوان IP الصحيح من خادم DHCP ويعمل دقة DNS على كل واحد منهم.

إلى أين أذهب بعد ذلك:

إذا كنت تريد معرفة المزيد حول dnsmasq ، فقم بسحب ملف التكوين الافتراضي /etc/dnsmasq.conf (تمت إعادة تسميته الآن إلى /etc/dnsmasq.conf.bk ). يحتوي على وصف مفصل لجميع خيارات التكوين الخاصة بـ dnsmasq.

$أقل /إلخ/dnsmasq.conf.bk

ملف تكوين dnsmasq الافتراضي لخادم Ubuntu 18.04 LTS.

هذه هي طريقة تكوين dnsmasq على Ubuntu Server 18.04 LTS. شكرا لقراءة هذا المقال.