NordBastion'ın kutup ayısı maskotu, karanlık bir İskandinav taş salonunda bir sunucu rafının yanında duruyor, bir pençesini alan adlarını listeleyen, havada duran camgöbeği holografik bir run taşına doğru kaldırmış; dört sorgu ışını runik bir kemerden geçerek uzaktaki üç sunucu monolitine doğru yayılıyor, beşinci ışın ise kehribar rengi, çarpı işaretli bir daire kalkanıyla durduruluyor, arkadaki pencereden kutup ışıkları görünüyor
Nasıl yapılır · Ağ·15 dakika okuma · 40 dakika uygulamalı

Kendi DNS çözümleyiciniz.
Kimsenin taşımayı düşünmediği tek günlük.

Cihazlarınızın aradığı her alan adı, bir başkasının dosyasında zaman damgalı bir satırdır — ISP'nizin ya da ücretsiz bir genel çözümleyicinin dosyasında. O dosyayı sahibi olduğunuz bir makineye taşımak için altı adım: kökten çözümleyen Unbound, önde filtreleme yapan AdGuard Home, gerçek bir sertifika üzerinde şifreli DNS ve internete asla açık olmayan 53 portu. Sunucunun aylık maliyeti $3.90'dır. Debian 12 üzerinde test edildi.

Altı adım
  1. 01

    Biçim

    Özyineleme, yönlendirme değil

  2. 02

    Kapat

    Port 53, açılmadan önce

  3. 03

    Çözümle

    Unbound, doğrulayan

  4. 04

    Filtrele

    AdGuard Home, DoH, DoT

  5. 05

    Eriş

    Önce tünel, sonra istemciler

  6. 06

    Doğrula

    Sızıntılar, DNSSEC, çalışma süresi

Başlamadan önce · Aslında sızan ne

DNS, hayatınızın indeksidir. Varsayılan olarak onu siz tutmazsınız.

Diski şifreleyin, trafiği tünelden geçirin, Monero ile ödeyin, e-posta olmadan kaydolun — ve sonra dizüstü bilgisayarın, hiç düşünmediğiniz bir çözümleyiciye, dokunduğu her hostname'i, tek seferde bir sorgu olmak üzere, açık metin halinde, bütün gün çevirtmesine izin verin. Ad araması, insanların en son güçlendirdiği yığın parçasıdır ve birisinin gerçekte ne yaptığına dair en temiz kaydı üreten parçadır.

O kaydın ne içerdiği konusunda kesin olmakta fayda var, çünkü "DNS gezinmenizi sızdırır" hem doğru hem de tembelce bir ifadedir. Sorgu günlüğü, soran IP adresine atfedilen, zaman damgalı alan adlarından oluşan bir listedir. Okuduğunuz sayfalar değildir ve genellikle tam URL de değildir. Daha sessiz ve profil çıkarmak için daha iyi bir şeydir: bir hayatın biçimi. Banka. İşveren. Her dört dakikada bir kontrol eden flört uygulaması. Saat 02:00'de bir kez ziyaret edilen sağlık sitesi. Yalnızca aynı mesajlaşma istemcisine ait oldukları için hep birlikte görünen üç alan adı. İndeks bu kadar iyiyken içeriğe kimsenin ihtiyacı yoktur.

Bu indeksi dört taraf tutabilir ve kendi sunucunuzda barındırmak onu ilk ikisinden dördüncüsüne taşır:

Kurulum Yaptığınız her sorguyu kim görür Hat üzerinde görünen Anonimlik kümesi
ISP çözümleyicisi, düz metin (varsayılan)ISP'niz, ad ve hesap bilgisiyleYol üzerindeki herkese, her şeyOnların aboneleri
Genel çözümleyici, şifreli (DoH/DoT)IP'nize bağlı olarak o tek şirketHedeften başka hiçbir şeyMilyonlarca
Kendi çözümleyiciniz, upstream'e yönlendirenSeçtiğiniz upstream — değişmedenHedeften başka hiçbir şeyBir
Kendi çözümleyiciniz, kökten özyineleme yapanHiç kimse — her bölge yalnızca kendi adlarını görürHedeften başka hiçbir şeyBir, sizin olmayan bir IP üzerinde

Üçüncü satır, insanları yakalayan satırdır. Kendi sunucunuza bir çözümleyici kurup sonra her şeyi 1.1.1.1'e yönlendirmesini söylemek tam olarak bir şeyi değiştirir: sorgularınız artık Cloudflare'e farklı bir IP adresinden ulaşır. Günlük hâlâ vardır, hâlâ bir başkasına aittir ve siz de karşılığında hiçbir şey almadan bakımını yapmanız gereken bir makine eklemiş olursunuz.

Son sütun dürüst maliyettir ve bu kılavuz buna iki kez geri döner. Tek bir hane tarafından kullanılan bir çözümleyici, sorguları açıkça o haneye ait olan bir çözümleyicidir. Bu takası almaya değer kılan şey, soran IP'nin arkasında hiçbir kimlik belgesi olmayan kiralık bir Nordic sunucu olmasıdır — abone adı olan bir ev hattı değil, kayıtlı kartı olan bir hyperscaler hesabı değil. Anonimlik kümesi küçülür; asıl kopan şey bir kişiyle olan bağlantıdır.

Adım 01 · Biçim

Özyineleme mi, yoksa yalnızca aktarma mı? İkisinden yalnızca biri sunucuya değer.

"Kendi DNS sunucum" ifadesinin arkasında birbirinden tamamen farklı iki makine gizlidir ve hemen her eğitim yanlış olanı kurar. Herhangi bir şey kurmadan önce buna karar verin, çünkü bu, bir gizlilik aracıyla bir başkasının gizlilik politikasının vekili olan bir şey arasındaki farktır.

Bir yönlendirici sorgunuzu alır ve başka bir çözümleyiciye — tipik olarak Cloudflare, Google, Quad9 ya da ISP'nize — iletir, sonra geri geleni önbelleğe alır. Basittir, hızlıdır ve tüm sorgu akışınızı tek bir üçüncü tarafa teslim eder. "Şimdi upstream'inizi 1.1.1.1 olarak ayarlayın" ile biten her kılavuz bunlardan birini kurmuştur.

Özyinelemeli bir çözümleyici işi kendisi yapar. mail.example.com'u bulmak için bir kök sunucuya .com'u kimin çalıştırdığını sorar, .com sunucularına example.com'u kimin çalıştırdığını sorar, sonra kaydı example.com'un kendi ad sunucularından ister. Üç ya da dört farklı operatörle üç ya da dört kısa görüşme; hiçbirine diğerleri hakkında hiçbir şey söylenmez. QNAME küçültme açıldığında bu daha da ileri gider: köke yalnızca .com hakkında, .com sunucularına da yalnızca example.com hakkında sorulur. Tam ad tam olarak tek bir tarafa açıklanır — o adı barındıran ve zaten otuz milisaniye sonra bağlantınızı alacak olan taraf.

