لماذا تستضيف Pi-hole ذاتياً على خادم VPS
Pi-hole محلّل DNS مُرشِّح: يعترض طلبات أجهزتك ويرفض أن يحلّ نطاقات الإعلانات والقياس عن بُعد والتعقّب استناداً إلى قوائم الحجب. وباستضافته على خادم VPS بدلاً من جهاز Raspberry في المنزل، يرافقك في كل مكان: هاتفك عبر شبكة 4G، أو حاسوبك المحمول في المقهى، أو خادم بعيد، يمكنه استخدامه كـ DNS والاستفادة من الترشيح. يوفّر خادم VPS ما لا يستطيعه العتاد المحلي: عنوان IP عام ثابت يمكن الوصول إليه من أي مكان، وتوافراً دائماً. أما المقابل فهو الأمان — إذ إن محلّل DNS مفتوحاً على الإنترنت هدف. وهذا هو بيت القصيد في هذا النشر: عرض Pi-hole بطريقة محكومة، لا كـ DNS عام مفتوح أبداً.
فوائد ملموسة لـ Pi-hole على خادم VPS
- ترشيح الإعلانات ومكافحة التعقّب لجميع أجهزتك، أينما كانت، دون برمجيات للتثبيت.
- إمكان DNS مشفّر (DNS-over-HTTPS / DNS-over-TLS) في الأعلى عبر محلّل مثل cloudflared.
- لوحة تحكم مفصّلة: شاهد آنياً أي النطاقات تتصل بها أجهزتك.
- قوائم حجب قابلة للتخصيص وقواعد سماح/منع لكل عميل لسياسات متمايزة.
- تحليل أسرع بفضل ذاكرة DNS المحلية المخبّأة، المشتركة بين جميع أجهزتك.
- قابل لإعادة الاستخدام كـ DNS لبقية خوادم VPS والحاويات لديك، مع تسجيل مركزي.
المتطلبات التقنية
Pi-hole خفيف للغاية: 1 vCPU، و512 ميغابايت إلى 1 غيغابايت من الذاكرة، وبضعة غيغابايتات من القرص تكفي. تحتاج إلى Docker وDocker Compose. النقطة الحرجة ليست القوة بل الشبكة والأمان: يستمع Pi-hole على المنفذ 53 (DNS، بـ TCP وUDP) ويعرض واجهة إدارة عبر الويب. لا تفتح المنفذ 53 لكامل الإنترنت أبداً — إذ سيُساء استخدام محلّل DNS مفتوح في هجمات التضخيم. لذا خطّط إما لشبكة VPN (WireGuard) للوصول إلى DNS بشكل خاص، أو لتقييد بجدار الحماية على عناوين IP المصرّح لها فقط. ويفيد نطاق فرعي pihole.yourdomain.com للواجهة عبر HTTPS.
انشر Pi-hole خطوة بخطوة
تجهيز حزمة Docker
على خادم VPS، أنشئ /opt/pihole وملف docker-compose.yml مبنيّاً على صورة pihole/pihole:latest. حدّد المتغيّر WEBPASSWORD، والمنطقة الزمنية TZ، واربط وحدات تخزين لـ /etc/pihole و/etc/dnsmasq.d لإبقاء الإعدادات محفوظة.
إحكام الوصول إلى DNS قبل كل شيء
لا تنشر المنفذ 53 نحو 0.0.0.0. الأكثر أماناً: انشر أولاً WireGuard على خادم VPS واجعل Pi-hole يستمع على واجهة VPN فقط. وإن تعذّر ذلك، قيّد المنفذ 53 بجدار الحماية (ufw) على عناوين IP الموثوقة فقط. المحلّل المفتوح غير مقبول.
تشغيل Pi-hole
ابدأ بـ docker compose up -d. تحقّق من أن الخدمة تستجيب داخلياً: يجب أن يُعيد docker compose exec pihole dig @127.0.0.1 doubleclick.net استجابة محجوبة (0.0.0.0).
تأمين واجهة الإدارة
اعرض واجهة الويب (المنفذ الداخلي 80) فقط خلف وسيط عكسي HTTPS، لا بشكل غير مشفّر أبداً. مع Caddy: pihole.yourdomain.com { reverse_proxy pihole:80 }. تبقى الإدارة متاحة على /admin بكلمة المرور المحدّدة.
تفعيل DNS عُلوي مشفّر
أضِف حاوية cloudflared كمحلّل DoH واضبط Pi-hole لاستخدامها كمصدر عُلوي (127.0.0.1#5053). عندئذٍ تُشفَّر طلباتك الصادرة بين خادم VPS والمحلّل العام.
إعداد أجهزتك
وجّه DNS أجهزتك (أو إعداد WireGuard) نحو عنوان IP لخادم VPS. على الهاتف، استخدم ملف تعريف VPN لتوجيه DNS عبر Pi-hole حتى أثناء التنقّل. تحقّق من الترشيح في لوحة التحكم آنياً.
اجمع Pi-hole مع WireGuard على خادم VPS نفسه: اجعل Pi-hole يستمع حصراً على واجهة wg0 ووزّعه كـ DNS في إعدادات أنداد WireGuard. تحصل على DNS مُرشِّح خاص ومشفّر يمكن الوصول إليه من أي مكان، دون أن تعرّض المنفذ 53 للإنترنت أبداً — وهذه هي الطريقة الآمنة حقاً الوحيدة لامتلاك Pi-hole «متنقّل». ثم أضِف قوائم حجب موضوعية (مثل قوائم مكافحة القياس عن بُعد أو مكافحة المتعقّبات الإقليمية) بدلاً من قائمة عملاقة واحدة، للحفاظ على معدّل منخفض للإيجابيات الكاذبة.