تشفير نظام أسماء النطاقات (DNS) الخاص بـ Pi-hole على خادم Ubuntu 24.04
قم بإعداد dnscrypt-proxy كجسر DoH محلي لـ Pi-hole على Ubuntu 24.04، مع مستمع محلي فقط، واختيار محلل، وعمليات فحص قبل تبديل DNS.
في هذا المثال التوضيحي، تُشغّل لينه برنامج Pi-hole على خادم أوبونتو 24.04 وترغب في تشفير طلبات نظام أسماء النطاقات (DNS) التي يرسلها Pi-hole إلى الخادم الرئيسي. قم بتثبيت Pi-hole dnscrypt-proxy، وربطه 127.0.0.1:5053بخادم محلي، واختر مُحلِّل DNS عبر HTTPS (DoH)، واختبر هذا الخادم الوكيل المحلي، ثم وجّه Pi-hole إليه. يفترض هذا الشرح أن Pi-hole مُثبّت وجاهز للعمل؛ لينه مثال افتراضي، وليس تقرير تثبيت أو اختبار حقيقي.
لا يستخدم Pi-hole بروتوكول DoH للتواصل مع خادم DNS الرئيسي؛ بل يقوم عادةً بإعادة توجيه DNS إلى عنوان IP ومنفذ محددين. يعمل وكيل محلي كحلقة وصل بين البروتوكولين: يرسل Pi-hole بيانات DNS القياسية إلى مستمع محلي خاص، ويرسل الوكيل بدوره طلبات مشفرة إلى خادم DNS المُختار. في هذا المثال، يستخدم Linh dnscrypt-proxyنفس الخادم ويُبقي مستمعه على وضع الاسترجاع، مما يمنع الأجهزة الأخرى من الاتصال بهذا الوكيل مباشرةً.
تجنّب بدء تثبيت جديد باستخدام cloudflared proxy-dnsالوصفة القديمة. تشير صفحة Cloudflare الحالية الخاصة بـ Pi-hole إلى أن هذه الميزة قد أُوقفت من قِبل Cloudflare في نوفمبر 2025، وأن التثبيتات الجديدة التي تستخدمها غير مُوصى بها. تُقدّم تعليمات dnscrypt-proxy الخاصة بـ Pi-hole بديلاً مُحدّثًا. تتضمن قائمة حزم Ubuntu Noble حاليًا [اسم الحزمة] dnscrypt-proxy؛ وتختلف إصدارات الحزم باختلاف بنية النظام، وقد تتغير مع نشر التحديثات.

قم بتحديث قوائم حزم APT وقم بتثبيت حزمة مستودع Noble:
sudo apt update
sudo apt install dnscrypt-proxy
توجد الحزمة ضمن مكون Universe في نظام Ubuntu. إذا لم يتمكن APT من العثور عليها، فتأكد من تفعيل Universe وأعد تشغيله sudo apt update. لا تقم بتنزيل إصدار عشوائي من جهة خارجية لتجاوز مشكلة في إعدادات المستودع.
قبل المتابعة، تأكد من أن نظام أوبونتو قد قام بتثبيت وحدة مقبس systemd المستخدمة في إجراء Pi-hole:
systemctl list-unit-files dnscrypt-proxy.socket
تتضمن قائمة ملفات حزمة Ubuntu Noble dnscrypt-proxy.socket، وتستخدم تعليمات Pi-hole هذا المقبس لتوفير مستمع DNS محلي دون التنافس مع خدمة المنفذ 53 الخاصة بـ Pi-hole.

تستخدم خدمة FTL DNS الخاصة بـ Pi-hole عادةً المنفذ 53. خصص منفذًا مختلفًا لـ dnscrypt-proxy واربطه بالخادم نفسه فقط. أنشئ تجاوزًا لـ systemd.
sudo systemctl edit dnscrypt-proxy.socket
أضف هذه الأسطر إلى ملف التجاوز الفارغ، ثم احفظه واخرج:
[Socket]
ListenStream=
ListenDatagram=
ListenStream=127.0.0.1:5053
ListenDatagram=127.0.0.1:5053
تؤدي التعيينات الفارغة إلى مسح مستمعي المنفذ 53 الأصليين لوحدة المقبس قبل إضافة العناوين الجديدة. 127.0.0.1من المهم الإبقاء على المستمع الحالي: لا تغيره إلى 0.0.0.0هذا الإعداد على نفس المضيف، لأن ذلك سيكشف الخادم الوكيل على كل واجهة شبكة.

