Networking

إعداد خادم DNS شخصي على جهاز راسبيري باي

Spread the love

يُعدّ إعداد خادم DNS شخصيّ طريقة رائعة للتعرف على DNS والتحكم في شبكتك المحلية. ويُسهّل جهاز Raspberry Pi، بفضل أسعاره الميسورة وسهولة الوصول إليه، هذا المشروع بشكلٍ مدهش. سيساعدك هذا الدليل على إتمام العملية، مما يتيح لك إدارة سجلات DNS لشبكتك المنزلية.

محتويات

تعيين عنوان IP ثابت على جهاز Raspberry Pi

قبل تهيئة خادم DNS، من الضروري تعيين عنوان IP ثابت لجهاز Raspberry Pi. هذا يمنع تغييرات عنوان IP من تعطيل وظيفة DNS. سنستخدم أداة تكوين Raspberry Pi:

  1. الوصول إلى أداة التكوين: افتح نافذة طرفية على جهاز Raspberry Pi (أو عبر SSH) واكتب:
  2. sudo raspi-config
  3. خيارات الشبكة: انتقل إلى “5 Interfacing Options” ثم “P5 Network Configuration”.
  4. تعيين IP ثابت: حدد تكوين “Manual”. أدخل عنوان IP الثابت المطلوب، وقناع الشبكة الفرعية، والبوابة، وعناوين خادم DNS (استخدم خوادم DNS الخاصة بموجهك مؤقتًا). تأكد من أن عنوان IP ضمن نطاق شبكتك ولا يتعارض مع أجهزة أخرى. دوّن هذه الإعدادات.
  5. الحفظ وإعادة التشغيل: احفظ التغييرات وأعد تشغيل جهاز Raspberry Pi باستخدام:
  6. sudo reboot
  7. التحقق: بعد إعادة التشغيل، تحقق من IP الثابت باستخدام:
  8. ip addr show

إعداد خادم DNS (Bind9)

سنستخدم Bind9، وهو خادم DNS موثوق وواسع الانتشار.

  1. تحديث الحزم: قم بتحديث قائمة حزم Raspberry Pi:
  2. sudo apt update
  3. تثبيت Bind9: قم بتثبيت Bind9 وأدواته المساعدة:
  4. sudo apt install bind9 bind9utils
  5. تهيئة Bind9: ملف التهيئة الرئيسي موجود في `/etc/bind/named.conf.local`. أضف إدخالات لنطاقاتك. على سبيل المثال، لخدمة السجلات الخاصة بـ `example.local`، أضف:
  6. zone "example.local" {
        type master;
        file "/etc/bind/db.example.local";
    };
  7. إنشاء ملف قاعدة البيانات: أنشئ `/etc/bind/db.example.local` بما يلي (استبدل العناصر النائبة بمعلوماتك):
  8. $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
  9. إعادة تشغيل Bind9: أعد تشغيل Bind9 لتنفيذ التغييرات:
  10. sudo systemctl restart bind9
  11. جدار الحماية (اختياري): إذا كنت تستخدم جدار حماية (مثل `ufw`)، فسمح بحركة مرور DNS (المنفذ 53):
  12. sudo ufw allow 53/udp
    sudo ufw allow 53/tcp

اختبار خادم DNS

  1. تهيئة العميل: على جهاز في شبكتك، غيّر إعدادات خادم DNS إلى عنوان IP الثابت لجهاز Raspberry Pi.
  2. اختبار الحل: قم بـ Ping أو تصفح اسم مضيف مُعرّف في `db.example.local` (مثل `raspberrypi.example.local` أو `www.example.local`). يؤكد الحل الناجح أن خادم DNS يعمل. إذا لم يكن كذلك، تحقق من ملفات التكوين مرة أخرى.

تذكر استبدال قيم العناصر النائبة بعناوين IP وأسماء النطاقات الفعلية. هذا إعداد أساسي؛ لمزيد من التكوينات المتقدمة، راجع وثائق Bind9. قم دائمًا بنسخ ملفات التكوين احتياطيًا قبل إجراء أي تغييرات.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *