Bloga dön
Ağustos 19, 2026Rehberler

VPS Üzerinde AdGuard Home Nasıl Kurulur

Ubuntu’da AdGuard Home kurun, ilk çalıştırma sihirbazını tamamlayın, web arayüzünü kilitleyin, DNS-over-HTTPS ve DNS-over-TLS’i etkinleştirin, cihazları çözümleyicinize yönlendirin ve tüm internetin kötüye kullanabileceği açık bir DNS sunucusu çalıştırmaktan kaçının.

VPS Üzerinde AdGuard Home Nasıl Kurulur

AdGuard Home, web arayüzlü kendi barındırılan bir DNS sinkhole ve özyinelemeli tarzda çözümleyicidir. DNS olarak kullanan her cihaz — telefonlar, dizüstüler, akıllı TV’ler ve diğer VPS projeleri — için reklamları, izleyicileri ve kötü amaçlı alan adlarını engelleyebilir. Bir tarayıcı uzantısından farklı olarak, hosts dosyalarını yok sayan uygulamalar için de çalışır. Yolda aynı süzmeyi istediğinizde veya ev ağınızda bir Raspberry Pi istemediğinizde VPS’te çalıştırmak işe yarar.

Kesinlikle göndermemeniz gereken tehlikeli varsayılan, açık bir çözümleyicidir: UDP/TCP 53 tüm internetten erişilebilir ve erişim denetimi yoksa yabancılar VPS’inizi DNS yükseltmesi için kullanır ve kötüye kullanım şikayetleri alırsınız. Bu rehber AdGuard Home’u Ubuntu’ya kurar, şifreli DNS’i kasten açmadığınız sürece DNS’i localhost veya özel bir WireGuard arayüzüne bağlar, gösterge panelini HTTPS’e alır ve dizüstü ile telefonların klasik 53 portunu dünyaya açmadan DNS-over-HTTPS (DoH) veya DNS-over-TLS (DoT) kullanabileceğini gösterir.

AdGuard Home ne işe yarar

Olağan karşılaştırma Pi-hole’dur. AdGuard Home, yerleşik web arayüzü, isteğe bağlı şifreli DNS ön uçları ve istemci başına ayarları olan tek bir ikilidir. Docker’da veya systemd hizmeti olarak çalıştırabilirsiniz. Bir Hiddence VPS’te özel bir VPN ile iyi eşleşir: cihazlar WireGuard’a katılır, DNS’i tünel üzerinden VPS’e gönderir ve 53 portunu hiç herkese açık etmez.

  • Her cihaza uygulama kurmadan ağ genelinde engelleme
  • DoH (443) ve DoT (853) sayesinde genel Wi-Fi’de DNS düz metin olmaz
  • Hangi cihazın hangi alan adıyla konuştuğunu görebileceğiniz sorgu günlüğü ve istatistikler
  • Özel yukarı akışlar (Quad9, Cloudflare veya kendi Unbound’unuz)
  • Küçük ayak izi — 1 GB’lık bir VPS bir ev artı birkaç ekstra istemciyi süzebilir

Gereksinimler

DoH/DoT ve gösterge paneli için güvenilir bir sertifika istiyorsanız bir alan adına ihtiyacınız vardır. Önce HTTP ve sunucu IP’siyle deneyebilirsiniz ama öyle bırakmayın. Ubuntu’da systemd-resolved zaten 53 portuna sahipse, AdGuard Home DNS’e bağlanmadan önce onu boşaltacağız.

  • Root/sudo ile Ubuntu 22.04 veya 24.04 VPS
  • Kişisel kullanım için 1 GB RAM yeterlidir
  • VPS’e A kaydı olan bir alan adı veya alt alan adı (dns.example.com)
  • SSH erişimi; DNS’i yalnızca tünel içinde istiyorsanız isteğe bağlı WireGuard

Adım 1: 53 portunu boşaltın ve AdGuard Home’u kurun

Ubuntu Server sık sık systemd-resolved’ı 127.0.0.53:53 üzerinde bir stub olarak çalıştırır. AdGuard Home, seçtiğiniz arayüzlerde 53 ister. Yükleyici bunu yapabilir ama açıkça yapmak, VPS’in kendi DNS’inin yarı kırık kalmasını önler (sunucunun hâlâ paket çözümlemesi gerekir).

bash
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

Adım 2: İlk çalıştırma sihirbazı