افتح ملف تهيئة الحزمة:
sudo nano /etc/dnscrypt-proxy/dnscrypt-proxy.toml
قم بتعيين القيم التالية، مع الحفاظ على بقية إعدادات الحزمة سليمة:
listen_addresses = []
server_names = ['cloudflare-security']
تُشير القائمة الفارغة listen_addressesإلى استخدام dnscrypt-proxy لتفعيل مقابس systemd. يُعد مُحلِّل Cloudflare Security المُسمى مثالًا مُستخدمًا في دليل dnscrypt-proxy الخاص بـ Pi-hole؛ حيث يُطبِّق تصفية البرامج الضارة الخاصة بالمُحلِّل بالإضافة إلى قوائم الحظر الخاصة بـ Pi-hole. إذا كنت تُفضِّل مُزوِّدًا آخر أو لا تُفضِّل تصفية أمان إضافية، فاختر مُحلِّل DoH مُحدَّثًا من قائمة المُحلِّلات العامة المُحدَّثة، واستخدم اسم الخادم الخاص به بدقة. قد تتغير الأسماء المُتاحة وسياسات المُحلِّل، لذا تحقَّق من الإدخال الحالي بدلًا من نسخ اسم قديم من منشور سابق.
أعد تشغيل المقبس والخدمة حتى يتم تطبيق إعدادات التجاوز وTOML:
sudo systemctl restart dnscrypt-proxy.socket
sudo systemctl restart dnscrypt-proxy.service
ثم اختبر المستمع المحلي قبل تغيير مصدر Pi-hole:
dig @127.0.0.1 -p 5053 example.com
يشير رد نظام أسماء النطاقات (DNS) وحالة الخروج صفر إلى أن الخادم الوكيل المحلي قد أجاب على الاستعلام. وللتأكد من أن الخادم المُختار يستخدم بروتوكول HTTPS (DoH)، افحص رسائل الخدمة الأخيرة وابحث عن المُحلِّل المُشار إليه بـ OK (DoH):
sudo journalctl -u dnscrypt-proxy.service -n 50 --no-pagerإذا digلم يكن مثبتًا، فقم بتثبيت حزمة أوبونتو dnsutils. إذا انتهت مهلة الاستعلام أو لم يُظهر السجل مُحلِّل DoH، فافحص sudo systemctl status dnscrypt-proxy.socket dnscrypt-proxy.serviceسجل الخدمة قبل المتابعة.