Özellik Unbound, özyinelemeli Herhangi bir yönlendirici Tek başına AdGuard Home
Her sorguyu tek bir taraf görürHayırEvetEvet — upstream'i
DNSSEC yerelde doğrulanırEvetUpstream'den güvenilirUpstream'den güvenilir
Engelleme listeleri ve cihaz başına kurallarYalnızca yerel bölgeler aracılığıylaDaemon'a bağlıEvet, bir web arayüzüyle
İstemciler için DoH / DoT dinleyicileriDoğal olarak DoT, bir proxy üzerinden DoHDaemon'a bağlıİkisi de, yerleşik olarak
Soğuk başlangıç gecikmesi3–4 gidiş-dönüş1 gidiş-dönüş1 gidiş-dönüş
Doğru cevapYığının gizlilik yarısıYalnızca kasıtlı bir yedek olarakFiltreleme yarısı, önde

Sağdaki iki sütun birbirinin rakibi değildir — aynı kurulumun iki yarısıdır. AdGuard Home 53 portunun sahibidir, engelleme listelerini uygular ve şifreli taşımaları sonlandırır; Unbound onun arkasında loopback üzerinde oturur ve çözümlemeyi yapar. İki yarıdan hiçbiri diğerinin işini iyi yapmaz ve zincirin toplamı yaklaşık yüz megabayt RAM'dir.

Bu sayfadan yalnızca bir şey alacaksanız, şunu alın: genel bir DNS sağlayıcısına yönlendiren bir çözümleyici, DNS'inizi özel hale getirmemiştir. Günlüğü yalnızca bir sıçrama taşımış ve bakım listenize bir sunucu eklemiştir. Bütün mesele özyinelemedir.

Adım 02 · Kapat

Herhangi bir şey açmadan önce 53 portunu kapatın. Bu dikkatli adım değildir. Gerekli olan adımdır.

Önce sunucuyu sipariş edin. Panelde: Order → VPS → Sentinel, imaj Debian 12, onu kullanacak cihazlara en yakın kalede — Helsinki, Stockholm, Oslo ya da Reykjavík. Hesabı açmak için bir e-posta adresine gerek yoktur ve fatura Monero, Bitcoin, Lightning ya da desteklenen başka herhangi bir varlıkla ödenir; bu burada her zamankinden daha fazla önem taşır: kişisel bir çözümleyicinin tüm değeri, soran IP adresinin bir isme geri izlenememesine dayanır.

Ardından ilk saat güçlendirme kontrol listesini uygulayın — yalnızca SSH anahtarları, parola ile girişi kapatma, gözetimsiz güncellemeler — çünkü aşağıdaki her şey, henüz ele geçirilmemiş bir sunucu varsayar.

Daemon'ı başlatmadan önce bunu okuyun

Bütün internete yanıt veren özyinelemeli bir çözümleyiciye açık çözümleyici denir ve port açıldıktan sonraki birkaç saat içinde internet çapındaki tarayıcılar tarafından bulunur. DNS UDP üzerinden çalışır, UDP kaynak adresleri kolayca sahtelenir ve 60 baytlık bir sorgu, onlarca kat daha büyük bir yanıt üretebilir — dolayısıyla açık bir çözümleyici, bir üçüncü tarafa karşı hizmet reddi saldırısı için ücretsiz bir yükseticidir. Ardından gelen sıralama her zaman aynıdır: trafik başlar, kötüye kullanım bildirimleri gelir ve IP null route'a alınır. Bu, ilk DNS sunucusunun sonlanmasının en yaygın tek yoludur. İki kural bunu tamamen önler: çözümleyici yapılandırmasında varsayılan olarak reddet ve güvenlik duvarında 0.0.0.0/0'dan asla 53/udp'ye izin verme.

Dolayısıyla henüz hiçbir şey dinlemiyorken önce güvenlik duvarı gelir. Aşağıdaki kurallar 10.8.0.0/24 üzerinde bir WireGuard tüneli varsayar — henüz bir tane kurmadıysanız, bu sayfanın altında bağlantısı verilen WireGuard kılavuzu on beş dakikalık bir sapmadır ve bütün bu tasarımın en rahat çalıştığı taşıma katmanı odur.

ufw default deny incoming
ufw allow 22/tcp                      # or your moved SSH port
ufw allow 51820/udp                   # WireGuard
ufw allow in on wg0 to any port 53 proto udp
ufw allow in on wg0 to any port 53 proto tcp
ufw enable

# DNS is NOT opened to the world. Confirm it:
ufw status numbered | grep 53

Kasıtlı olarak eksik olan şeyi fark edin: genel arayüzde 53'ü açan bir kural yoktur. Port 53 yalnızca wg0'da ve loopback'te vardır. Daha sonra DNS-over-TLS ya da DNS-over-HTTPS eklerseniz, bunlar TCP 853 ve TCP 443'tür, bir sertifikayla kimlik doğrulanır ve adım 05'te kendi kurallarını alırlar — düz metin UDP portu ise her koşulda kapalı kalır.

Şimdi portu boşaltın. Ubuntu'da — ve birinin etkinleştirdiği herhangi bir Debian'da — systemd-resolved zaten 127.0.0.53:53'te dinlemektedir ve Unbound, insanların yirmi dakikasını yanlış okuyarak geçirdiği bir bind hatasıyla başlamayı reddedecektir. Önce kontrol edin, sonra systemd-resolved'ı yerel istemci tarafı arayüzü olarak tutarak yalnızca stub listener'ı devre dışı bırakın:

ss -lunp 'sport = :53'                # who owns UDP/53 right now?

mkdir -p /etc/systemd/resolved.conf.d
cat > /etc/systemd/resolved.conf.d/no-stub.conf <<'EOF'
[Resolve]
DNSStubListener=no
EOF
systemctl restart systemd-resolved
ss -lunp 'sport = :53'                # should now be empty

Temiz bir Debian 12'de ilk komut hiçbir şey yazdırmaz ve yapacak bir şey yoktur. Yine de çalıştırın — bir saniyenizi alır, alternatifi ise çalıştığını bilmediğiniz bir servise karşı "address already in use" hatasını teşhis etmektir.

Adım 03 · Çözümle

Unbound, kökten itibaren. Tek paket, tek yapılandırma dosyası, upstream yok.

Unbound, NLnet Labs'ten doğrulayan, özyinelemeli, önbellekleyen bir çözümleyicidir. Her yerde paketlenmiştir, internetin büyük bir kısmının zaten çalıştırdığı şeydir ve kutudan çıktığı haliyle özyineleme yapar — onu bir yönlendiriciye dönüştürmek için özel çaba göstermeniz gerekir. Kök sunucuların nerede olduğunu hiçbir yerden liste çekmeden bilmesi için onu kök ipuçları paketiyle birlikte kurun:

apt update && apt install -y unbound dns-root-data
unbound -V | head -2

