كيفية إعداد AdGuard Home على VPS
ثبّت AdGuard Home على Ubuntu، وأكمل معالج التشغيل الأول، وأمّن واجهة الويب، وفعّل DNS-over-HTTPS وDNS-over-TLS، ووجّه الأجهزة إلى محللك، وتجنّب تشغيل خادم DNS مفتوح يستطيع الإنترنت كله إساءة استخدامه.

AdGuard Home محلل DNS ذاتي الاستضافة بنمط sinkhole مع واجهة ويب. يستطيع حظر الإعلانات والمتتبعات ونطاقات البرمجيات الخبيثة لكل جهاز يستخدمه كـ DNS — هواتف وحواسيب محمولة وتلفزيونات ذكية ومشاريع VPS أخرى. بخلاف إضافة متصفح يعمل حتى للتطبيقات التي تتجاهل ملفات hosts. تشغيله على VPS مفيد عندما تريد التصفية نفسها في السفر، أو عندما لا تريد Raspberry Pi على شبكتك المنزلية.
الافتراضي الخطير الذي يجب ألا تشحنه هو محلل مفتوح: إن كان UDP/TCP 53 قابلًا للوصول من الإنترنت كله بلا تحكم وصول فسيستخدم الغرباء VPS الخاص بك لتضخيم DNS وستحصل على شكاوى إساءة. يثبّت هذا الدليل AdGuard Home على Ubuntu، ويربط DNS بـ localhost أو واجهة WireGuard خاصة ما لم تعرض DNS مشفرًا عمدًا، ويضع لوحة التحكم على HTTPS، ويبيّن كيف تستخدم الحواسيب المحمولة والهواتف DNS-over-HTTPS (DoH) أو DNS-over-TLS (DoT) دون فتح المنفذ الكلاسيكي 53 للعالم.
فيما يجيد AdGuard Home
المقارنة المعتادة هي Pi-hole. AdGuard Home ثنائي واحد بواجهة ويب مدمجة وواجهات DNS مشفرة اختيارية وإعدادات لكل عميل. يمكنك تشغيله في Docker أو كخدمة systemd. على VPS من Hiddence يتزاوج جيدًا مع VPN خاص: تنضم الأجهزة إلى WireGuard وترسل DNS إلى VPS عبر النفق ولا تعرض المنفذ 53 علنًا أبدًا.
- حظر على مستوى الشبكة دون تثبيت تطبيق على كل جهاز
- DoH (443) وDoT (853) حتى لا يكون DNS نصًا واضحًا على Wi-Fi عام
- سجل استعلامات وإحصاءات لترى أي جهاز يتحدث إلى أي نطاق
- مصادر أعلى مخصصة (Quad9 أو Cloudflare أو Unbound الخاص بك)
- بصمة صغيرة — VPS بـ 1 غيغابايت يستطيع تصفية منزل وبضع عملاء إضافيين
المتطلبات
تحتاج نطاقًا إن أردت شهادة موثوقة لـ DoH/DoT وللوحة التحكم. يمكنك الاختبار على HTTP وعنوان IP للخادم أولًا، لكن لا تتركه كذلك. إن كان systemd-resolved يملك المنفذ 53 أصلًا على Ubuntu فسنحرّره قبل أن يربط AdGuard Home بـ DNS.
- VPS بنظام Ubuntu 22.04 أو 24.04 مع root/sudo
- غيغابايت RAM واحد يكفي للاستخدام الشخصي
- نطاق أو نطاق فرعي (dns.example.com) بسجل A إلى VPS
- وصول SSH؛ WireGuard اختياري إن أردت DNS داخل نفق فقط
الخطوة 1: حرّر المنفذ 53 وثبّت AdGuard Home
غالبًا ما يشغّل Ubuntu Server خدمة systemd-resolved كـ stub على 127.0.0.53:53. يريد AdGuard Home المنفذ 53 على الواجهات التي تختارها. يستطيع المثبّت فعل ذلك، لكن فعله صراحة يتجنب DNS نصف معطوب على VPS نفسه (ما زلت تحتاج الخادم ليحل الحزم).
ssh root@YOUR_VPS_IP
apt update && apt -y upgrade
apt -y install curl ca-certificates
# See who owns port 53:
ss -tulpn | grep ':53'
# Typical Ubuntu fix: stop stub listener, point the OS at a temporary resolver
mkdir -p /etc/systemd/resolved.conf.d
cat >/etc/systemd/resolved.conf.d/adguardhome.conf <<'EOF'
[Resolve]
DNS=1.1.1.1
DNSStubListener=no
EOF
ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
systemctl restart systemd-resolved
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -vالخطوة 2: معالج التشغيل الأول
يطبع المثبّت عنوانًا، عادة http://YOUR_IP:3000/. افتحه وأنشئ مستخدم مسؤول بكلمة مرور طويلة واختر عناوين الاستماع. لإعداد أول آمن على VPS عام: واجهة المسؤول على 127.0.0.1:3000 (ستضع Caddy أمامها) أو على 80/443 بعد TLS؛ استماع DNS على 127.0.0.1:53 إضافة إلى واجهة VPN، لا على 0.0.0.0:53. إن احتجت حقًا DNS بأسلوب شبكة محلية للأصدقاء ففضّل DoH/DoT على 443/853 مع مصادقة، لا 53/udp مفتوحًا.
اختر خوادم DNS أعلى تثق بها. كثيرون يستخدمون https://dns.quad9.net/dns-query أو Cloudflare. فعّل الطلبات المتوازية إن أردت فشلًا أسرع. شغّل قوائم التصفية الافتراضية ثم أضف المزيد لاحقًا — تفعيل خمسين قائمة في اليوم الأول يجعل التصحيح مستحيلًا عندما ينكسر موقع.
الخطوة 3: وكيل عكسي وHTTPS للوحة التحكم
بعد انتهاء المعالج ينقل AdGuard Home الواجهة عادة إلى المنفذ 80. يصطدم ذلك بـ Caddy أو Nginx إن كنت تستضيف مواقع أيضًا. نمط نظيف: ويب AdGuard Home على 127.0.0.1:8080، وDNS على 127.0.0.1:53، وCaddy على 443 لكل من اللوحة وDoH.
# In AdGuard Home settings, bind the web UI to 127.0.0.1:8080
# Example Caddyfile:
dns.example.com {
reverse_proxy 127.0.0.1:8080
}
# After Caddy is up:
curl -I https://dns.example.comالخطوة 4: فعّل DNS-over-HTTPS وDNS-over-TLS
في إعدادات التشفير فعّل التشفير واضبط اسم الخادم على dns.example.com ووجّه AdGuard Home إلى ملفات شهادتك — إما التي يخزّنها Caddy أو الشهادات التي يحصل عليها AdGuard Home نفسه إن استمع على 443. DoH عادة https://dns.example.com/dns-query. DoT هو dns.example.com:853. إن كان Caddy يملك 443 أصلًا فدع Caddy ينهي TLS ويوكّل مسار DoH إلى منفذ DoH HTTP العادي في AdGuard Home، أو دع AdGuard Home يستمع على 443 وضع اللوحة على نطاق فرعي آخر.
تحقق بعميل قبل أن تغيّر كل جهاز. على حاسوب محمول بـ curl حديث:
curl -H 'accept: application/dns-json' 'https://dns.example.com/dns-query?name=example.com&type=A'
# DoT test (kdig from knot-dnsutils, if installed):
# kdig @dns.example.com +tls-ca +tls-host=dns.example.com example.comالخطوة 5: وجّه الأجهزة الحقيقية إلى محللك
يستطيع Windows 11 وإصدارات Android الحديثة استخدام قالب DoH. يستطيع iOS استخدام ملف إعداد أو عميل يدعم DoH. يسمح Firefox وChromium أيضًا بعنوان DoH مخصص. لجهاز توجيه منزلي اضبط DNS شبكة WAN فقط إن كان الموجّه يدعم DoT/DoH؛ وإلا شغّل WireGuard واضبط DNS على عنوان IP لشبكة VPN الخاصة بـ VPS حتى لا يعبر DNS الكلاسيكي الإنترنت أبدًا.
- Android 9+: DNS خاص (DoT) → dns.example.com
- Firefox: الإعدادات → الشبكة → DNS عبر HTTPS → عنوان مخصص https://dns.example.com/dns-query
- أجهزة Apple: mobileconfig موقَّع أو تطبيق يدعم DoH/DoT
- VPS آخر: اضبط resolv.conf أو systemd-resolved على عنوان WireGuard لهذا المثيل من AdGuard
- تجنب تعيين عنوان IP لهذا VPS كـ DNS على شبكات عامة عشوائية دون تشفير
الخطوة 6: جدار الحماية — أغلق DNS التكراري المفتوح
هذا القسم يمنع مفاجأة سيئة. اسمح بـ SSH وHTTPS واختياريًا 853/tcp لـ DoT. لا تسمح بـ 53/udp من 0.0.0.0/0 ما لم يكن لديك تصميم محدد جدًا محدود المعدل ومصادق عليه — وحتى حينها ربما لا ينبغي.
ufw allow OpenSSH
ufw allow 443/tcp comment 'dashboard + DoH'
ufw allow 853/tcp comment 'DoT'
# If DNS is only on WireGuard (example iface wg0, 10.8.0.1):
# ufw allow in on wg0 to any port 53 proto udp
ufw enable
ufw status verbose
# Confirm 53 is not public:
ss -tulpn | grep ':53'المرشحات والقوائم البيضاء والعملاء
ابدأ بمرشح DNS الافتراضي من AdGuard وقائمة برمجيات خبيثة واحدة. عندما يسيء موقع التصرف تحقق من سجل الاستعلامات ثم أضف قاعدة قائمة بيضاء محددة بدل تعطيل كل الحظر. استخدم أسماء العملاء (حسب IP أو ClientID في عنوان DoH) حتى تطبق قوائم أشد على تلفزيون ذكي وألين على حاسوب عمل. فعّل البحث الآمن فقط إن كنت تريده فعلًا — يفاجئ من لم يطلبوا نتائج Google المعاد كتابتها.
- سجل الاستعلامات: اعثر على النطاق المحظور ثم ادرجه في القائمة البيضاء إن كان إيجابيًا كاذبًا
- إعدادات العميل: قوائم حظر مختلفة لكل جهاز
- العملاء غير المسموح بهم: احظر النطاقات التي لا تملكها
- تحديد المعدل: فعّله إن عرضت يومًا أكثر من حفنة مستخدمين
استكشاف الأخطاء
إن لم يستطع VPS نفسه تنفيذ apt update فقد كسرت DNS المحلي أثناء تحرير المنفذ 53 — ضع محللًا ثابتًا في resolved.conf كما هو موضح أعلاه. إن كان للأجهزة «إنترنت» لكن الإعلانات ما زالت تُحمَّل فهي تتجاوز DNS الخاص بك (محللات مضمّنة، أو DoH في المتصفح، أو تطبيق يستخدم DNS خاصًا). إن كانت اللوحة فارغة فأنت تنظر إلى المثيل الخطأ أو ما زلت تصيب المنفذ 3000 بعد أن نقل المعالج الواجهة.
- فشل apt: تحقق من /etc/resolv.conf وsystemd-resolved
- المنفذ 53 مستخدم: ss -tulpn، عطّل مستمع الـ stub
- أخطاء شهادة DoH: يجب أن يطابق اسم المضيف SAN الشهادة
- الإعلانات ما زالت ظاهرة: DoH المتصفح إلى مزوّد آخر يتجاوز نظام التشغيل
- ذاكرة عالية: سجل الاستعلامات + قوائم تصفية كثيرة جدًا — قلّص القوائم وقصّر الاحتفاظ بالسجل
قائمة تحقق أمنية
واجهة الويب لوحة إدارة. كلمة مرور فريدة وHTTPS فقط ولا تنشر العنوان. أبقِ AdGuard Home محدَّثًا؛ سكريبت التثبيت والواجهة يعرضان مسار تحديث. قيّد 443 إن كان يفترض أن تستخدم أجهزتك فقط DoH — مصادقة HTTP الأساسية على مسار DoH أو وصول WireGuard فقط أكثر أمانًا بكثير من محلل مفتوح مشهور.
- لا 53/udp عام
- HTTPS على لوحة التحكم
- كلمة مرور مسؤول قوية مخزَّنة في مدير كلمات مرور
- فضّل WireGuard + DNS داخلي لأجهزة العائلة
- انسخ AdGuardHome.yaml خارج الخادم
نصائح
- انسخ /opt/AdGuardHome/AdGuardHome.yaml احتياطيًا قبل كل ترقية
- استخدم نطاقًا فرعيًا مخصصًا؛ لا تشاركه مع نظام إدارة محتوى غير ذي صلة
- إن كنت تشغّل Caddy أصلًا فدع Caddy يملك 443 وأبقِ AdGuard Home على localhost
- وثّق عنوان DoH لأجهزتك — ستنساه
- اربطه بأدلة تأمين SSH وجدار الحماية حتى لا يكون VPS «آمن DNS» فقط
AdGuard Home على VPS مباشر: حرّر المنفذ 53 محليًا، شغّل المثبّت، أنهِ المعالج بكلمة مرور مسؤول قوية، ضع الواجهة على HTTPS، فعّل DoH/DoT، وأبقِ DNS الكلاسيكي بعيدًا عن الإنترنت العام. وجّه الأجهزة إلى نقطتك المشفرة أو عنوان IP لشبكة VPN، وابدأ بمجموعة صغيرة من المرشحات، واستخدم سجل الاستعلامات عندما ينكسر شيء. هذا محلل خاص تتحكم فيه فعلًا — لا DNS عام مفتوح سيدرج VPS الخاص بك في قواعد بيانات الإساءة.