انتقل إلى المحتوى الرئيسي
العودة إلى الفئة

تثبيت Pi-hole وAdGuard Home: حجب الإعلانات على مستوى الشبكة

تثبيت Pi-hole وAdGuard Home عبر Docker، تكوين DNS، إدارة قوائم الحجب، خادم DHCP، القائمة البيضاء/السوداء، الإحصائيات ودعم DoH/DoT.

وقت القراءة: 14 دقيقة الاستضافة الذاتية
pi-holeadguarddnsحجب الإعلاناتself-hostingdockerأمان الشبكة

جدول المحتويات

تثبيت Pi-hole وAdGuard Home: حجب الإعلانات على مستوى الشبكة

Pi-hole وAdGuard Home هما حلّان مستضافان ذاتياً يوفران حجب الإعلانات والمتتبعين القائم على DNS لجميع الأجهزة في شبكتك. على عكس إضافات المتصفح، يعملان على مستوى الشبكة بأكملها، مما يحجب الإعلانات أيضاً في أجهزة التلفزيون الذكية وأجهزة الألعاب والتطبيقات المحمولة.

مقارنة Pi-hole وAdGuard Home

الميزةPi-holeAdGuard Home
الواجهةكلاسيكية، وظيفيةحديثة، سهلة الاستخدام
DoH/DoTيتطلب إضافةمدمج
DHCPمدعوممدعوم
قواعد Regexمحدودةمتقدمة
الإعدادسهلسهل جداً
الأداءجيدجيد جداً
موصى به لـالمستخدمين المتمرسينالمبتدئين

متطلبات النظام

  • خادم أو Raspberry Pi مثبت عليه Docker وDocker Compose
  • 512 ميغابايت من الذاكرة العشوائية كحد أدنى
  • عنوان IP ثابت (مهم لخادم DNS)
  • يجب أن يكون المنفذ 53 متاحاً

تثبيت Pi-hole عبر Docker

hljs yaml
version: '3.8'

services:
  pihole:
    image: pihole/pihole:latest
    container_name: pihole
    restart: unless-stopped
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "127.0.0.1:8080:80"
    environment:
      TZ: 'Asia/Riyadh'
      WEBPASSWORD: 'كلمة-مرور-قوية'
      PIHOLE_DNS_: '1.1.1.1;8.8.8.8'
      DNSSEC: 'true'
      DNSMASQ_LISTENING: 'all'
    volumes:
      - ./pihole/etc-pihole:/etc/pihole
      - ./pihole/etc-dnsmasq.d:/etc/dnsmasq.d
    cap_add:
      - NET_ADMIN
hljs bash
# إيقاف الخدمة التي تستخدم المنفذ 53 (Ubuntu)
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved

# تحديث /etc/resolv.conf
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

# تشغيل Pi-hole
docker compose up -d

في Ubuntu، يستخدم systemd-resolved المنفذ 53. يجب إيقاف هذه الخدمة قبل تشغيل Pi-hole.

تثبيت AdGuard Home عبر Docker

hljs yaml
version: '3.8'

services:
  adguardhome:
    image: adguard/adguardhome:latest
    container_name: adguardhome
    restart: unless-stopped
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "127.0.0.1:3000:3000"
      - "127.0.0.1:8080:80"
      - "853:853/tcp"
      - "443:443/tcp"
    volumes:
      - ./adguard/work:/opt/adguardhome/work
      - ./adguard/conf:/opt/adguardhome/conf
hljs bash
docker compose up -d
# الإعداد الأولي: http://IP_الخادم:3000

تكوين DNS

ضبط DNS على الراوتر (موصى به)

لوحة إدارة الراوتر → إعدادات DHCP
DNS الأساسي: IP_الخادم (IP Pi-hole/AdGuard)
DNS الثانوي: 1.1.1.1 (احتياطي)

تكوين DNS لكل جهاز

hljs bash
# Linux
sudo nano /etc/resolv.conf
nameserver IP_الخادم

# Windows (PowerShell)
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses IP_الخادم

إدارة قوائم الحجب

إضافة قوائم حجب Pi-hole

Group Management → Adlists → إضافة

قوائم شائعة:
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
https://adaway.org/hosts.txt
https://v.firebog.net/hosts/Easylist.txt
https://v.firebog.net/hosts/Easyprivacy.txt
hljs bash
# تحديث gravity (تحديث القوائم)
docker exec pihole pihole -g

قوائم فلاتر AdGuard Home

الفلاتر → قوائم حجب DNS → إضافة قائمة حجب

قوائم موصى بها:
- AdGuard DNS filter (افتراضي)
- EasyList
- EasyPrivacy
- Malware Domains

القائمة البيضاء والسوداء

Pi-hole

hljs bash
# إضافة إلى القائمة البيضاء
docker exec pihole pihole -w example.com

# إضافة إلى القائمة السوداء
docker exec pihole pihole -b ads.example.com

# قائمة سوداء Regex
docker exec pihole pihole --regex '(^|\.)ads\..*'

AdGuard Home

الفلاتر → قواعد الفلترة المخصصة

# حجب
||ads.example.com^

# السماح (قائمة بيضاء)
@@||example.com^

خادم DHCP

Pi-hole: الإعدادات → DHCP
- خادم DHCP مفعّل: نعم
- النطاق: 192.168.1.100 - 192.168.1.200
- الراوتر: 192.168.1.1
- مدة الإيجار: 24 ساعة

AdGuard Home: الإعدادات → إعدادات DHCP
- تفعيل خادم DHCP
- نطاق IP: 192.168.1.100 - 192.168.1.200
- البوابة: 192.168.1.1

عطّل DHCP على الراوتر قبل تفعيله على Pi-hole/AdGuard. خادمان DHCP يسببان مشاكل في الشبكة.

تكوين DoH وDoT

AdGuard Home مع DoH/DoT

الإعدادات → إعدادات التشفير:
- تفعيل التشفير: نعم
- اسم الخادم: dns.example.com
- منفذ HTTPS: 443
- منفذ DNS-over-TLS: 853

Pi-hole مع DoH (Cloudflared)

hljs yaml
cloudflared:
  image: cloudflare/cloudflared:latest
  container_name: cloudflared
  restart: unless-stopped
  command: proxy-dns --port 5053 --upstream https://1.1.1.1/dns-query
  network_mode: host
Pi-hole → الإعدادات → DNS
DNS مخصص: 127.0.0.1#5053

بتثبيت Pi-hole أو AdGuard Home على خوادم REXE VPS، يمكنك تصفية جميع حركة مرور الخادم. الفلترة القائمة على DNS فعّالة بشكل خاص في البيئات التي تشغّل حاويات متعددة.