dns-root-data paketi, kök ipuçlarını /usr/share/dns/root.hints konumuna ve DNSSEC kök güven çapasını /usr/share/dns/root.key konumuna kurar ve ikisini de normal paket kanalı üzerinden güncel tutar. Bunları edinmenin sıkıcı ama doğru yolu budur; root.hints'i bir cron job içinde bir URL'den indirmek ise er ya da geç sessizce başarısız olan yoldur.

/etc/unbound/unbound.conf.d/nb-resolver.conf

server:
    # ---- Who may ask. Deny first, allow narrowly.
    interface: 127.0.0.1@5335
    interface: 10.8.0.1
    access-control: 0.0.0.0/0 refuse
    access-control: ::0/0 refuse
    access-control: 127.0.0.0/8 allow
    access-control: 10.8.0.0/24 allow

    # ---- Privacy of the recursion itself.
    qname-minimisation: yes
    qname-minimisation-strict: no
    hide-identity: yes
    hide-version: yes
    rrset-roundrobin: yes

    # ---- DNSSEC. The anchor is maintained by the dns-root-data package.
    auto-trust-anchor-file: "/var/lib/unbound/root.key"
    root-hints: "/usr/share/dns/root.hints"
    harden-dnssec-stripped: yes
    harden-glue: yes
    harden-below-nxdomain: yes
    harden-large-queries: yes
    harden-short-bufsize: yes
    aggressive-nsec: yes
    val-clean-additional: yes

    # ---- Do not be a reflector, even by accident.
    refuse-any: yes
    ratelimit: 1000
    ip-ratelimit: 200
    edns-buffer-size: 1232

    # ---- Cache. This is where the 4 GB actually earns its keep.
    msg-cache-size: 128m
    rrset-cache-size: 256m
    cache-min-ttl: 60
    cache-max-ttl: 86400
    prefetch: yes
    prefetch-key: yes
    serve-expired: yes
    serve-expired-ttl: 3600

    # ---- Never chase a name that has no business being on the internet.
    private-address: 10.0.0.0/8
    private-address: 172.16.0.0/12
    private-address: 192.168.0.0/16
    private-address: 169.254.0.0/16
    private-address: fd00::/8
    private-address: fe80::/10

    num-threads: 2
    so-reuseport: yes
    verbosity: 0
    logfile: ""

remote-control:
    control-enable: yes
    control-interface: /run/unbound.ctl

O satırlardan dördü gerçek işi yapıyor ve her biri birer cümleyi hak ediyor.

  • 01access-control: 0.0.0.0/0 refuse — internete verilen varsayılan cevap "hayır"dır. Ondan sonraki her şey, bilerek yazdığınız bir istisnadır. Bu tek satır, adım 02'deki yükseltme hikâyesini güvenlik duvarına iş bile düşmeden durduran satırdır.
  • 02qname-minimisation: yes — kök sunuculara tam hostname değil, .com hakkında sorulur. RFC 9156; günümüz Unbound'unda varsayılan olarak açıktır ve özyinelemeli bir çözümleyicinin diyagramın ima ettiğinden daha az sızdırmasının nedenidir. Strict mode'u kapalı bırakın: az sayıda hatalı yapılandırılmış bölge hâlâ bunun altında bozulmaktadır.
  • 03refuse-any: yes — ANY sorguları, mümkün olan en küçük soruya karşılık mümkün olan en büyük yanıtı döndürür; bu da tam olarak bir yükseltme saldırısının istediği şeydir. Meşru hiçbir şey bunlara ihtiyaç duymaz.
  • 04serve-expired: yes — yetkili bir sunucuya ulaşılamadığında, başarısız olmak yerine bayat yanıtı verin ve arka planda yenileyin. Bu, uzaktaki bir kesintinin evdeki herkese internetin çökmüş gibi görünmesini engelleyen ayardır.

İki dinleyiciyi fark edin. 5335 portundaki loopback, bir sonraki adımda AdGuard Home'un kullanacağı şeydir; 10.8.0.1 ise tünel adresidir, böylece filtreleme katmanını atlamaya karar verirseniz VPN'deki istemciler Unbound'u doğrudan sorgulayabilir. Henüz WireGuard çalıştırmıyorsanız, o ikinci arayüz satırını şimdilik bırakın — Unbound, sunucuda var olmayan bir adresle başlamaz.

Başlatın ve çalıştığını kanıtlayın:

unbound-checkconf
systemctl restart unbound && systemctl enable unbound

apt install -y dnsutils
dig @127.0.0.1 -p 5335 nordbastion.com +short

# DNSSEC: the first must come back with the "ad" flag set,
# the second must FAIL — its signatures are deliberately broken.
dig @127.0.0.1 -p 5335 dnssec-tools.org +dnssec | grep -E 'flags:|status:'
dig @127.0.0.1 -p 5335 dnssec-failed.org  | grep 'status:'

İlk yanıttaki ad bayrağı, Unbound'un kökten kayda kadar imza zincirini kontrol ettiği ve zincirin tuttuğu anlamına gelir. İkincisindeki SERVFAIL ise doğrulamanın kurcalanmış bir yanıtı size geçirmek yerine reddettiği anlamına gelir. İkincisi bunun yerine bir adres döndürüyorsa, doğrulama açık değildir ve bakılacak ilk şey güven çapasıdır.

Adım 04 · Filtrele

Önde AdGuard Home. Engelleme listeleri, cihaz başına kurallar ve şifreli dinleyiciler.

Bu adım katı anlamda isteğe bağlıdır — tek başına Unbound zaten özel bir çözümleyicidir — ve neredeyse herkes yine de bunu ister. AdGuard Home size engelleme listeleri, istemci başına politikalar, hata ayıklarken okunabilir bir sorgu günlüğü ve en kullanışlısı, VPN'in pratik olmadığı ağlardan telefonların ve tarayıcıların çözümleyicinizle konuşabilmesi için yerel DNS-over-TLS ve DNS-over-HTTPS dinleyicileri sağlar.

Düzenleme bir zincirdir ve bütün mesele portları doğru ayarlamaktır: AdGuard Home 53'ün sahibidir ve istemcilere bakar, Unbound 127.0.0.1:5335'te oturur ve internete bakar. Sunucuda başka hiçbir şey 53'ü dinlemez.

curl -fsSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
# Web interface: http://<vps>:3000 — reach it over the SSH tunnel below,
# never by opening 3000 to the internet.
ssh -N -L 3000:127.0.0.1:3000 root@<vps>

İlk çalıştırma sihirbazını o tünel üzerinden yapın. Yönetici dinleyicisini 127.0.0.1'e ya da tünel adresine ayarlayın, asla 0.0.0.0'a değil, ve ona uzun bir parola verin — bu arayüz, ağınızın çözümlediği her adı yeniden yazabilir, bu da onu çözümleyicinin kendisi kadar hassas kılar.