بعد نجاح الاختبار المحلي فقط، استبدل قائمة المصادر الرئيسية في Pi-hole بالمستمع المحلي:
sudo pihole-FTL --config dns.upstreams '["127.0.0.1#5053"]'
sudo systemctl restart pihole-FTL.service
تستخدم القيمة تنسيق المصدر المخصص لـ Pi-hole: 127.0.0.1حيث يمثل المضيف المحلي #5053ويحدد منفذ DNS غير القياسي. يمكنك أيضًا إدخالها 127.0.0.1#5053من خلال الإعدادات > DNS > خوادم DNS المصدر المخصصة في واجهة إدارة Pi-hole. قم بإلغاء تحديد مصادر البيانات العامة المُسبقة واحفظ التغييرات، وإلا فقد يستمر Pi-hole في إرسال بعض الطلبات إليها مباشرةً دون استخدام بروتوكول DNS عبر HTTPS (DoH).
استعلم عن Pi-hole نفسه، باستخدام عنوان LAN الخاص به بدلاً من PIHOLE_IP:
dig @PIHOLE_IP example.com
تأكد من نجاح عملية البحث، حيث يُظهر سجل استعلامات Pi-hole طلب العميل، وتُظهر حالة خدمة dnscrypt-proxy أو سجلاتها إمكانية الوصول إلى الخادم المُختار. يجب أن يكون المسار الناتج كالتالي: من العميل إلى Pi-hole عبر شبكتك المحلية، ثم من Pi-hole إلى خادم الوكيل المحلي، ثم من خادم الوكيل إلى مُحلِّل أسماء النطاقات DoH. هذا يُشفِّر مسار الاتصال من الخادم إلى المُحلِّل؛ ولكنه لا يُشفِّر حركة مرور DNS العادية بين العميل وPi-hole على الشبكة المحلية، ولا يُخفي الاستعلامات عن المُحلِّل المُختار، ولا يُحوِّل Pi-hole إلى شبكة VPN.
للحصول على تفاصيل الأوامر والإصدارات، راجع دليل Pi-hole dnscrypt-proxy (بتاريخ 16 فبراير 2026)، وإشعار إيقاف الخدمة على Cloudflared (بتاريخ 12 فبراير 2026)، وسجل حزمة Noble dnscrypt-proxy الخاصة بنظام Ubuntu ، وقائمة خوادم DoH وDNSCrypt العامة الحالية . في حال عدم تفعيل أي خدمة، لا تقم بتحويل Pi-hole إلى الوكيل حتى ينجح اختبار الاستعلام المحلي.
قم بإعداد dnscrypt-proxy كجسر DoH محلي لـ Pi-hole على Ubuntu 24.04، مع مستمع محلي فقط، واختيار محلل، وعمليات فحص قبل تبديل DNS.
تحقق من إعدادات لوحة اللمس في أوبونتو، وتأكد من تثبيت Wayland، واختبر خاصية التمرير المدمجة في GNOME قبل استكشاف أخطاء التطبيقات أو الأجهزة وإصلاحها.
قم بإنشاء مصفوفة بيانات Debian 12 RAID 1 ثنائية الأقراص والتحقق منها، وقم بتهيئتها بأمان، وقم بتكوينها للتجميع والتركيب بعد إعادة التشغيل.
قم بإعداد تشفير المفتاح العشوائي لقسم التبديل الحالي في Debian 12، وتحقق من تعيين dm-crypt النشط، وافهم المفاضلة المتعلقة بالسبات.
تقييد حسابات SSH في Ubuntu 24.04 إلى مجلدات SFTP المحددة باستخدام chroot والأذونات المناسبة وقواعد المطابقة والاختبارات الآمنة - دون منح الوصول إلى shell.
ابحث عن العملية التي تمتلك قفل واجهة dpkg الأمامية في Ubuntu، ودع عمل الحزمة يكتمل، وقم بإصلاح عمليات التثبيت المتقطعة دون حذف ملفات القفل.
قم بإعداد لقطات نظام Btrfs المجدولة على سطح مكتب Ubuntu باستخدام Timeshift، وتحقق من تخطيط وحدة التخزين الفرعية في Ubuntu، واختر فترة الاحتفاظ، وافهم ما لا يمكن للقطات حمايته.
خطط لعملية ترحيل أكثر أمانًا من Debian 12 إلى Testing: قم بالترقية من خلال Stable، وقم بعمل نسخة احتياطية، ونظف مصادر APT، وقم بمحاكاة تغييرات التبعية، وتحقق مما تغير.
قم بتشخيص وضع الطوارئ في خادم أوبونتو بأمان. اقرأ سجلات بدء التشغيل، وتحقق من مجلدات الجذر و fstab، وأصلح الوحدة المعطلة، وتعامل مع أخطاء نظام الملفات، وتحقق من إعادة التشغيل النظيفة.
قم بإعداد خادم VPN يعمل بنظام Debian 12 باستخدام WireGuard لعميل واحد عن بُعد. قم بتكوين المفاتيح، وتوجيه IPv4، و NAT باستخدام nftables، وإمكانية الوصول إلى جدار الحماية، وفحوصات الاتصال.