Yükleyici bir URL yazdırır, genellikle http://YOUR_IP:3000/. Açın, uzun parolalı bir yönetici kullanıcısı oluşturun ve dinleme adreslerini seçin. Genel bir VPS için güvenli ilk kurulum: Yönetici Web 127.0.0.1:3000’de (önüne Caddy koyacaksınız) veya TLS sonrası 80/443’te; DNS dinleme 127.0.0.1:53 artı bir VPN arayüzü, 0.0.0.0:53 değil. Arkadaşlar için gerçekten LAN tarzı DNS gerekiyorsa açık 53/udp değil, kimlik doğrulamalı 443/853 üzerinde DoH/DoT tercih edin.

Güvendiğiniz yukarı akış DNS sunucularını seçin. Birçok kişi https://dns.quad9.net/dns-query veya Cloudflare kullanır. Daha hızlı yedekleme istiyorsanız paralel istekleri açın. Varsayılan süzgeç listelerini açın, sonra daha fazlasını ekleyin — ilk gün elli liste açmak bir site bozulduğunda hata ayıklamayı imkânsız kılar.

Dizüstünüzden 3000 portunu açamıyorsanız bir SSH tüneli kullanın: ssh -L 3000:127.0.0.1:3000 root@YOUR_VPS_IP ve http://127.0.0.1:3000/ adresine bakın

Adım 3: Gösterge paneli için ters proxy ve HTTPS

Sihirbaz bitince AdGuard Home genellikle arayüzü 80 portuna taşır. Siteler de barındırıyorsanız bu Caddy veya Nginx ile çakışır. Temiz bir desen: AdGuard Home web 127.0.0.1:8080, DNS 127.0.0.1:53, hem gösterge paneli hem DoH için 443’te Caddy.

bash
# 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

Adım 4: DNS-over-HTTPS ve DNS-over-TLS’i etkinleştirin

Şifreleme ayarlarında şifrelemeyi açın, sunucu adını dns.example.com yapın ve AdGuard Home’u sertifika dosyalarınıza yönlendirin — Caddy’nin sakladıkları veya 443’te dinliyorsa AdGuard Home’un kendisinin aldığı sertifikalar. DoH genellikle https://dns.example.com/dns-query şeklindedir. DoT dns.example.com:853’tür. Caddy zaten 443’e sahipse TLS’i Caddy sonlandırsın ve DoH yolunu AdGuard Home’un düz HTTP DoH portuna ters proxy yapsın ya da AdGuard Home 443’te dinlesin ve gösterge panelini başka bir alt alana koyun.

Her cihazı değiştirmeden önce bir istemciyle doğrulayın. Modern curl’lü bir dizüstünde:

bash
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

Adım 5: Gerçek cihazları çözümleyicinize yönlendirin

Windows 11 ve yeni Android sürümleri bir DoH şablonu kullanabilir. iOS bir yapılandırma profili veya DoH destekleyen bir istemci kullanabilir. Firefox ve Chromium da özel bir DoH URL’sine izin verir. Ev yönlendiricisinde WAN DNS’i yalnızca yönlendirici DoT/DoH destekliyorsa ayarlayın; aksi halde WireGuard çalıştırın ve DNS’i VPS VPN IP’sine koyun ki klasik DNS hiç interneti geçmesin.

  • Android 9+: Özel DNS (DoT) → dns.example.com
  • Firefox: Ayarlar → Ağ → HTTPS üzerinden DNS → özel URL https://dns.example.com/dns-query
  • Apple cihazları: imzalı bir mobileconfig veya DoH/DoT destekleyen bir uygulama
  • Diğer VPS: resolv.conf veya systemd-resolved’ı bu AdGuard örneğinin WireGuard IP’sine ayarlayın
  • Şifreleme olmadan rastgele genel ağlarda bu VPS IP’sini DNS olarak ayarlamaktan kaçının

Adım 6: Güvenlik duvarı — açık özyinelemeli DNS’i kapatın

Bu bölüm nahoş bir sürprizi önler. SSH, HTTPS ve isteğe bağlı olarak DoT için 853/tcp’ye izin verin. Çok spesifik, hız sınırlı, kimlik doğrulamalı bir tasarımınız yoksa 0.0.0.0/0’dan 53/udp’ye izin vermeyin — o zaman bile muhtemelen vermemelisiniz.

bash
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'

Süzgeçler, izin listeleri ve istemciler