Ardından tam olarak bir upstream ayarlayın: Settings → DNS settings içinde varsayılan listeyi temizleyin ve Unbound örneğinizi girin. Tek satır, başka hiçbir şey yok. O kutuda genel bir çözümleyici bırakılırsa, adım 01'de yapılan her şey geri alınmış olur.

127.0.0.1:5335

"Parallel requests" seçeneğini kapalı bırakın — tek bir upstream ile trafiği çoğaltmaktan başka hiçbir işe yaramaz — ve gerçekten bir iç bölge çalıştırmıyorsanız "Use private reverse DNS resolvers" seçeneğini kapatın. Bootstrap sunucularını güvendiğiniz bir şeye ayarlayın; bunlar yalnızca upstream sunucuların hostname'lerini çözmek için kullanılır ve düz bir IP upstream ile hiçbir zaman başvurulmaz.

Engelleme listeleri: dar başlayın. İçgüdü, liste sayfasındaki her şeyi etkinleştirip sayacın keyfini çıkarmaktır. Buna direnin. Her liste, cihazlarınızın nereye erişmesine izin verildiği konusunda bir başkasının verdiği takdir kararlarından oluşan bir kümedir ve arızalar sessiz ve kafa karıştırıcıdır — yarım yüklenen bir sayfa, hiçbir şey yapmayan bir düğme, açılmayı reddeden bir banka uygulaması. Varsayılan AdGuard DNS filtresiyle ya da OISD gibi iyi bakımlı, tek bir birleşik listeyle başlayın, iki hafta onunla yaşayın ve ancak o zaman daha fazlasını ekleyin. Bir izin listesi tutun ve onu suçluluk duymadan kullanın.

Sorgu günlüğü, rahatsız edici kısımdır

Az önce, amacı bir başkasının cihazlarınızın çözümlediği her adın listesini tutmasını engellemek olan bir makine kurdunuz — ve AdGuard Home'un yaptığı ilk şey, varsayılan olarak doksan gün boyunca tam olarak o listeyi tutmaktır. Engelleme listelerini ayarlarken gerçekten kullanışlıdır ve sunucudaki en hassas tek dosyadır. Bilerek karar verin: "bu cihaz az önce ne istedi?" sorusunu yanıtlamak için 24 saat yeterlidir, ayarlama bittikten sonra dürüst ayar sıfırdır ve doksan gün, kimsenin bir varsayılanı olduğu gibi bırakarak vermemesi gereken bir karardır. Settings → General → Query log, ve oradayken istatistik saklama süresini de ayarlayın.

Güvenlik duvarını yeni düzenlemeye göre ayarlayın — AdGuard Home artık tünel arayüzünde 53 portunun sahibidir ve Unbound'a yalnızca loopback üzerinden ulaşılabilir. Genel arayüzle ilgili hiçbir şey değişmez: üzerinde hâlâ hiç DNS yoktur.

Adım 05 · Eriş

İçeri girmenin iki yolu. Tünel iyi olanı; şifreli DNS ise taşınabilir olanı.

Kimsenin ulaşamadığı bir çözümleyici işe yaramaz, herkesin ulaşabildiği bir çözümleyici ise adım 02'deki arıza durumudur. Tam olarak iki iyi cevap vardır ve çoğu insan sonunda ikisini de çalıştırır — evde ve dizüstü bilgisayarda tünel, telefonda ve UDP'nin filtrelendiği ağlarda şifreli DNS.

Seçenek A — WireGuard üzerinden. İkisinin en iyisi ve bu kılavuzun sürekli WireGuard kılavuzuna işaret etmesinin nedeni. Port 53 internete karşı görünmez kalır, sorgunun kendisi hiçbir biçimde güvenilmeyen bir ağdan geçmez ve yenilenecek bir sertifika yoktur. VPS zaten VPN çıkışınızsa, bu her eşin yapılandırmasında tek bir satırdır:

# On the client, in the [Interface] section of the peer config:
DNS = 10.8.0.1

İnsanları ısıran bir incelik: Linux'ta wg-quick, o adresi resolvconf ya da systemd-resolved üzerinden ayarlar ve ikisi de kurulu değilse, tünel kusursuzca ayağa kalkarken sessizce hiçbir şey yapmaz. Tünel ayağa kalktıktan sonra resolvectl status ile ya da /etc/resolv.conf'u okuyarak kontrol edin — eski çözümleyici hâlâ yapılandırılmış halde çalışan bir tünel, tam olarak bu alıştırmanın konusu olan sızıntıdır.

Seçenek B — DNS-over-TLS ve DNS-over-HTTPS. Cihaz her zaman tünelde olamadığında gereklidir. İkisi de bir sertifikayla kimlik doğrulanır, bu da bir hostname anlamına gelir: bir A kaydını VPS'e yönlendirin, sonra ya sertifikayı doğrudan AdGuard Home'a tutturun ya da onu sizin için zaten TLS'i sonlandıran bir ters proxy'nin arkasına yerleştirin. Dinleyiciler DoT için 853/tcp ve DoH için 443/tcp'dir.

ufw allow 853/tcp                     # DNS-over-TLS
ufw allow 443/tcp                     # DNS-over-HTTPS
# 53/udp is still NOT open on the public interface. It never will be.
ufw status

DoH uç noktasına tahmin edilemeyen bir yol verin — AdGuard Home onu /dns-query/<random> altında sunmanıza izin verir ve kişi başına farklı bir yol, herkes için başka bir şey döndürmeden erişimin kişi kişi iptal edilebileceği anlamına gelir. Bu güçlü anlamda bir kimlik doğrulama değildir ama genel bir dinleyicinin fazladan adımlı bir açık çözümleyici olmasını engeller.

İstemci Ayarın bulunduğu yer Konuştuğu taşıma
Android 9 ve sonrasıAyarlar → Ağ → Özel DNS → ana bilgisayar adıYalnızca DNS-over-TLS
iOS ve macOSİmzalı bir .mobileconfig DNS profiliSistem genelinde DoH ya da DoT
Windows 11Ayarlar → Ağ → DNS sunucusu atamasıBağdaştırıcı başına DoH
FirefoxAyarlar → Gizlilik → DNS over HTTPS → ÖzelYalnızca tarayıcıda DoH
Router (bütün ağ)WAN DNS ya da DHCP option 6Düz DNS — o yüzden tünelleyin

Router satırı, üzerinde düşünülmesi gereken satırdır. Çözümleyicinizi DHCP üzerinden dağıtmak, ayar ekranı olmayanlar dahil evdeki her cihazı bir kerede kapsar — ama router'dan VPS'e olan sıçrama, o zaman açık internet üzerinden düz DNS olur, ki durdurmaya çalıştığınız şey tam olarak budur. Tüneli router'ın kendisinde çalıştırın ya da son milin şifresiz olduğunu kabul edip kazancın özyineleme olmasına izin verin.

