دليل عملي

الاستضافة الذاتية

استضافة Pi-hole على خادمك الافتراضي الخاص

يحوّل Pi-hole أي خادم Linux إلى حاجب للإعلانات وأدوات التتبع على مستوى الشبكة بأكملها. وعند استضافته على VPS، يحمي جميع أجهزتك وجميع حاوياتك في آن واحد، دون أي إضافة تُثبَّت في كل متصفح. يغطي هذا الدليل الإصدار السادس الصادر في 18 فبراير 2025 ببنية مُعاد كتابتها، سواء بالتثبيت المباشر أو عبر Docker Compose. ويتجاوز التثبيت الأساسي: عدم تشغيل محلل مفتوح أبدًا، والمنفذ 53 الذي يحجزه systemd-resolved، وUnbound للتحليل التكراري الكامل، والإيجابيات الخاطئة، والمقاييس والنسخ الاحتياطي.

17 دقيقةً للقراءةعدد الخطوات: 23
المحتويات· لماذا تستضيف Pi-hole على خادم VPS1/23
  1. 01لماذا تستضيف Pi-hole على خادم VPS
  2. 02مزايا ملموسة لـ Pi-hole على خادم VPS
  3. 03‏Pi-hole v5 مقابل Pi-hole v6: ما الذي تغيّر
  4. 04Pi-hole v5 مقابل v6
  5. 05المتطلبات التقنية
  6. 06ما تحتاجه
  7. 07الأمان أولًا: لا محلل مفتوحًا، وتحديثات متابَعة
  8. 08نشر Pi-hole خطوة بخطوة
  9. 09‏التثبيت الكامل على Ubuntu/Debian
  10. 10إضافة أفضل قوائم الحجب
  11. 11القوائم الموصى بها
  12. 12إدارة الإيجابيات الخاطئة والقائمة البيضاء
  13. 13تشخيص الإيجابية الخاطئة وإصلاحها
  14. 14Pi-hole داخل Docker وتعارضات المنفذ 53
  15. 15نشر Pi-hole عبر Docker Compose وربط حاوياتك به
  16. 16‏Pi-hole + Unbound: تكرار DNS كامل بدون طرف ثالث
  17. 17‏تثبيت وإعداد Unbound
  18. 18‏مراقبة مقاييس Pi-hole
  19. 19المقاييس المهمة والقيم المرجعية
  20. 20Pi-hole v6 أم AdGuard Home؟
  21. 21Pi-hole v6 وAdGuard Home معيارًا بمعيار
  22. 22‏النسخ الاحتياطي واستعادة إعداد Pi-hole
  23. 23النسخ الاحتياطي والاستعادة

لماذا تستضيف Pi-hole على خادم VPS

تفترض معظم أدلة Pi-hole وجود Raspberry Pi على شبكتك المحلية‏. يغيّر خادم VPS المعادلة تغييراً جذرياً: حاجب DNS الخاص بك متاح من أي جهاز في أي مكان حول العالم‏. اضبط هاتفك الذكي أثناء التنقل ليشير إلى VPS الخاص بك وستختفي الإعلانات حتى على شبكات الجوال والـ Wi-Fi العامة‏.

مزايا ملموسة لـ Pi-hole على خادم VPS

  • حماية شاملة: تغطي جميع أجهزتك (أجهزة كمبيوتر، هواتف، أجهزة لوحية) دون إعداد لكل جهاز على حدة
  • تقليل استهلاك النطاق الترددي: الطلبات المحجوبة لا تستهلك أي بيانات
  • سجلات DNS مركزية: رؤية كاملة للنطاقات التي يتصل بها كل جهاز
  • استقلالية عن مزود الخدمة: لا يمر DNS بعد الآن عبر محلل مزود الإنترنت
  • حجب متتبعات إنترنت الأشياء: لا تستطيع الأجهزة المتصلة الاتصال بخوادم القياس عن بُعد
  • قابل للتخصيص: أضف قواعدك الخاصة، وضع في القائمة البيضاء ما تحتاجه، اختر قوائمك