AdGuard’ın varsayılan DNS süzgeci ve bir kötü amaçlı yazılım listesiyle başlayın. Bir site bozulduğunda sorgu günlüğüne bakın, ardından tüm engellemeyi kapatmak yerine belirli bir izin listesi kuralı ekleyin. İstemci adları kullanın (IP veya DoH URL’sindeki ClientID ile) ki bir akıllı TV’ye daha sıkı, iş dizüstüne daha gevşek listeler uygulayabilesiniz. Güvenli aramayı yalnızca gerçekten istiyorsanız açın — yeniden yazılmış Google sonuçları istemeyen insanları şaşırtır.

  • Sorgu günlüğü: engellenen alan adını bulun, yanlış pozitifse beyaz listeye alın
  • İstemci ayarları: cihaz başına farklı engelleme listeleri
  • İzin verilmeyen istemciler: sahip olmadığınız aralıkları engelleyin
  • Hız sınırlama: bir avuçtan fazla kullanıcıyı açarsanız açın

Sorun giderme

VPS’in kendisi apt update yapamıyorsa 53 portunu boşaltırken yerel DNS’i bozdunuz — yukarıdaki gibi resolved.conf’a statik bir çözümleyici koyun. Cihazların ‘interneti var’ ama reklamlar hâlâ yükleniyorsa DNS’inizi atlıyorlardır (sabit kodlu çözümleyiciler, tarayıcıda DoH veya kendi DNS’ini kullanan bir uygulama). Gösterge paneli boşsa yanlış örneğe bakıyorsunuzdur veya sihirbaz arayüzü taşıdıktan sonra hâlâ 3000 portuna vuruyorsunuzdur.

  • apt başarısız: /etc/resolv.conf ve systemd-resolved’ı kontrol edin
  • 53 portu kullanımda: ss -tulpn, stub dinleyiciyi kapatın
  • DoH sertifika hataları: ana bilgisayar adı sertifika SAN ile eşleşmelidir
  • Reklamlar hâlâ görünür: tarayıcı DoH’u başka bir sağlayıcıya işletim sistemini ezer
  • Yüksek RAM: sorgu günlüğü + çok fazla süzgeç listesi — listeleri kısın ve günlük saklamayı kısaltın

Güvenlik kontrol listesi

Web arayüzü bir yönetici panelidir. Benzersiz parola, yalnızca HTTPS ve URL’yi yayımlamayın. AdGuard Home’u güncel tutun; hem kurulum betiği hem arayüz bir güncelleme yolu sunar. Yalnızca sizin cihazlarınız DoH kullanacaksa 443’ü kısıtlayın — DoH yolunda HTTP temel kimlik doğrulaması veya yalnızca WireGuard erişimi, ünlü bir açık çözümleyiciden çok daha güvenlidir.

  • Genel 53/udp yok
  • Gösterge panelinde HTTPS
  • Güçlü yönetici parolası, parola yöneticisinde saklanır
  • Aile cihazları için WireGuard + iç DNS tercih edin
  • AdGuardHome.yaml dosyasını sunucunun dışına yedekleyin

İpuçları

  • Her yükseltmeden önce /opt/AdGuardHome/AdGuardHome.yaml yedekleyin
  • Ayrılmış bir alt alan adı kullanın; ilgisiz bir CMS ile paylaşmayın
  • Zaten Caddy çalıştırıyorsanız 443’ü Caddy’ye bırakın ve AdGuard Home’u localhost’ta tutun
  • Cihazlarınız için DoH URL’sini belgelendirin — unutacaksınız
  • VPS’in yalnızca ‘DNS-güvenli’ olmaması için SSH sıkılaştırma ve güvenlik duvarı rehberleriyle eşleştirin

VPS’te AdGuard Home düzdür: yerelde 53 portunu boşaltın, yükleyiciyi çalıştırın, güçlü bir yönetici parolasıyla sihirbazı bitirin, arayüzü HTTPS’e alın, DoH/DoT’u açın ve klasik DNS’i genel internetten uzak tutun. Cihazları şifreli uç noktanıza veya bir VPN IP’sine yönlendirin, küçük bir süzgeç setiyle başlayın ve bir şey bozulunca sorgu günlüğünü kullanın. Bu, gerçekten kontrol ettiğiniz özel bir çözümleyicidir — VPS’inizi kötüye kullanım veritabanlarına sokacak genel açık bir DNS değil.