Bilinmeye değer son bir yapılandırma: DNS-over-HTTPS etkin bir tarayıcı, tünel olsun olmasın kendi çözümleyicisini kullanır ve sistem ayarını sessizce yok sayar. Firefox ve Chrome, bazı bölgelerde bunu varsayılan olarak açık gönderir. Ya tarayıcıyı da kendi uç noktanıza yönlendirin ya da işletim sistemini izlemesi için DoH'unu kapatın.

Adım 06 · Doğrula

Dört kontrol. Bunlardan üçü, birinin ilk kurulumunda başarısız olur.

1. İnternete açık mı? Bunu tünelde olmayan bir makineden çalıştırın — mobil veri üzerindeki bir telefon, başka bir VPS, herhangi bir şey. Zaman aşımı, doğru ve istenen cevaptır. Gerçek bir yanıt, internetteki her tarayıcının da onu bulacağı anlamına gelir ve hemen adım 02'ye geri dönmelisiniz.

dig @<public-ip-of-vps> +timeout=3 example.com
# Expected: ";; connection timed out; no servers could be reached"

2. Cihaz onu gerçekten kullanıyor mu? Bu, en sık başarısız olan kontroldür ve arıza görünmezdir: tünel ayaktadır, ayar doğru görünür ve işletim sistemi hâlâ kafenin DHCP üzerinden verdiği çözümleyiciye sormaktadır. Çözümleyicinin kendisine sizi kim sandığını sorun, sonra diğer taraftan doğrulayın.

# On the client — which resolver is the system actually using?
resolvectl status | grep -A2 'Current DNS'        # Linux
scutil --dns | grep nameserver                    # macOS

# On the server — does the query actually arrive?
tail -f /var/log/syslog | grep -i unbound &
unbound-control stats_noreset | grep total.num.queries

Sonra cihazdan genel DNS sızıntı testi sayfalarından birini açın ve sonucu okuyun. VPS sağlayıcınızı adlandırıyorsa, yol doğrudur. ISP'nizi ya da büyük bir genel çözümleyiciyi adlandırıyorsa, tünelin upstream'inde bir yerlerde hâlâ bir şey yanıt veriyordur.

3. Doğrulama gerçekten açık mı? Adım 03'teki iki dig komutunu bu kez doğrudan Unbound'a karşı değil, tüm zincir boyunca — istemci, AdGuard Home, Unbound — tekrarlayın. Bozuk imzalı bir ad burada da başarısız olmalıdır. AdGuard Home'un ayarlarında bir yerlerde ikinci bir upstream bırakılmışsa, kendini burada gösterir.

4. Önbellek işini yapıyor mu? Bir günlük normal kullanımdan sonra isabet oranı yüzde yetmiş ile doksan arasında bir yerde olmalıdır. Çok daha düşükse bu genellikle önbelleğin çok küçük olduğu ya da upstream'deki her şeyin çok kısa bir TTL'si olduğu için cache-min-ttl'nin yok sayıldığı anlamına gelir; yoğun bir ağda çok daha yüksek olması ise prefetch'in çalıştığına dair mutlu bir işarettir.

unbound-control stats_noreset | grep -E 'total.num.(queries|cachehits)'
# hit rate = cachehits / queries

Ve ardından iki işletimsel karar. Birincisi: bu sunucu yeniden başladığında ne olur. Ona yönlendirilmiş her cihaz ad çözümlemeyi kaybeder ve hanedeki herkes bunu internetin bozulduğu şeklinde bildirir. Servisi arızada yeniden başlayacak ve önyüklemede başlayacak şekilde ayarlayın, sonra VPS'i bir kez bilerek yeniden başlatın ve geri geldiğini izleyin. İkincisi: bir yedek. Ya istemcilerinizde genel bir çözümleyiciyi ikincil olarak listeleyin ve bir kesinti sırasında o sorguların kontrolünüzden çıkacağını kabul edin, ya da farklı bir kalede ikinci bir VPS'te ikinci bir örnek çalıştırın. İkisi de savunulabilir. Bu soruyu bir pazar günü saat 23:00'te keşfetmek savunulabilir değildir.

systemctl enable unbound AdGuardHome
systemctl show unbound -p Restart -p RestartUSec
reboot        # then, from a client: dig nordbastion.com +short
Dürüst kısım · Bunun yapmadığı şey

Bir kanalı kapatır. Diğer dördü hâlâ açıktır.

Özel bir çözümleyici gerçek bir iyileştirmedir ve bir pelerin değildir. Onu öyleymiş gibi satan biri size bir şey satıyordur. İşte yukarıdaki her şey yapıldıktan sonra görünür kalanların listesi, çünkü kalan maruziyetin biçimini bilmek, bir savunma ile bir teselli battaniyesi arasındaki farktır.

Bağlantı yine de gerçekleşir. Aramadan bir milisaniye sonra, cihazınız az önce öğrendiği adrese bir TCP bağlantısı açar. Hattınızı izleyen herkes o adresi görür. Kendi IP'sindeki bir site için adres, sitenin ta kendisidir. Şifreli DNS soruyu ortadan kaldırır; cevabı kaldırmaz.

TLS el sıkışması genellikle siteyi adlandırır. Server Name Indication, neredeyse her HTTPS bağlantısının başında açık metin halinde gönderilir, bu yüzden pasif bir gözlemci hostname'i zaten okur. Encrypted Client Hello bunu düzeltir ve dengesiz biçimde dağıtılmıştır — hem tarayıcının hem de sitenin desteklediği yerlerde ad gizlenir, desteklemedikleri yerlerde gizlenmez. Açık olduğunu varsaymayın.

Çözümleyici operatörü artık sizsiniz ve siz tek bir kişisiniz. Çözümleyicinizin konuştuğu her yetkili sunucu, kendi bölgesi hakkında soran tek bir IP adresi görür. Birçok bölge boyunca, o IP'nin kendine özgü bir deseni vardır ve o desen bir hanedir. Bu, ilk bölümdeki anonimlik kümesi maliyetidir ve bunu köreltebilecek tek şey, IP'nin bir isme izlenememesi — KYC gerektirmeyen, kripto ile ödenen bir VPS — ve ideal olarak trafiğinizin zaten çıktığı IP ile aynı olmasıdır.

Sağlayıcı, her zamanki gibi, paketleri görebilir. VPS, birinin donanımında, birinin veri merkezinde çalışır. NordBastion müşteri trafiğini incelemez ve şeffaflık raporu ile arama emri kanaryası, sorulması halinde ne olacağını anlatır — ama dürüst mimari gerçek şudur: kiraladığınız bir makine, bir başkasının fiziksel olarak ulaşabildiği bir makinedir. Kendi sunucunuzda barındırmanın değiştirdiği şey, ürün düzeyinde bir sorgu günlüğünün, bir analitik hattının ya da değiştirilebilecek bir gizlilik politikasının olmamasıdır; yalnızca sizin tarafınızdan yapılandırılmış, bilerek seçtiğiniz bir yargı bölgesinde, RAM'de bir önbellek tutan bir süreç vardır.

