يُعدّ إعداد خادم DNS شخصيّ طريقة رائعة للتعرف على DNS والتحكم في شبكتك المحلية. ويُسهّل جهاز Raspberry Pi، بفضل أسعاره الميسورة وسهولة الوصول إليه، هذا المشروع بشكلٍ مدهش. سيساعدك هذا الدليل على إتمام العملية، مما يتيح لك إدارة سجلات DNS لشبكتك المنزلية.
محتويات
تعيين عنوان IP ثابت على جهاز Raspberry Pi
قبل تهيئة خادم DNS، من الضروري تعيين عنوان IP ثابت لجهاز Raspberry Pi. هذا يمنع تغييرات عنوان IP من تعطيل وظيفة DNS. سنستخدم أداة تكوين Raspberry Pi:
- الوصول إلى أداة التكوين: افتح نافذة طرفية على جهاز Raspberry Pi (أو عبر SSH) واكتب:
- خيارات الشبكة: انتقل إلى “5 Interfacing Options” ثم “P5 Network Configuration”.
- تعيين IP ثابت: حدد تكوين “Manual”. أدخل عنوان IP الثابت المطلوب، وقناع الشبكة الفرعية، والبوابة، وعناوين خادم DNS (استخدم خوادم DNS الخاصة بموجهك مؤقتًا). تأكد من أن عنوان IP ضمن نطاق شبكتك ولا يتعارض مع أجهزة أخرى. دوّن هذه الإعدادات.
- الحفظ وإعادة التشغيل: احفظ التغييرات وأعد تشغيل جهاز Raspberry Pi باستخدام:
- التحقق: بعد إعادة التشغيل، تحقق من IP الثابت باستخدام:
sudo raspi-config
sudo reboot
ip addr show
إعداد خادم DNS (Bind9)
سنستخدم Bind9، وهو خادم DNS موثوق وواسع الانتشار.
- تحديث الحزم: قم بتحديث قائمة حزم Raspberry Pi:
- تثبيت Bind9: قم بتثبيت Bind9 وأدواته المساعدة:
- تهيئة Bind9: ملف التهيئة الرئيسي موجود في `/etc/bind/named.conf.local`. أضف إدخالات لنطاقاتك. على سبيل المثال، لخدمة السجلات الخاصة بـ `example.local`، أضف:
- إنشاء ملف قاعدة البيانات: أنشئ `/etc/bind/db.example.local` بما يلي (استبدل العناصر النائبة بمعلوماتك):
- إعادة تشغيل Bind9: أعد تشغيل Bind9 لتنفيذ التغييرات:
- جدار الحماية (اختياري): إذا كنت تستخدم جدار حماية (مثل `ufw`)، فسمح بحركة مرور DNS (المنفذ 53):
sudo apt update
sudo apt install bind9 bind9utils
zone "example.local" {
type master;
file "/etc/bind/db.example.local";
};
$TTL 604800
@ IN SOA raspberrypi.example.local. admin.example.local. (
2023102702 ; Serial (increment this number with each change)
86400 ; Refresh
7200 ; Retry
3600000 ; Expire
604800 ; Negative Cache TTL
)
@ IN NS raspberrypi.example.local.
raspberrypi IN A 192.168.1.100
www IN A 192.168.1.100
sudo systemctl restart bind9
sudo ufw allow 53/udp
sudo ufw allow 53/tcp
اختبار خادم DNS
- تهيئة العميل: على جهاز في شبكتك، غيّر إعدادات خادم DNS إلى عنوان IP الثابت لجهاز Raspberry Pi.
- اختبار الحل: قم بـ Ping أو تصفح اسم مضيف مُعرّف في `db.example.local` (مثل `raspberrypi.example.local` أو `www.example.local`). يؤكد الحل الناجح أن خادم DNS يعمل. إذا لم يكن كذلك، تحقق من ملفات التكوين مرة أخرى.
تذكر استبدال قيم العناصر النائبة بعناوين IP وأسماء النطاقات الفعلية. هذا إعداد أساسي؛ لمزيد من التكوينات المتقدمة، راجع وثائق Bind9. قم دائمًا بنسخ ملفات التكوين احتياطيًا قبل إجراء أي تغييرات.