‏Pi-hole v5 مقابل Pi-hole v6: ما الذي تغيّر

Pi-hole v5 مقابل v6

مرّر الجدول أفقيًا

الميزةPi-hole v5Pi-hole v6 (2025)
واجهة الويبPHP + lighttpd‏مدمجة في FTL، بدون lighttpd
محرك DNS‏dnsmasq منفصل‏FTL موحّد يتضمن DNS
‏API‏API محدودة، مفتاح في الرابط‏REST API كاملة مع مصادقة بالرمز المميز
الإعداد‏ملفات في /etc/pihole/*‏ملف TOML واحد pihole.toml
التثبيت‏سكريبت curl | bash‏سكريبت curl | bash (مطابق، نفس الرابط)
‏Docker‏صورة pihole/pihole‏صورة pihole/pihole (محدَّثة، نفس الاسم)

صدر Pi-hole v6 في 18 فبراير 2025. تمر الترقية من v5 عبر سكربت التثبيت المعتاد على نظام يعمل بـv5: يكتشف Pi-hole الإصدار الموجود ويعرض الترقية ويحوّل الإعدادات إلى صيغة TOML (/etc/pihole/pihole.toml). وإذا كنت تبدأ من الصفر، فثبّت v6 مباشرة.

يهمّ تغييران على خادم VPS. أولًا، لكل إعداد في pihole.toml متغير بيئة مقابل FTLCONF_<section>_<key>: يصبح WEBPASSWORD في v5 هو FTLCONF_webserver_api_password، وتُكتب الخوادم العليا في FTLCONF_dns_upstreams مفصولة بفواصل منقوطة. ويصبح المتغير المحدّد بهذه الطريقة للقراءة فقط في الواجهة، فهو مصدر الحقيقة. ثانيًا، تنضم إلى قوائم الحجب قوائم سماح بالاشتراك (antigravity)، وهي مفيدة لتحييد الإيجابيات الخاطئة المعروفة.

حتى 7 نوفمبر 2026، الإصدارات الحالية هي Pi-hole Core v6.5 وFTL v6.8 وWeb v6.6.1 (17 أكتوبر 2026)، وصورة Docker المقابلة هي pihole/pihole:2026.10.1 المنشورة في 31 أكتوبر 2026 لتحديث قاعدة Alpine.

المتطلبات التقنية

ما تحتاجه

  • ‏خادم VPS يعمل بنظام Ubuntu 22.04/24.04 أو Debian 12 بذاكرة وصول عشوائي لا تقل عن 512 ميغابايت (يُوصى بـ 1 غيغابايت)
  • عنوان IPv4 ثابت وعنوان IPv6 بشكل مثالي
  • ‏الوصول عبر SSH بصلاحيات root أو sudo
  • المنفذ 53 (TCP وUDP) مغلق أمام الإنترنت: مفتوح فقط لواجهة WireGuard أو لعناوين IP الخاصة بك، ولا يُفتح للجميع أبدًا
  • ‏المنفذ 80 أو 443 لواجهة الويب (اختياري، لكن يُوصى به مع HTTPS)

الأمان أولًا: لا محلل مفتوحًا، وتحديثات متابَعة

على جهاز Raspberry Pi خلف موجّه منزلي، لا يمكن الوصول إلى المنفذ 53 إلا من داخل المنزل. أما على VPS فهو على الإنترنت: والمحلل الذي يجيب الجميع يصبح وسيطًا لهجمات DDoS بتضخيم DNS، وينتهي عنوانك في قوائم الحظر. يعرف Pi-hole ذلك. فوضع الاستماع الافتراضي «Allow only local requests» لا يقبل إلا المضيفين على شبكة فرعية توجد لها واجهة على الخادم؛ أما الوضع ALL فـ«يسمح بكل المصادر»، وتحذّر وثائق FTL من أنه قد يجعل Pi-hole محللًا مفتوحًا إن لم يكن محميًا بجدار ناري.

ومن هنا تأتي البنية الصحيحة: تصل أجهزتك إلى الخادم عبر نفق WireGuard، وشبكته الفرعية محلية بالنسبة إلى Pi-hole، ويبقى المنفذ 53 مغلقًا أمام بقية العالم. تحقّق من ذلك من الخارج بالأمر nmap -sU -p 53 YOUR_VPS_IP: يجب أن يظهر المنفذ closed أو filtered.

تابع التصحيحات أيضًا. نشر Pi-hole في 2026 عدة دفعات من النشرات الأمنية (أبريل ومايو ويوليو وسبتمبر وأكتوبر)، منها ثغرات تنفيذ تعليمات برمجية عن بُعد عبر حقن الإعدادات مثل CVE-2026-35517 عبر dns.upstreams، وثغرات رفع صلاحيات محلية. وقد صُحّحت آخر دفعة في إصدارات 17 أكتوبر 2026. شغّل pihole -up في التثبيت المباشر، أو docker compose pull && docker compose up -d مع Docker، وطبّق بالتوازي تحديثات أمان النظام التلقائية. وأخيرًا، لا تترك كلمة المرور فارغة: فمن دون قيمة محددة، يولّد Pi-hole كلمة عشوائية ويكتبها في السجلات عند أول تشغيل. ولسكربت أو أداة تصدير، أنشئ كلمة مرور تطبيق من Settings ← Web interface / API بدلًا من نسخ كلمة مرور المسؤول.

نشر Pi-hole خطوة بخطوة

‏التثبيت الكامل على Ubuntu/Debian

  1. ‏تعطيل محلل الوكيل الخاص بـ systemd-resolved

    ‏على Ubuntu وDebian الحديثين، يستمع systemd-resolved على المنفذ 53 محلياً‏. لا يمكن لـ Pi-hole البدء طالما هذا المنفذ محجوز‏. حرّر /etc/systemd/resolved.conf وأضف DNSStubListener=no تحت قسم [Resolve]‏. ثم أعد التحميل: sudo systemctl reload systemd-resolved‏. تحقق من أن المنفذ حر: ss -tulpn | grep ':53'‏.

  2. تثبيت Pi-hole

    شغّل السكربت الرسمي:

    curl -sSL https://install.pi-hole.net | bash

    يسألك المثبّت عن واجهة الشبكة (غالبًا eth0) وعن خادم DNS الأعلى (اختر Custom إن كنت ستثبّت Unbound لاحقًا). احتفظ بوضع الاستماع الافتراضي «Allow only local requests»: فهو المناسب مع WireGuard. دوّن كلمة مرور المسؤول المعروضة في النهاية، أو حدّدها بالأمر pihole setpassword.

  3. إعداد الجدار الناري

    لا تفتح المنفذ 53 للإنترنت كله. افتح منفذ WireGuard، واسمح بـDNS من الشبكة الفرعية للنفق، وارفض الباقي:

    sudo ufw allow 51820/udp
    sudo ufw allow from 10.8.0.0/24 to any port 53
    sudo ufw deny 53

    عدّل 10.8.0.0/24 وفق الشبكة الفرعية لنفقك. وإن كنت تستخدم CSF أو firewalld، فانقل القواعد نفسها. ولا يجوز أن تكون واجهة الويب عامة أيضًا: مرّ عبر النفق أو عبر بروكسي عكسي HTTPS مقيّد بعناوينك.

  4. التحقق من العمل

    اختبر التحليل ثم الحجب من الخادم نفسه، ثم تحقق من الخارج أن المنفذ غير متاح خارج النفق:

    # from the VPS
    dig @127.0.0.1 google.com
    dig @127.0.0.1 doubleclick.net
    # from an outside machine, OUTSIDE the tunnel: must fail
    nmap -sU -p 53 IP_DE_VOTRE_VPS

    يجب أن يعيد google.com عنوانًا، وأن يجيب doubleclick.net بـ0.0.0.0، وأن يُظهر nmap المنفذ closed أو filtered.

  5. توجيه أجهزتك نحو الخادم

    الطريق الأبسط هو WireGuard: في إعداد كل عميل، حدّد عنوان Pi-hole داخل النفق خادمًا لـDNS، وفق دليل WireGuard من Pi-hole:

    [Interface]
    Address = 10.8.0.2/32
    DNS = 10.8.0.1

    على Android، لا يصلح «DNS الخاص»: فهو ينتظر اسم مضيف لمزوّد DNS-over-TLS لا عنوان IP (انظر مساعدة Android)، وPi-hole لا يقدّم DNS مشفّرًا. وعلى iOS والحواسيب، يطبّق تطبيق WireGuard سطر DNS نفسه. ويحميك النفق أيضًا على شبكات 4G وشبكات Wi-Fi العامة.

  6. فتح واجهة الويب

    في v6، يقدّم FTL الواجهة بنفسه على http://IP/admin (وعبر HTTPS بشهادة موقّعة ذاتيًا). افتحها عبر النفق، مثلًا http://10.8.0.1/admin، وسجّل الدخول بكلمة المرور المحدّدة عند التثبيت. تعرض لوحة التحكم مباشرة عدد الطلبات ونسبة الحجب والنطاقات الأكثر طلبًا والعملاء الأكثر نشاطًا.

إضافة أفضل قوائم الحجب

‏يأتي Pi-hole بقائمة أساسية‏. لحجب فعّال، أضف قوائم مجتمعية موثوقة من قائمة Adlists في واجهة الويب (‏Group Management → Adlists‏)‏.

القوائم الموصى بها

  • ‏StevenBlack Unified (إعلانات + متتبعات): https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts — المرجع، نحو 100,000 نطاق
  • ‏OISD Big: https://big.oisd.nl — قائمة صارمة لكن إيجابيات خاطئة قليلة، نحو 500,000 نطاق
  • ‏Firebog Ticked (العلامة الخضراء فقط): زر firebog.net وأضف القوائم ذات العلامة الخضراء فقط لتقليل الإيجابيات الخاطئة
  • ‏HaGeZi Multi PRO: https://raw.githubusercontent.com/hagezi/dns-blocklists/main/adblock/pro.txt — تغطية ممتازة للبرامج الضارة
  • ‏Perflyst Smart-TV: لحجب بيانات القياس من التلفزيونات الذكية

بعد إضافة القوائم، انقر Tools ← Update Gravity (أو شغّل pihole -g عبر SSH) لتنزيل كل القوائم وتجميعها. تستغرق العملية من دقيقة إلى ثلاث دقائق حسب عدد القوائم، ويظل Pi-hole يعمل خلالها. وبعد ذلك يُحدّث Gravity نفسه مرة كل أسبوع، في الساعات الأولى من يوم الأحد: لا حاجة إلى إضافة مهمة cron خاصة بك.

إدارة الإيجابيات الخاطئة والقائمة البيضاء

‏الحجب المفرط يكسر في نهاية المطاف الخدمات المشروعة‏. يوفر Pi-hole أدوات تشخيص دقيقة لتحديد الإيجابيات الخاطئة وتصحيحها دون إضعاف الحماية‏.

تشخيص الإيجابية الخاطئة وإصلاحها

  1. تحديد النطاق المحجوب

    ‏في الواجهة، افتح Query Log (‏الوقت الفعلي‏) أو Long-term data → Query Log‏. فلتر حسب العميل أو حالة Blocked‏. تُظهر كل إدخال النطاق الدقيق والقائمة التي حجبته‏. في v6‏، يمكنك النقر على الإدخال لرؤية التفاصيل الكاملة‏.

  2. الإضافة إلى قائمة السماح

    انقر النطاق ثم Allow، أو افتح Domains وأضفه بالنوع Allow. وللسماح بنطاق وجميع نطاقاته الفرعية، استخدم خيار Wildcard. يتغلب الإدخال المسموح دائمًا على قوائم الحجب. وإن تكرر الإيجابي الخاطئ نفسه على نطاقات كثيرة، فاشترك بدلًا من ذلك في قائمة سماح يصونها المجتمع، من Lists بالنوع Allow.

  3. السماح من سطر الأوامر

    أعاد v6 تسمية الأوامر: لم يعد pihole -w و--white-wild موجودين. عبر SSH:

    pihole allow example.com
    pihole --allow-wild example.com
    pihole allow -l

    يسمح الأول بنطاق محدد، والثاني بالنطاق ونطاقاته الفرعية، ويعرض الثالث قائمة السماح.

  4. حالات الإيجابيات الخاطئة الشائعة

    ‏قد يُحجب Microsoft Teams وOffice 365 أحياناً على القوائم الصارمة (نطاقات live.com‏، microsoft.com‏)‏. تستخدم Apple شبكات CDN مشتركة مع متتبعات‏. قد تُحجب تحديثات Windows التلقائية بواسطة بعض القوائم‏. توجد القائمة الخضراء في firebog.net تحديداً لتقليل هذه المشكلات‏.

Pi-hole داخل Docker وتعارضات المنفذ 53

إذا كان خادمك يشغّل حاويات بالفعل، فيمكن أن يكون Pi-hole نفسه حاوية ويعمل محللًا لكل الحاويات الأخرى. ويتكرر فخّان: عملية أخرى تحجز المنفذ 53 على المضيف، والحاويات لا تصل إلى العنوان الذي يستمع عليه Pi-hole. أما المحلل المدمج في Docker (127.0.0.11) فيعيش داخل كل حاوية، ولا يحجز المنفذ 53 على المضيف.

نشر Pi-hole عبر Docker Compose وربط حاوياتك به

  1. كتابة ملف docker-compose.yml

    يتبع الملف وثائق Docker الخاصة بـPi-hole، مع وسم مؤرّخ بدلًا من latest للتحكم في التحديثات. لا يُنشر DNS إلا على حلقة الاسترجاع المحلية وعلى عنوان جسر Docker 172.17.0.1، ولا يُنشر أبدًا على العنوان العام؛ وتُنشر واجهة الويب على 127.0.0.1:8080 فقط، لبروكسي عكسي.

    mkdir -p /opt/pihole/etc-pihole && cd /opt/pihole
    cat > docker-compose.yml << 'EOF'
    services:
      pihole:
        container_name: pihole
        image: pihole/pihole:2026.10.1
        ports:
          - "127.0.0.1:53:53/tcp"
          - "127.0.0.1:53:53/udp"
          - "172.17.0.1:53:53/tcp"
          - "172.17.0.1:53:53/udp"
          - "127.0.0.1:8080:80/tcp"
        environment:
          TZ: 'Europe/Paris'
          FTLCONF_webserver_api_password: 'a-long-password'
          FTLCONF_dns_listeningMode: 'ALL'
          FTLCONF_dns_upstreams: '9.9.9.9;1.1.1.1'
        volumes:
          - './etc-pihole:/etc/pihole'
        restart: unless-stopped
    EOF
    docker compose up -d && docker compose logs pihole | tail -20

    يلزم FTLCONF_dns_listeningMode: 'ALL' على شبكة bridge لأن الطلبات تصل من خارج الشبكة الفرعية للحاوية، وربط المنافذ هو ما يمنع التعرض العام. أضف cap_add: NET_ADMIN فقط إذا كان Pi-hole يقدّم DHCP أيضًا، وهو أمر لا معنى له على VPS.

  2. ربط الحاويات الأخرى بـPi-hole

    في كل خدمة من حزمك الأخرى، حدّد عنوان جسر Docker:

    services:
      my-app:
        image: my-image
        dns:
          - 172.17.0.1

    لا تكتب 127.0.0.1: تذكّر وثائق Docker بأن --dns=127.0.0.1 داخل الحاوية يشير إلى حلقة الاسترجاع الخاصة بالحاوية نفسها لا بالمضيف. ولإعداد شامل، يوضع العنوان نفسه في /etc/docker/daemon.json تحت المفتاح dns، ثم systemctl restart docker.

  3. التحقق من عدم استماع أي عملية أخرى

    أمر التشخيص: sudo ss -tulpn | grep ':53'. العملية الوحيدة المتوقعة هي pihole-FTL (أو docker-proxy للمنافذ التي تنشرها الحاوية). وإن رأيت systemd-resolved أو named أو bind9، فعطّل الخدمة المنافسة. ومع systemd-resolved يكفي DNSStubListener=no في /etc/systemd/resolved.conf، كما في التثبيت المباشر.

  4. فحص المحلل الذي تراه الحاوية

    من داخل حاوية، اقرأ إعدادات DNS الخاصة بها:

    docker exec my-app cat /etc/resolv.conf
    sudo ss -tulpn | grep ':53'

    تُظهر الحاوية على شبكة Compose مخصّصة العنوان 127.0.0.11، وهو محلل Docker المدمج الذي يمرّر الطلبات إلى خوادم dns: المعلنة: هذا طبيعي. والدليل يُقرأ في Query Log الخاص بـPi-hole، حيث يجب أن تظهر الحاوية عميلًا. وإذا فشل تحديث Gravity برسالة «Could not access the internet»، فالأرجح أن حاوية Pi-hole تحلّل عبر نفسها في حلقة: تحقق من أن FTLCONF_dns_upstreams يشير إلى محلل خارجي أو إلى Unbound.

‏Pi-hole + Unbound: تكرار DNS كامل بدون طرف ثالث

‏بشكل افتراضي، يُحيل Pi-hole الاستعلامات غير المحجوبة إلى محلل عام (‏Cloudflare 1.1.1.1‏، Google 8.8.8.8‏)‏. يرى هذا المحلل حينئذٍ جميع استعلامات DNS الخاصة بك‏. يحل Unbound هذه المشكلة باستعلام خوادم الجذر والسلطة مباشرةً — دون وسيط‏.

‏تثبيت وإعداد Unbound

  1. ‏تثبيت Unbound

    ‏sudo apt install unbound‏. متاح في مستودعات Ubuntu وDebian الرسمية‏. يبدأ تلقائياً لكننا سنعدّه للاستماع محلياً فقط‏.

  2. إنشاء إعداد Pi-hole + Unbound

    أنشئ /etc/unbound/unbound.conf.d/pi-hole.conf وفق الإعداد الوارد في دليل Unbound من Pi-hole: الاستماع على 127.0.0.1 والمنفذ 5335، وتقوية DNSSEC، ومخزن EDNS بحجم 1232 بايت.

    sudo tee /etc/unbound/unbound.conf.d/pi-hole.conf > /dev/null << 'EOF'
    server:
        verbosity: 0
        interface: 127.0.0.1
        port: 5335
        do-ip4: yes
        do-udp: yes
        do-tcp: yes
        do-ip6: no
        harden-glue: yes
        harden-dnssec-stripped: yes
        edns-buffer-size: 1232
        prefetch: yes
    EOF
    sudo systemctl restart unbound

    عند تثبيت Unbound من مستودعات Debian أو Ubuntu، يكون قد عرف خوادم الجذر مسبقًا: ولا يفيد تنزيل root.hints من internic.net إلا في تثبيت مُجمَّع يدويًا.

  3. ‏توجيه Pi-hole نحو Unbound

    ‏في واجهة Pi-hole‏، اذهب إلى Settings → DNS‏. أزل التحديد عن جميع خوادم DNS الخارجية‏. في حقل Custom DNS‏، أدخل 127.0.0.1#5335‏. احفظ‏. سيُرسل Pi-hole الآن جميع الاستعلامات غير المحجوبة إلى Unbound الذي يحلّها مباشرةً من خوادم الجذر‏.

  4. التحقق من التحليل التكراري وDNSSEC

    اختبر Unbound مباشرة:

    dig pi-hole.net @127.0.0.1 -p 5335
    dig fail01.dnssec.works @127.0.0.1 -p 5335
    dig +ad dnssec.works @127.0.0.1 -p 5335

    يجب أن يعيد الطلب الأول عنوانًا. ويجب أن يفشل الثاني بـSERVFAIL دون عنوان، لأن توقيع النطاق معطوب عمدًا. ويجب أن يجيب الثالث بـNOERROR مع العلم ad الذي يؤكد التحقق من DNSSEC. وفي Query Log الخاص بـPi-hole، يجب أن تظهر الطلبات محوّلة إلى 127.0.0.1#5335.

  5. تحييد openresolv على Debian

    يثبّت Debian الحزمة openresolv افتراضيًا، فتكتب الخدمة unbound-resolvconf السطر nameserver 127.0.0.1 دون المنفذ 5335 في /etc/resolv.conf: يسأل النظام Pi-hole، الذي يسأل Unbound، الذي لم يعد يُبلَغ. ويوصي دليل Unbound من Pi-hole بتعطيل هذه الخدمة:

    sudo systemctl disable --now unbound-resolvconf.service
    # then comment out the unbound_conf= line in /etc/resolvconf.conf

    ثم أعد تشغيل Unbound وأعد اختبارات الخطوة السابقة.

‏مراقبة مقاييس Pi-hole

‏يعرض لوح القيادة Pi-hole v6 المقاييس الرئيسية في الوقت الفعلي‏. إليك كيفية تفسيرها وما يجب مراقبته‏.

المقاييس المهمة والقيم المرجعية

  • ‏معدل الحجب (Ads blocked today‏): بين 10‏% و30‏% طبيعي‏. معدل أقل من 5‏% يشير إلى أن قوائمك غير مكتملة‏. معدل فوق 40‏% قد يشير إلى إيجابيات خاطئة كثيرة‏.
  • ‏Queries/24h‏: يعطي فكرة عن الحمل‏. تُولّد شبكة عائلية عادةً 5,000 إلى 50,000 استعلام يومياً‏.
  • ‏Top Blocked Domains‏: إذا تصدّر نطاق إعلاني القائمة كل يوم، فالتطبيق المقابل مزعج بشكل خاص‏.
  • ‏Top Clients‏: حدد الأجهزة الأكثر ثرثرة — أجهزة إنترنت الأشياء في الغالب في المقدمة‏.
  • ‏DNS cache size‏: في v6‏، يدير FTL الذاكرة المخبئية الداخلية‏. معدل إصابة مرتفع (‏>60‏%‏) يقلل الكمون المحسوس‏.
  • ‏Query Types‏: حجم غير طبيعي من استعلامات PTR (‏الحل العكسي‏) قد يشير إلى مسح شبكة أو برنامج مُعدّ بشكل خاطئ‏.

لتصدير المقاييس إلى Prometheus وGrafana، تتيح واجهة REST في v6 من بين ما تتيحه /api/stats/summary و/api/info/metrics. وتتصل أداة التصدير المجتمعية pihole-exporter بكلمة مرور تطبيق (Settings ← Web interface / API) وتغذّي لوحة قائمة دون المساس بإعدادات Pi-hole.

Pi-hole v6 أم AdGuard Home؟

AdGuard Home هو خادم DNS الفلترة الآخر القابل للاستضافة الذاتية، ومكتوب بلغة Go (الإصدار v0.107.80 بتاريخ 3 نوفمبر 2026). يعرض الجدول الفروق التي يمكن التحقق منها في وثائق المشروعين؛ وعلى خادم مربوط بأجهزتك عبر WireGuard، يقل أثر تشفير DNS المدمج في AdGuard Home لأن النفق يشفّر حركة المرور أصلًا.

Pi-hole v6 وAdGuard Home معيارًا بمعيار

مرّر الجدول أفقيًا

المعيارPi-hole v6AdGuard Home
البنيةFTL (بلغة C) مع خادم ويب وواجهة برمجة مدمجين، دون PHP أو lighttpdملف تنفيذي واحد بلغة Go، متعدد المنصات
تقديم DNS مشفّر (DoH وDoT) للعملاءلا، يلزم برنامج إضافي (أو نفق WireGuard)نعم، أصلًا
خادم أعلى مشفّر (DoH وDoT وDNSCrypt)غير مدمج (cloudflared أو Unbound إلى جانبه)نعم، أصلًا
قواعد لكل عميلنعم، عبر مجموعات العملاءنعم
الرقابة الأبوية وفرض SafeSearchعبر قوائم مخصّصة؛ دون فرض SafeSearchمدمجان
إعداد تصريحيملف `pihole.toml` ومتغيرات `FTLCONF_*`ملف YAML وواجهة ويب

‏النسخ الاحتياطي واستعادة إعداد Pi-hole

‏النسخ الاحتياطية المنتظمة لـ Pi-hole ضرورية: تحفظ قوائمك المخصصة وقائمتك البيضاء ومجموعاتك وإعداد DNS‏، التي لن ترغب في إعادة تكوينها يدوياً بعد ترحيل أو إعادة تثبيت‏.

النسخ الاحتياطي والاستعادة

  1. إنشاء نسخة احتياطية بـTeleporter

    في واجهة الويب، افتح Settings ← Teleporter وصدّر الأرشيف: يولّد Pi-hole ملف ZIP يضم الإعدادات والقوائم والمجموعات والنطاقات المسموح بها أو المحجوبة. ومن سطر الأوامر، يمر v6 عبر ملف FTL التنفيذي:

    mkdir -p /root/pihole-backups && cd /root/pihole-backups
    sudo pihole-FTL --teleporter

    يُنشأ الأرشيف في المجلد الحالي، ويُعرض اسمه.

  2. أتمتة النسخ الاحتياطي

    أضف هاتين المهمتين عبر crontab -e: أرشيف كل ليلة، وتنظيف الأرشيفات التي يزيد عمرها على 30 يومًا.

    0 2 * * * cd /root/pihole-backups && pihole-FTL --teleporter >/dev/null 2>&1
    0 3 * * * find /root/pihole-backups -name '*.zip' -mtime +30 -delete

    مع Docker، أضف قبل الأمر docker exec pihole واكتب الأرشيف في المجلد المركّب، مثل /etc/pihole.

  3. الاستعادة من نسخة احتياطية

    بعد إعادة التثبيت، افتح Settings ← Teleporter واستورد ملف ZIP، أو استخدم سطر الأوامر:

    sudo pihole-FTL --teleporter /root/pihole-backups/ARCHIVE.zip

    يستورد Pi-hole الإعدادات والمجموعات والقوائم. وفي v6 تختلف صيغة Teleporter عن v5: فلا تُستعاد نسخ v5 إلا جزئيًا (تُستورد القوائم، ويُعاد إعداد الشبكة يدويًا).

  4. ‏النسخ الاحتياطي لإعداد Unbound

    ‏إذا كنت تستخدم Unbound‏، أضف ملفاته إلى نسختك الاحتياطية: tar -czf /root/unbound-config-$(date +%Y%m%d)‎.tar.gz /etc/unbound/‏. إعداد Unbound لا يتغير بين الإصدارات ويمكن استعادته مباشرةً‏.

‏احفظ نسخك الاحتياطية خارج VPS‏: انسخها إلى حاوية S3‏ أو خادم بعيد أو جهازك المحلي‏. إذا أصبح VPS غير متاح، يمكنك إعادة تكوين Pi-hole على خادم جديد في دقائق باستيراد ملف Teleporter ببساطة‏.

DNS مُرشِّح يرافقك في كل مكان

يستضيف خادم VPS Cloud من ServOrbit، بعنوان IP العام الثابت، تثبيتك الخاص لـ Pi-hole + WireGuard جاهزاً للإحكام: احجب الإعلانات والمتعقّبات على جميع أجهزتك، حتى أثناء التنقّل، دون أن تعرّض محلّلاً مفتوحاً أبداً.