Tam olarak satın aldığınız şey şudur: sizinle ilgili en zengin ve en ucuz tek davranışsal veri kaynağı, artık iş modeli bu veriyi toplamayı içeren bir tarafça toplanmıyor. Bu dar bir iddiadır ve gerçek bir iddiadır. Tehdit modeli Tor gerektirdiğinde bu sayfadaki hiçbir şey Tor'un yerini tutmaz — ve bunun için, aşağıdaki onion service kılavuzu dürüst bir sonraki okumadır.

Boyutlandırma · Ne sipariş etmeli

DNS küçüktür. Sunucuda başka ne varsa ona göre sipariş edin.

Katman Aylık Kaynaklar Rahatça çalıştırdığı şey
Sentinel$3.902 vCPU · 4 GB · 120 GBBir hane için çözümleyici + WireGuard. Doğru cevap.
Garrison$7.904 vCPU · 8 GB · 240 GBAynısı, artı bir Vaultwarden, bir SearXNG ve bir yedekleme hedefi
Ravelin$16.908 vCPU · 16 GB · 480 GBKüçük bir ekip, yirmi beş tünel eşi, yanında başka servisler
İkinci bir Sentinel$3.90Başka bir kaledeYedek çözümleyici, böylece bir kesinti bir internet kesintisi olmaz

Bu tablodaki hiçbir şey DNS için seçilmez. Otuz cihaz için bir çözümleyici, birkaç yüz megabaytlık önbellek ve bir çekirdeğin bir kısmını kullanır, ayda birkaç yüz megabayt trafik taşır. Katmanı WireGuard eşleri, diğer servisler ve disk için seçin — çözümleyicinin bedavaya yolculuk etmesine izin verin.

Saha notları · Altı tuzak

Bunun ters gidebileceği altı yol. Bunlardan beşi sessizdir.

Tuzak 01 · Gürültülü

Açık çözümleyici ve bir hafta sonraki null route

Bir güvenlik duvarı kuralı fazladan, ya da allow'da bırakılmış bir access-control satırı. Tarayıcılar portu saatler içinde bulur, yükseltme trafiği başlar, kötüye kullanım bildirimi gelir, IP karanlığa gömülür. Varsayılan olarak reddedin, yalnızca tünele izin verin ve ağ dışından test edin.

Tuzak 02 · Anlamsız

Genel bir çözümleyiciye yönlendiren özel bir çözümleyici

AdGuard Home kurulmuş, upstream varsayılan listede bırakılmış, her şey güzelce çalışıyor — ve sorgu günlüğü hâlâ adı ayarlar kutusunda yazan bir şirkette birikiyor. Tek bir upstream ayarlayın ve onu kendi Unbound'unuz yapın.

Tuzak 03 · Görünmez

Tünel ayakta ve cihaz size hiç sormadı

resolvconf kurulu olmadığı için wg-quick DNS ayarını gönderemedi, ya da bir tarayıcı kendi DNS-over-HTTPS'ini yapıyor. Her şey doğru görünür ve her arama hâlâ üzerinde oturduğunuz ağa gider. İstemcinin ayarlar ekranından değil, çözümleyicinin tarafından doğrulayın.

Tuzak 04 · Kafa karıştırıcı

Engelleme listesi, üç hafta sonra banka uygulamasını bozdu

Hiçbir şey kendini bir DNS arızası olarak duyurmaz — bir sayfa yarım yüklenir, bir düğme hiçbir şey yapmaz. İlk gün etkinleştirilmiş altı agresif liste bunu izlenemez kılar. Tek bir tanesiyle başlayın, yavaşça ekleyin, bir izin listesi tutun ve soruyu yanıtlayacak kadar sorgu günlüğü saklayın.

Tuzak 05 · İronik

Varsayılan olarak tutulan doksan günlük sorgu günlüğü

Bütün kurulum, birisinin bu listeyi tutmasını engellemek için var olur ve filtreleme katmanı onu kutudan çıktığı haliyle, diskte, üç ay boyunca tutar. Saklamayı bilerek ayarlayın — ayarlama sırasında 24 saat, sonrasında sıfır — ve bunun yalnızca sizi değil, ağdaki herkesi kapsadığını unutmayın.

Tuzak 06 · Ani

Bir yeniden başlatma ve evde internet kalmıyor

Bir çözümleyici, başka insanlar ona güvenmeye başladığı an altyapı haline gelir. Her iki servisi de önyüklemede etkinleştirin, Restart=on-failure ayarlayın, kanıtlamak için bir kez bilerek yeniden başlatın ve yedeği ihtiyaç duyduğunuz sırada değil, ihtiyaç duymadan önce kararlaştırın.

SSS · Özel DNS

Sorular, yanıtlandı.

Bunu kurarken karşılaşılan on bir soru — bunu kurmaya değip değmeyeceğine karar veren iki soru dahil.

Kendi çözümleyicimi çalıştırmak, Quad9 veya Cloudflare kullanmaktan gerçekten daha mı özel?

Farklıdır ve en çok önem taşıyan noktada daha iyidir — ama dürüst cevabın iki yarısı vardır. Kazandığınız şey: özyinelemeli bir çözümleyicide tek bir taraf bile tüm sorgu akışınızı görmez. Kök sunucular birisinin .com hakkında sorduğunu öğrenir, .com sunucuları birisinin example.com hakkında sorduğunu öğrenir ve tam adı yalnızca example.com'un operatörü öğrenir — ve hiçbiri bundan sonra aradığınız binlerce adı görmez. Buna karşılık bir genel çözümleyici her birini sırayla, zaman damgalarıyla, sonsuza dek görür ve o listeyle bir başkası arasında duran tek şey gizlilik politikasıdır. Kaybettiğiniz şey: kişisel bir çözümleyicinin anonimlik kümesi birdir. Büyük bir genel çözümleyiciden çıkan sorgular milyonlarca başka insanınkiyle karışır; sizinkinden çıkan sorgular ise açıkça sizindir. Bu takas, çözümleyicinin IP'si kimliğinize bağlı olmadığında almaya değer — ki bu tam olarak KYC gerektirmeyen, kripto ile ödenen bir VPS'in size sağladığı ve kartınızın kayıtlı olduğu bir hyperscaler'ın sağlamadığı şeydir. Çözümleyiciyi VPN'inizin zaten çıktığı aynı VPS'in arkasına koyun; o zaman anonimlik kümesi hiç küçülmez, çünkü o IP zaten sizin gezinmenizi yapıyordu.

Kendi DNS'imi barındırmak, internette gezinmemi hızlandırır mı?

