איך להגדיר AdGuard Home על VPS
התקינו AdGuard Home על Ubuntu, השלימו את אשף ההרצה הראשונה, נעלו את ממשק הווב, הפעילו DNS-over-HTTPS ו-DNS-over-TLS, הפנו מכשירים למפענח שלכם, והימנעו מהרצת שרת DNS פתוח שכל האינטרנט יכול לנצל לרעה.

AdGuard Home הוא sinkhole DNS באירוח עצמי ומפענח בסגנון רקורסיבי עם ממשק ווב. הוא יכול לחסום פרסומות, עוקבים ודומיינים זדוניים לכל מכשיר שמשתמש בו כ-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 GB יכול לסנן בית ועוד כמה לקוחות
דרישות
צריך דומיין אם רוצים תעודה מהימנה ל-DoH/DoT וללוח הבקרה. אפשר לבדוק קודם ב-HTTP ובכתובת ה-IP של השרת, אבל אל תשאירו כך. אם systemd-resolved כבר מחזיק את פורט 53 ב-Ubuntu, נשחרר אותו לפני ש-AdGuard Home נקשר ל-DNS.
- VPS עם Ubuntu 22.04 או 24.04 ו-root/sudo
- 1 GB 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 בסגנון LAN לחברים, העדיפו 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 וגרסאות אנדרואיד חדשות יכולים להשתמש בתבנית DoH. iOS יכול להשתמש בפרופיל הגדרה או בלקוח שתומך ב-DoH. גם Firefox ו-Chromium מאפשרים כתובת DoH מותאמת. לנתב ביתי הגדירו DNS של WAN רק אם הנתב תומך ב-DoT/DoH; אחרת הריצו WireGuard והגדירו DNS לכתובת ה-IP של VPN ב-VPS כדי ש-DNS קלאסי לעולם לא יחצה את האינטרנט.
- אנדרואיד 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) כדי להחיל רשימות מחמירות יותר על טלוויזיה חכמה ורפויות יותר על מחשב עבודה. הפעילו חיפוש בטוח רק אם באמת רוצים אותו — זה מפתיע אנשים שלא ביקשו תוצאות גוגל ששוכתבו.
- יומן שאילתות: מצאו את הדומיין החסום ואז הכניסו לרשימה לבנה אם זה חיובי כוזב
- הגדרות לקוח: רשימות חסימה שונות לכל מכשיר
- לקוחות אסורים: חסמו טווחים שאינם שלכם
- הגבלת קצב: הפעילו אם אי פעם חושפים יותר מקומץ משתמשים
פתרון בעיות
אם ה-VPS עצמו לא יכול לבצע apt update שברתם DNS מקומי בזמן שחרור פורט 53 — שימו מפענח סטטי ב-resolved.conf כמו למעלה. אם למכשירים יש «אינטרנט» אבל פרסומות עדיין נטענות, הם עוקפים את ה-DNS שלכם (מפענחים מקודדים, DoH בדפדפן, או אפליקציה עם DNS משלה). אם לוח הבקרה ריק אתם מסתכלים על המופע הלא נכון או עדיין פוגעים בפורט 3000 אחרי שהאשף העביר את הממשק.
- apt נכשל: בדקו /etc/resolv.conf ו-systemd-resolved
- פורט 53 בשימוש: ss -tulpn, כבו מאזין stub
- שגיאות תעודת DoH: שם המארח חייב להתאים ל-SAN של התעודה
- פרסומות עדיין נראות: DoH בדפדפן לספק אחר דורס את מערכת ההפעלה
- RAM גבוה: יומן שאילתות + יותר מדי רשימות סינון — קצצו רשימות וקצרו שמירת יומן
רשימת בדיקה לאבטחה
ממשק הווב הוא לוח ניהול. סיסמה ייחודית, HTTPS בלבד, ואל תפרסמו את הכתובת. שמרו על AdGuard Home מעודכן; גם סקריפט ההתקנה וגם הממשק חושפים נתיב עדכון. הגבילו 443 אם רק המכשירים שלכם אמורים להשתמש ב-DoH — אימות בסיסי של HTTP בנתיב DoH או גישה רק דרך WireGuard בטוחים בהרבה ממפענח פתוח מפורסם.
- בלי 53/udp ציבורי
- HTTPS על לוח הבקרה
- סיסמת מנהל חזקה, שמורה במנהל סיסמאות
- העדיפו WireGuard + DNS פנימי למכשירי משפחה
- גבו את AdGuardHome.yaml מחוץ לשרת
טיפים
- גבו את /opt/AdGuardHome/AdGuardHome.yaml לפני כל שדרוג
- השתמשו בתת-דומיין ייעודי; אל תשתפו אותו עם CMS לא קשור
- אם כבר רץ Caddy, תנו ל-Caddy להחזיק את 443 והשאירו AdGuard Home ב-localhost
- תעדו את כתובת DoH למכשירים — תשכחו אותה
- שלבו עם מדריכי הקשחת SSH וחומת אש כדי שה-VPS לא יהיה רק «מאובטח ב-DNS»
AdGuard Home על VPS פשוט: שחררו את פורט 53 מקומית, הריצו את המתקין, סיימו את האשף עם סיסמת מנהל חזקה, שימו את הממשק על HTTPS, הפעילו DoH/DoT והרחיקו DNS קלאסי מהאינטרנט הציבורי. הפנו מכשירים לקצה המוצפן שלכם או לכתובת IP של VPN, התחילו בסט קטן של מסננים, והשתמשו ביומן השאילתות כשמשהו נשבר. זה מפענח פרטי שאתם באמת שולטים בו — לא DNS ציבורי פתוח שיכניס את ה-VPS למסדי ניצול לרעה.