لماذا تستضيف 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 v5 | Pi-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
تعطيل محلل الوكيل الخاص بـ 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'.
تثبيت Pi-hole
شغّل السكربت الرسمي:
curl -sSL https://install.pi-hole.net | bashيسألك المثبّت عن واجهة الشبكة (غالبًا
eth0) وعن خادم DNS الأعلى (اختر Custom إن كنت ستثبّت Unbound لاحقًا). احتفظ بوضع الاستماع الافتراضي «Allow only local requests»: فهو المناسب مع WireGuard. دوّن كلمة مرور المسؤول المعروضة في النهاية، أو حدّدها بالأمرpihole setpassword.إعداد الجدار الناري
لا تفتح المنفذ 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 مقيّد بعناوينك.التحقق من العمل
اختبر التحليل ثم الحجب من الخادم نفسه، ثم تحقق من الخارج أن المنفذ غير متاح خارج النفق:
# 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.توجيه أجهزتك نحو الخادم
الطريق الأبسط هو 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 العامة.فتح واجهة الويب
في 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 أدوات تشخيص دقيقة لتحديد الإيجابيات الخاطئة وتصحيحها دون إضعاف الحماية.
تشخيص الإيجابية الخاطئة وإصلاحها
تحديد النطاق المحجوب
في الواجهة، افتح Query Log (الوقت الفعلي) أو Long-term data → Query Log. فلتر حسب العميل أو حالة Blocked. تُظهر كل إدخال النطاق الدقيق والقائمة التي حجبته. في v6، يمكنك النقر على الإدخال لرؤية التفاصيل الكاملة.
الإضافة إلى قائمة السماح
انقر النطاق ثم Allow، أو افتح Domains وأضفه بالنوع Allow. وللسماح بنطاق وجميع نطاقاته الفرعية، استخدم خيار Wildcard. يتغلب الإدخال المسموح دائمًا على قوائم الحجب. وإن تكرر الإيجابي الخاطئ نفسه على نطاقات كثيرة، فاشترك بدلًا من ذلك في قائمة سماح يصونها المجتمع، من Lists بالنوع Allow.
السماح من سطر الأوامر
أعاد v6 تسمية الأوامر: لم يعد
pihole -wو--white-wildموجودين. عبر SSH:pihole allow example.com pihole --allow-wild example.com pihole allow -lيسمح الأول بنطاق محدد، والثاني بالنطاق ونطاقاته الفرعية، ويعرض الثالث قائمة السماح.
حالات الإيجابيات الخاطئة الشائعة
قد يُحجب 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 وربط حاوياتك به
كتابة ملف docker-compose.yml
يتبع الملف وثائق Docker الخاصة بـPi-hole، مع وسم مؤرّخ بدلًا من
latestللتحكم في التحديثات. لا يُنشر DNS إلا على حلقة الاسترجاع المحلية وعلى عنوان جسر Docker172.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.ربط الحاويات الأخرى بـ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.التحقق من عدم استماع أي عملية أخرى
أمر التشخيص:
sudo ss -tulpn | grep ':53'. العملية الوحيدة المتوقعة هيpihole-FTL(أوdocker-proxyللمنافذ التي تنشرها الحاوية). وإن رأيت systemd-resolved أو named أو bind9، فعطّل الخدمة المنافسة. ومع systemd-resolved يكفيDNSStubListener=noفي/etc/systemd/resolved.conf، كما في التثبيت المباشر.فحص المحلل الذي تراه الحاوية
من داخل حاوية، اقرأ إعدادات 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
تثبيت Unbound
sudo apt install unbound. متاح في مستودعات Ubuntu وDebian الرسمية. يبدأ تلقائياً لكننا سنعدّه للاستماع محلياً فقط.
إنشاء إعداد 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 إلا في تثبيت مُجمَّع يدويًا.توجيه Pi-hole نحو Unbound
في واجهة Pi-hole، اذهب إلى Settings → DNS. أزل التحديد عن جميع خوادم DNS الخارجية. في حقل Custom DNS، أدخل 127.0.0.1#5335. احفظ. سيُرسل Pi-hole الآن جميع الاستعلامات غير المحجوبة إلى Unbound الذي يحلّها مباشرةً من خوادم الجذر.
التحقق من التحليل التكراري و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.تحييد 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 v6 | AdGuard 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، التي لن ترغب في إعادة تكوينها يدوياً بعد ترحيل أو إعادة تثبيت.
النسخ الاحتياطي والاستعادة
إنشاء نسخة احتياطية بـTeleporter
في واجهة الويب، افتح Settings ← Teleporter وصدّر الأرشيف: يولّد Pi-hole ملف ZIP يضم الإعدادات والقوائم والمجموعات والنطاقات المسموح بها أو المحجوبة. ومن سطر الأوامر، يمر v6 عبر ملف FTL التنفيذي:
mkdir -p /root/pihole-backups && cd /root/pihole-backups sudo pihole-FTL --teleporterيُنشأ الأرشيف في المجلد الحالي، ويُعرض اسمه.
أتمتة النسخ الاحتياطي
أضف هاتين المهمتين عبر
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.الاستعادة من نسخة احتياطية
بعد إعادة التثبيت، افتح Settings ← Teleporter واستورد ملف ZIP، أو استخدم سطر الأوامر:
sudo pihole-FTL --teleporter /root/pihole-backups/ARCHIVE.zipيستورد Pi-hole الإعدادات والمجموعات والقوائم. وفي v6 تختلف صيغة Teleporter عن v5: فلا تُستعاد نسخ v5 إلا جزئيًا (تُستورد القوائم، ويُعاد إعداد الشبكة يدويًا).
النسخ الاحتياطي لإعداد Unbound
إذا كنت تستخدم Unbound، أضف ملفاته إلى نسختك الاحتياطية: tar -czf /root/unbound-config-$(date +%Y%m%d).tar.gz /etc/unbound/. إعداد Unbound لا يتغير بين الإصدارات ويمكن استعادته مباشرةً.
احفظ نسخك الاحتياطية خارج VPS: انسخها إلى حاوية S3 أو خادم بعيد أو جهازك المحلي. إذا أصبح VPS غير متاح، يمكنك إعادة تكوين Pi-hole على خادم جديد في دقائق باستيراد ملف Teleporter ببساطة.