Bir adın ilk aranışında biraz daha yavaş, her tekrarında belirgin biçimde daha hızlı ve genel olarak aşağı yukarı birbirini götürür. Soğuk başlayan özyinelemeli bir çözümleyici, delegasyon zincirini — kök, TLD, yetkili — adım adım gezmek zorundadır; bu da başka birinin sorgusundan gelen cevabı zaten önbelleğe almış bir genel çözümleyiciye tek bir gidiş-dönüş yapmak yerine üç ya da dört gidiş-dönüş demektir. Önbelleğiniz ısındığında — bir hane için bu yaklaşık bir gün sürer — yaygın adlar RAM'den bir milisaniyenin çok altında sunulur ve artık öndesinizdir. Popüler kayıtların süresi dolmadan yenilenmesi için prefetch'i açın; böylece soğuk başlangıç durumu neredeyse ortadan kalkar. Performansı gerçekten kaybedebileceğiniz tek yer CDN coğrafi konumlandırmasıdır: büyük genel çözümleyiciler, CDN'in yakın bir uç sunucu seçebilmesi için ağ konumunuzun kısaltılmış bir sürümünü yetkili sunucuya iletir (EDNS Client Subnet). Unbound bunu, tasarım gereği, göndermez. Çözümleyiciniz sizinle aynı bölgedeyse bu, ölçülebilir hiçbir şeyi değiştirmez. Çözümleyici Reykjavík'te, siz Singapur'daysanız bazı CDN'ler size bir Avrupa ucu verecek ve bunu hissedeceksiniz.

Bunun için bir alan adına ihtiyacım var mı?

Yalnızca şifreli taşıma için. Bir WireGuard tüneli üzerinden düz DNS; alan adı, sertifika ya da herhangi bir kamuya açık maruziyet gerektirmez — çözümleyici, 10.8.0.1 gibi özel bir adreste dinler ve yalnızca tüneldeki eşlere yanıt verir. Bu yapılandırma, bu kılavuzdaki hem en basit hem de en özel olanıdır. DNS-over-TLS ya da DNS-over-HTTPS istediğiniz anda bir alan adına ihtiyacınız olur, çünkü ikisi de bir sertifikayla kimlik doğrulanır ve bir sertifika bir ad için düzenlenir. Bu, cihazların her zaman VPN'de olamadığı durumlarda seçilecek yapılandırmadır — bir iş dizüstü bilgisayarı, UDP'yi engelleyen bir ağdaki telefon, bir tünel sürdürmeyecek bir aile üyesi. Bir alan adı kaydettirecekseniz, başka yerlerde özenle sakladığınız kimliğin aynısını istemeyen bir yerden kaydettirin ve WHOIS gizliliğini açık tutun.

Unbound mu AdGuard Home mu — ikisine de ihtiyacım var mı?

Farklı sorunları çözerler ve bu eşleştirme gereksiz değildir. Unbound çözümleyicidir: DNS'i kökten itibaren adım adım gezer, DNSSEC imzalarını doğrular ve sonuçları önbelleğe alır. AdGuard Home ise hiç çözümleyici değildir — bir web arayüzü ve şifreli dinleyicileri olan bir filtreleme ön ucudur ve engellemediği her şeyi bir upstream'e yönlendirir. AdGuard Home'u tek başına çalıştırırsanız upstream'i bir genel çözümleyici olur ve bu da tüm sorgu akışınızı yeniden bir başkasının günlüğüne koyar. Unbound'u tek başına çalıştırırsanız engelleme listesi olmayan, cihaz başına kural olmayan ve arayüzü olmayan, gerçek anlamda özel bir çözümleyici elde edersiniz. Zincirlenmiş haldeyken — AdGuard 53'te, Unbound tek upstream'i olarak 127.0.0.1:5335'te — kökten yanıt veren bir çözümleyicinin önünde hem filtreleme hem de şifreli taşıma elde edersiniz. Mümkün olan en küçük saldırı yüzeyini istiyorsanız ve reklam engellemeyi umursamıyorsanız, tek başına Unbound tamamen saygın bir cevaptır ve gizliliği gerçekten sağlayan yığının yarısı da odur.

Açık çözümleyici nedir ve neden bu kadar büyük bir sorundur?

Açık çözümleyici, internetteki herhangi bir kaynak adresinden gelen sorgulara yanıt veren özyinelemeli bir çözümleyicidir. Bu büyük bir sorundur çünkü DNS UDP üzerinden çalışır, UDP kaynak adresleri kolayca sahtelenebilir ve küçük bir sorgu büyük bir yanıt üretebilir. Bir saldırgan, kaynak olarak bir kurbanın adresinin sahtelendiği 60 baytlık bir sorguyu sunucunuza gönderir; sunucunuz da kurbana, sorgudan onlarca kat daha büyük bir yanıtı itaatkâr biçimde gönderir. Bunu binlerce açık çözümleyiciyle çarpın, ortaya bir yansıma-ve-yükseltme DDoS'u çıkar ve sunucunuz da bu silahlardan biridir. Pratikte sıralama hızlı ve öngörülebilirdir: internet çapındaki tarayıcılar yeni açılmış bir 53 portunu saatler içinde bulur, trafik başlar, kötüye kullanım şikayetleri gelir ve sağlayıcı ağını korumak için IP'yi null route'a alır. Bu bir varsayım değildir ve nadir de değildir — ilk DNS sunucusunun kötü sonlanmasının en yaygın tek yoludur. Çözümü tek bir güvenlik duvarı kuralı ve tek bir yapılandırma satırıdır: varsayılan olarak reddet, yalnızca tünelinize izin ver.

Şifreli DNS, hangi web sitelerini ziyaret ettiğimi ISP'imden gizler mi?

Aramayı gizler, ziyareti değil. DNS-over-TLS ve DNS-over-HTTPS, ISP'inizin artık example.com diyen düz metin bir soruyu görmediği anlamına gelir. Hâlâ gördüğü şey, bir milisaniye sonra kurduğunuz bağlantıdır: hedef IP adresi ve — her iki uç da Encrypted Client Hello desteklemediği sürece — TLS el sıkışmasındaki sunucu adı, açık metin halinde. Özel bir IP'deki bir site için yalnızca adres onu tanımlamaya yeter; büyük bir CDN'nin arkasındaki bir site için adres paylaşılır ve işi ele veren SNI'dır. Dolayısıyla şifreli DNS, pasif günlüklemenin maliyetini yükseltir ve var olan en kolay, en ucuz gözetim yüzeyini ortadan kaldırır, ama gezinmenizi görünmez kılmaz. Tehdit modeli ISP'inizin ya da düşman bir ağın her şeyi görmesiyse bunun için doğru araç tüneldir — şifreli DNS, işletim sistemi tünelin dışında ISP çözümleyicisini kullanmaya devam ettiğinde tek başına bir VPN'in hâlâ sahip olabileceği sızıntıyı kapatır.

VPS ne kadar büyük olmalı?

İnsanların beklediğinden çok daha küçük. DNS yanıtları yüzlerce bayttır ve sorgu başına yapılan iş bir hash araması olduğundan, bir hane ya da küçük bir ekip için çözümleyici zamanının neredeyse tamamında boştadır. Bir Sentinel — 2 vCPU, 4 GB, ayda $3.90 — ortalama yükü sıfırdan çıkarmadan düzinelerce cihaza hizmet verir ve o 4 GB'ın büyük kısmı, deneyimi gerçekten iyileştiren tek kaynak olan önbelleğe ayrılabilir. Unbound'a birkaç yüz megabaytlık mesaj ve RRset önbelleği verin, isabet oranınız yüzde seksen ile doksan arasında bir yerde olsun. Boyutu büyütmenin nedeni asla DNS değildir: aynı sunucunun aynı zamanda WireGuard tünelinizi sonlandırması, bir Vaultwarden çalıştırması ya da bir yedekleme deposu barındırmasıdır. Bant genişliği bir sorun değildir — yoğun bir hane çözümleyicisi ayda birkaç yüz megabayt taşır.

VPS yeniden başladığında ya da çözümleyici çöktüğünde ne olur?

Onu kullanacak şekilde yapılandırılmış her cihaz ad çözmeyi durdurur; bunu kullanan insanlar bu durumu "internet çökmüş" diye tarif eder. Bu, DNS'i kendi sunucunuzda barındırmanın gerçek işletimsel maliyetidir ve bir keşif değil bir karar hak eder. Artan çaba sırasına göre üç savunma. İstemcilerinizde ikincil bir çözümleyici yapılandırın — Quad9 ya da dns0.eu gibi genel bir tane — ve bir kesinti sırasında o sorguların kontrolünüzden çıkacağını kabul edin; çoğu insanın yapması gereken budur. Ya da başka bir kalede ikinci bir VPS'te ikinci bir örnek çalıştırıp ikisini de listeleyin; bu, ikinci bir $3.90'lık sunucu karşılığında her şeyi evde tutar. Ya da tünel üzerinde, her istemcide küçük bir yerel önbellek çalıştırın; böylece kısa bir kesinti fark edilmez. Hangisini seçerseniz seçin, birimde Restart=on-failure ayarlayın, önyüklemede etkinleştirin ve yeniden başlatmayı bir kez bilerek test edin — kendiliğinden geri dönmeyen bir çözümleyici bunu kanıtlamak için her zaman en kötü anı seçecektir.

Engelleme listeleri bir şeyleri bozar mı?

Evet, ara sıra, ve bunu nasıl ele aldığınız, kalıcı olan bir kurulumla iki hafta içinde söküp atılan bir kurulum arasındaki farktır. Engelleme listeleri, takdir kararları veren insanlar tarafından tutulur ve arada bir bir karar ihtiyacınız olan bir şeyi de yakalar: bir bankanın dolandırıcılık tespit uç noktası, bir teslimat takip bileşeni, bir analitik alan adı üzerinden yönlendirme yapan bir giriş akışı. Arıza kafa karıştırıcıdır çünkü DNS'e benzemez — sayfa yarım yüklenir ya da bir düğme hiçbir şey yapmaz. Bunu üç alışkanlık düzeltir. Altı agresif liste yerine tek bir muhafazakâr listeyle başlayın. Bir izin listesi tutun ve suçluluk duymadan ona ekleyin. Ve "bu cihaz az önce ne istedi, biz de neyi reddettik?" sorusunu yanıtlayacak kadar uzun süre sorgu günlüğünü açık tutun — bu, filtreleme yapan bir çözümleyicinin kendisinin de her şeyi kaydeden bir cihaz olduğunu ve saklama ayarının ağdaki herkes için verdiğiniz bir gizlilik kararı olduğunu keşfettiğiniz andır.

Çözümleyiciyi aile ya da arkadaşlarla paylaşabilir miyim?

Evet, ve bunu kurmak için en iyi nedenlerden biri de tam olarak budur — $3.90'lık tek bir sunucu, bütün bir hanenin ya da bir avuç arkadaşın DNS'ini temizleyebilir. Bunu güvenli kılan iki kural vardır. Birincisi, onu tünel üzerinden ya da kimlik doğrulamalı, şifreli bir uç nokta üzerinden paylaşın, asla 53 portunu dünyaya açarak değil; DNS-over-HTTPS ile her kişiye ayrı bir yol verebilirsiniz, böylece erişim kişi bazında iptal edilebilir ve AdGuard Home da her istemci için farklı filtreleme uygulayabilir. İkincisi, ne üstlendiğiniz konusunda kendinize karşı dürüst olun: artık onu kullanan herkesin sorgu günlüğünü elinizde tutuyorsunuz. Saklamayı sıfıra ya da bir güne ayarlayın, onlara bu ayarın ne olduğunu söyleyin ve eğer korumaya çalıştığınız kendi gizliliğinizse, beş kişinin kullandığı bir çözümleyicinin aynı zamanda tek bir sorgunun onlardan herhangi birine atfedilmesinin daha zor olduğu bir çözümleyici olduğunu unutmayın.

NordBastion, bir VPS üzerinde DNS çözümleyicisi çalıştırmam konusunda bir sakınca görür mü?

Hiç sakınca görmez — özel, erişimi denetlenen bir çözümleyici sıradan bir iş yüküdür ve kabul edilebilir kullanım politikasının bu konuda söyleyecek bir sözü yoktur. Politikanın önemsediği şey — ve her ciddi ağın önemsediği şey — bir açık çözümleyicinin bir üçüncü tarafa karşı yükseltme yansıtıcısı olarak kullanılmasıdır, çünkü saldırı trafiği bizim ağımızdan çıkıp bir başkasınınkine iner. Adım 02'yi izleyin, bu asla olmaz: varsayılan olarak reddedin, tünele izin verin, geri kalanına hız sınırlaması uygulayın. Başkalarına bir hizmet olarak kasıtlı biçimde genel bir çözümleyici çalıştırmak istiyorsanız, bu ilk kötüye kullanım bildiriminden sonra değil, önceden yapılmaya değer bir görüşmedir — teknik gereksinimler (yanıt oranı sınırlaması, ANY olmaması, izleme) iyi bilinmektedir ve sorun kasıtlı olarak bir tane çalıştırmak değil, kazayla bir tane çalıştırmaktır.

Sunucuyu edinin

Adınız olmayan bir IP üzerinde, kendinize ait bir çözümleyici. KYC gerektirmez, kripto ile ödeme.

Sentinel — Helsinki, Stockholm, Oslo ya da Reykjavík'te, ayda $3.90 karşılığında 2 vCPU ve 4 GB. Çözümleyici, arkasında yaşaması gereken WireGuard tüneli ve kiralamayı bırakmaya karar verdiğiniz başka her ne varsa onun için yeterli. Kayıt sırasında e-posta yok, kimlik belgesi yok ve aradığınız hiçbir şeyin ürün düzeyinde günlüğü yok.

Son inceleme · 2026-10-12 · Kaynaklar · Unbound ve AdGuard Home belgeleri, RFC 9156 (QNAME küçültme), RFC 7858 (DNS-over-TLS), RFC 8484 (DNS-over-HTTPS), systemd-resolved(8) · Kadans · yıllık

Özel barındırma, Kuzey'de inşa edildi.