Maskot beruang kutub NordBastion berdiri di sebuah aula batu Nordik yang gelap di samping rak server, satu cakarnya terangkat ke arah batu-rune holografik cyan yang melayang berisi daftar nama domain, dengan empat berkas kueri memancar melalui gerbang lengkung berukir rune menuju tiga monolit server yang jauh, dan berkas kelima dihentikan oleh perisai lingkaran-bersilang berwarna amber, aurora terlihat lewat jendela di belakangnya
How-to · Jaringan·15 menit baca · 40 menit hands-on

Resolver DNS Anda sendiri.
Satu log yang tidak pernah terpikir untuk dipindahkan siapa pun.

Setiap domain yang dicari perangkat Anda adalah satu baris berstempel waktu di dalam file milik orang lain — milik ISP Anda, atau milik resolver publik gratis. Enam langkah untuk memindahkan file itu ke mesin milik Anda sendiri: Unbound meresolusi dari root, AdGuard Home menyaring di depan, DNS terenkripsi dengan sertifikat asli, dan port 53 yang tidak pernah menghadap internet. Mesinnya seharga $3.90 sebulan. Diuji di Debian 12.

Enam langkah
  1. 01

    Bentuk

    Rekursif, bukan forwarding

  2. 02

    Tutup

    Port 53, sebelum ia terbuka

  3. 03

    Resolusi

    Unbound, memvalidasi

  4. 04

    Filter

    AdGuard Home, DoH, DoT

  5. 05

    Jangkauan

    Tunnel dulu, klien berikutnya

  6. 06

    Verifikasi

    Kebocoran, DNSSEC, uptime

Sebelum Anda mulai · Apa yang sebenarnya bocor

DNS adalah indeks kehidupan Anda. Secara default, itu bukan Anda yang memegangnya.

Enkripsi disknya, tunnel-kan trafiknya, bayar dengan Monero, daftar tanpa email — lalu biarkan laptop Anda bertanya ke resolver yang tidak pernah Anda pikirkan untuk menerjemahkan setiap hostname yang disentuhnya, satu kueri setiap saat, dalam bentuk terang-benderang, sepanjang hari. Pencarian nama adalah bagian dari stack yang paling belakangan diperkeras orang, dan itu adalah bagian yang menghasilkan catatan paling bersih tentang apa yang sebenarnya dilakukan seseorang.

Ada gunanya bersikap tepat soal apa isi catatan itu, karena "DNS membocorkan browsing Anda" adalah pernyataan yang sekaligus benar dan malas. Log kueri adalah daftar nama domain berstempel waktu, dikaitkan dengan alamat IP yang menanyakannya. Itu bukan halaman yang Anda baca, dan biasanya juga bukan URL yang persis. Itu sesuatu yang lebih diam-diam dan, untuk keperluan profiling, justru lebih baik: bentuk sebuah kehidupan. Banknya. Tempat kerjanya. Aplikasi kencan yang check-in setiap empat menit. Situs medis yang dikunjungi sekali pukul 02:00. Tiga domain yang hanya pernah muncul bersamaan karena mereka milik klien pesan yang sama. Tak seorang pun butuh isinya kalau indeksnya sudah sebagus ini.

Empat pihak bisa memegang indeks itu, dan self-hosting memindahkannya dari dua yang pertama ke yang keempat:

Pengaturan Siapa yang melihat setiap kueri yang Anda buat Yang terlihat di jaringan Anonymity set
Resolver ISP, plaintext (default)ISP Anda, dengan nama dan akunSemuanya, ke siapa pun di jalurPara pelanggannya
Resolver publik, terenkripsi (DoH/DoT)Perusahaan itu saja, terkait dengan IP AndaTidak ada apa pun selain tujuannyaJutaan
Resolver Anda sendiri, forwarding ke upstreamUpstream yang Anda pilih — tak berubahTidak ada apa pun selain tujuannyaSatu
Resolver Anda sendiri, merekursi dari rootTidak ada — tiap zona hanya melihat namanya sendiriTidak ada apa pun selain tujuannyaSatu, pada IP yang bukan Anda

Baris ketiga adalah baris yang sering menjebak orang. Memasang resolver di server Anda sendiri lalu menyuruhnya meneruskan semuanya ke 1.1.1.1 hanya mengubah satu hal: kueri Anda kini tiba di Cloudflare dari alamat IP yang berbeda. Lognya tetap ada, tetap milik orang lain, dan Anda hanya menambah satu mesin untuk dirawat tanpa imbalan apa-apa.

Kolom terakhir adalah biaya yang jujur, dan panduan ini akan kembali membahasnya dua kali. Resolver yang dipakai satu rumah tangga adalah resolver yang kueri-kuerinya jelas-jelas milik rumah tangga itu. Yang membuat pertukaran itu sepadan diambil adalah bahwa IP yang bertanya itu adalah server Nordik sewaan dengan tanpa dokumen identitas di baliknya — bukan jalur rumah dengan nama pelanggan, dan bukan akun hyperscaler dengan kartu tersimpan. Anonymity set-nya mengecil; yang benar-benar putus adalah tautan ke satu orang.

Langkah 01 · Bentuk

Merekursi, atau sekadar merelai? Hanya satu dari keduanya yang sepadan dengan servernya.

Ada dua mesin yang sama sekali berbeda bersembunyi di balik frasa "server DNS saya sendiri", dan hampir semua tutorial membangun yang salah. Putuskan ini sebelum Anda memasang apa pun, karena itulah pembeda antara alat privasi dan sekadar proxy untuk kebijakan privasi milik orang lain.

Forwarder mengambil kueri Anda dan meneruskannya ke resolver lain — biasanya Cloudflare, Google, Quad9, atau ISP Anda — lalu menyimpan apa pun yang kembali ke dalam cache. Ini sederhana, ini cepat, dan ini menyerahkan seluruh aliran kueri Anda ke satu pihak ketiga. Setiap panduan yang berakhir dengan "sekarang atur upstream Anda ke 1.1.1.1" telah membangun salah satu dari ini.

Resolver rekursif mengerjakan semuanya sendiri. Untuk menemukan mail.example.com, ia bertanya ke server root siapa yang mengurus .com, bertanya ke server .com siapa yang mengurus example.com, lalu bertanya ke nameserver milik example.com sendiri untuk rekamannya. Tiga atau empat percakapan singkat dengan tiga atau empat operator berbeda, tak satu pun dari mereka diberi tahu apa pun soal yang lain. Dengan QNAME minimisation diaktifkan, ini melangkah lebih jauh lagi: root hanya ditanya soal .com, dan server .com hanya ditanya soal example.com. Nama lengkapnya hanya diungkap ke tepat satu pihak — pihak yang meng-hosting nama itu, yang toh akan menerima koneksi Anda tiga puluh milidetik kemudian.

Properti Unbound, rekursif Forwarder apa pun AdGuard Home sendirian
Satu pihak melihat setiap kueriTidakYaYa — upstream-nya
DNSSEC divalidasi secara lokalYaDipercaya dari upstreamDipercaya dari upstream
Blocklist dan aturan per perangkatHanya lewat zona lokalTergantung daemon-nyaYa, dengan antarmuka web
Listener DoH / DoT untuk klienDoT secara native, DoH lewat proxyTergantung daemon-nyaKeduanya, sudah bawaan
Latensi cold-start3–4 round trip1 round trip1 round trip
Jawaban yang benarSeparuh privasi dari stackHanya sebagai fallback yang disengajaSeparuh penyaring, di depan

Dua kolom sebelah kanan bukan pesaing — mereka adalah dua separuh dari build yang sama. AdGuard Home menguasai port 53, menerapkan blocklist, dan menerminasi transport terenkripsi; Unbound duduk di belakangnya pada loopback dan melakukan resolusi. Tak satu pun dari kedua separuh itu becus mengerjakan tugas yang lain, dan rangkaiannya menghabiskan sekitar seratus megabyte RAM secara total.

Jika Anda hanya mengambil satu hal dari halaman ini, ambil ini: resolver yang meneruskan ke penyedia DNS publik belum membuat DNS Anda privat. Ia hanya memindahkan lognya satu hop, dan menambah satu server ke daftar perawatan Anda. Rekursi itulah keseluruhan intinya.

Langkah 02 · Tutup

Tutup port 53 sebelum ada apa pun yang membukanya. Ini bukan langkah yang hati-hati. Ini langkah yang wajib.

Pesan mesinnya lebih dulu. Di panel: Order → VPS → Sentinel, image Debian 12, di bastion mana pun yang paling dekat dengan perangkat yang akan memakainya — Helsinki, Stockholm, Oslo, atau Reykjavík. Tidak perlu alamat email untuk membuka akun, dan tagihannya diselesaikan dengan Monero, Bitcoin, Lightning, atau aset lain yang didukung, yang di sini nilainya lebih penting dari biasanya: seluruh nilai dari resolver pribadi bergantung pada alamat IP yang bertanya itu tidak bisa dilacak ke sebuah nama.

Lalu jalankan checklist pengerasan jam pertama — hanya SSH key, tanpa login password, unattended upgrades — karena semua yang di bawah ini mengasumsikan mesin yang belum disusupi.

Baca ini sebelum Anda menjalankan daemon-nya

Resolver rekursif yang menjawab seluruh internet disebut open resolver, dan ia akan ditemukan oleh scanner yang menyisir seluruh internet dalam hitungan jam sejak portnya terbuka. DNS berjalan di atas UDP, alamat sumber UDP mudah sekali dipalsukan, dan kueri 60-byte bisa menghasilkan respons berkali-kali lipat lebih besar — jadi open resolver adalah amplifier gratis untuk serangan denial-of-service terhadap pihak ketiga. Urutan yang menyusul selalu sama: trafik dimulai, laporan penyalahgunaan berdatangan, dan IP-nya kena null-route. Ini adalah cara paling umum sebuah server DNS pertama berakhir. Dua aturan mencegahnya sepenuhnya: tolak secara default di konfigurasi resolver, dan jangan pernah izinkan 53/udp dari 0.0.0.0/0 di firewall.

Jadi firewall datang lebih dulu, selagi belum ada apa pun yang mendengarkan. Aturan-aturan di bawah ini mengasumsikan tunnel WireGuard di 10.8.0.0/24 — jika Anda belum membangunnya, panduan WireGuard yang tertaut di bagian bawah halaman ini adalah jalan memutar lima belas menit, dan itulah transport yang paling disukai seluruh desain ini.

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

Perhatikan apa yang sengaja tidak ada: tidak ada aturan yang membuka 53 di antarmuka publik. Port 53 hanya ada di wg0 dan di loopback. Jika nanti Anda menambahkan DNS-over-TLS atau DNS-over-HTTPS, itu adalah TCP 853 dan TCP 443, keduanya diautentikasi dengan sertifikat, dan mendapat aturannya sendiri di langkah 05 — port UDP plaintext tetap tertutup, apa pun yang terjadi.

Sekarang bersihkan portnya. Di Ubuntu — dan di Debian mana pun yang systemd-resolved-nya diaktifkan seseorang — systemd-resolved sudah mendengarkan di 127.0.0.53:53, dan Unbound akan menolak untuk berjalan dengan bind error yang sering dihabiskan orang dua puluh menit untuk salah membacanya. Periksa dulu, lalu nonaktifkan hanya stub listener-nya, tetap mempertahankan systemd-resolved sebagai antarmuka sisi klien lokal:

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

Di Debian 12 yang bersih, perintah pertama tidak menampilkan apa pun dan tidak ada yang perlu dilakukan. Jalankan saja tetap — hanya makan waktu sedetik, dan alternatifnya adalah mendiagnosis "address already in use" melawan layanan yang bahkan tidak Anda sadari sedang berjalan.

Langkah 03 · Resolusi

Unbound, dari root. Satu paket, satu file konfigurasi, tanpa upstream.

Unbound adalah resolver yang memvalidasi, rekursif, dan menyimpan cache, dari NLnet Labs. Ia sudah tersedia sebagai paket di mana-mana, dan itulah yang sudah dijalankan sebagian besar internet, dan begitu dipasang ia langsung merekursi — Anda harus sengaja bersusah payah untuk mengubahnya jadi forwarder. Pasang bersamaan dengan paket root hints agar ia tahu di mana server root berada tanpa perlu mengambil daftar dari mana pun:

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

Paket dns-root-data memasang root hints di /usr/share/dns/root.hints dan trust anchor root DNSSEC di /usr/share/dns/root.key, dan menjaga keduanya tetap terbarui lewat jalur paket normal. Itulah cara yang membosankan tapi benar untuk mendapatkannya; mengunduh root.hints dari sebuah URL lewat cron job adalah cara yang cepat atau lambat gagal secara diam-diam.

/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

Empat dari baris-baris itu yang benar-benar melakukan kerjanya dan masing-masing layak mendapat satu kalimat.

  • 01access-control: 0.0.0.0/0 refuse — jawaban default untuk internet adalah "tidak". Semua yang datang setelahnya adalah pengecualian yang Anda tulis dengan sengaja. Satu baris inilah yang menghentikan kisah amplifikasi dari langkah 02 bahkan sebelum firewall harus turun tangan.
  • 02qname-minimisation: yes — server root hanya ditanya soal .com, bukan soal hostname lengkapnya. RFC 9156, aktif secara default di Unbound versi terkini, dan itulah alasan resolver rekursif bocor lebih sedikit daripada yang tersirat dari diagramnya. Biarkan strict mode tetap nonaktif: sejumlah kecil zona yang salah konfigurasi masih bisa rusak karenanya.
  • 03refuse-any: yes — kueri ANY mengembalikan jawaban sebesar mungkin untuk pertanyaan sekecil mungkin, dan itu persis yang diinginkan serangan amplifikasi. Tidak ada kebutuhan sah yang memerlukannya.
  • 04serve-expired: yes — saat server otoritatif tidak terjangkau, berikan jawaban basi (stale) itu dan segarkan di latar belakang alih-alih gagal. Inilah pengaturan yang mencegah gangguan yang jauh terlihat, bagi semua orang di rumah, seperti internet sedang mati.

Perhatikan dua listener-nya. Loopback di port 5335 adalah yang akan dipakai AdGuard Home di langkah berikutnya; 10.8.0.1 adalah alamat tunnel, sehingga klien di VPN bisa langsung mengueri Unbound jika Anda memutuskan untuk melewati lapisan penyaringan. Jika Anda belum menjalankan WireGuard, hapus dulu baris antarmuka kedua itu untuk sementara — Unbound tidak akan berjalan dengan alamat yang tidak ada di mesin tersebut.

Jalankan dan buktikan ia berfungsi:

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

Flag ad pada jawaban pertama berarti Unbound memeriksa rantai tanda tangan dari root sampai ke rekamannya dan itu terbukti valid. SERVFAIL pada yang kedua berarti validasi menolak jawaban yang telah dirusak, alih-alih meneruskannya ke Anda. Jika yang kedua malah mengembalikan sebuah alamat, berarti validasinya tidak aktif dan trust anchor adalah hal pertama yang perlu diperiksa.

Langkah 04 · Filter

AdGuard Home di depan. Blocklist, aturan per perangkat, dan listener terenkripsi.

Langkah ini opsional dalam artian yang ketat — Unbound saja sudah menjadi resolver yang privat — dan hampir semua orang tetap menginginkannya. AdGuard Home memberi Anda blocklist, kebijakan per klien, log kueri yang mudah dibaca selagi Anda melakukan debugging, dan, yang paling berguna, listener DNS-over-TLS dan DNS-over-HTTPS native sehingga ponsel dan browser bisa berbicara dengan resolver Anda dari jaringan di mana VPN tidak praktis dipakai.

Susunannya berbentuk rantai, dan mendapatkan port yang tepat adalah keseluruhan triknya: AdGuard Home menguasai 53 dan menghadap ke klien, Unbound duduk di 127.0.0.1:5335 dan menghadap ke internet. Tidak ada apa pun lagi di mesin itu yang mendengarkan di 53.

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>

Lakukan wizard first-run lewat tunnel itu. Atur listener admin ke 127.0.0.1 atau ke alamat tunnel, jangan pernah ke 0.0.0.0, dan beri password yang panjang — antarmuka ini bisa menulis ulang setiap nama yang diresolusi jaringan Anda, yang membuatnya sesensitif resolvernya sendiri.

Lalu atur tepat satu upstream: di Settings → DNS settings, hapus daftar defaultnya dan masukkan instans Unbound Anda. Satu baris, tidak ada yang lain. Jika resolver publik masih tertinggal di kotak itu, semua yang ada di langkah 01 sudah batal dengan sendirinya.

127.0.0.1:5335

Biarkan "Parallel requests" tetap mati — dengan satu upstream saja, fitur itu tidak berbuat apa-apa selain menduplikasi trafik — dan matikan "Use private reverse DNS resolvers" kecuali Anda memang menjalankan zona internal. Atur bootstrap server ke sesuatu yang Anda percaya; itu hanya dipakai untuk meresolusi hostname dari server upstream, dan dengan upstream berupa IP polos, itu tidak akan pernah dipakai sama sekali.

Blocklist: mulai dari yang sempit. Nalurinya adalah mengaktifkan semua yang ada di halaman daftar lalu menikmati counter-nya. Tahan diri. Setiap daftar adalah kumpulan keputusan berdasarkan penilaian orang lain tentang apa yang boleh dijangkau perangkat Anda, dan kegagalannya diam-diam dan membingungkan — halaman yang setengah termuat, tombol yang tidak merespons, aplikasi bank yang menolak terbuka. Mulailah dengan filter DNS default AdGuard, atau dengan satu daftar agregat yang terawat baik seperti OISD, jalani selama dua minggu, dan baru setelah itu tambahkan lebih banyak. Simpan allowlist dan pakai tanpa rasa bersalah.

Log kueri adalah bagian yang canggung

Anda baru saja membangun mesin yang tujuannya menghentikan orang lain menyimpan daftar setiap nama yang diresolusi perangkat Anda — dan hal pertama yang dilakukan AdGuard Home adalah menyimpan persis daftar itu, aktif secara default, selama sembilan puluh hari. Ini sungguh berguna selagi Anda menyetel blocklist, dan ini adalah file paling sensitif di server tersebut. Putuskan dengan sengaja: 24 jam sudah cukup untuk menjawab "apa yang baru saja diminta perangkat itu?", nol adalah pengaturan yang jujur begitu penyetelan selesai, dan sembilan puluh hari adalah keputusan yang seharusnya tidak diambil siapa pun hanya dengan membiarkan default apa adanya. Settings → General → Query log, dan atur juga retensi statistik selagi Anda di sana.

Arahkan firewall ke susunan yang baru — AdGuard Home kini menguasai port 53 di antarmuka tunnel, dan Unbound hanya terjangkau lewat loopback. Tidak ada yang berubah pada antarmuka publik: ia tetap sama sekali tidak punya DNS di dalamnya.

Langkah 05 · Jangkauan

Dua cara masuk. Tunnel adalah yang terbaik; DNS terenkripsi adalah yang portabel.

Resolver yang tidak bisa dijangkau siapa pun tidak berguna, dan resolver yang bisa dijangkau semua orang adalah mode kegagalan dari langkah 02. Ada tepat dua jawaban yang baik, dan kebanyakan orang akhirnya menjalankan keduanya — tunnel di rumah dan di laptop, DNS terenkripsi di ponsel dan di jaringan-jaringan yang menyaring UDP.

Opsi A — lewat WireGuard. Yang terbaik dari keduanya, dan alasan panduan ini terus mengarahkan Anda ke panduan WireGuard. Port 53 tetap tak terlihat dari internet, kuerinya sendiri tidak pernah melewati jaringan yang tidak dipercaya dalam bentuk apa pun, dan tidak ada sertifikat yang perlu diperpanjang. Jika VPS itu sudah menjadi exit VPN Anda, ini hanya satu baris di konfigurasi tiap peer:

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

Ada satu hal detail yang sering menjebak orang: di Linux, wg-quick mengatur alamat itu lewat resolvconf atau systemd-resolved, dan jika tidak ada satu pun dari keduanya yang terpasang, ia diam-diam tidak melakukan apa-apa sementara tunnel-nya tetap naik dengan sempurna. Periksa dengan resolvectl status atau dengan membaca /etc/resolv.conf setelah tunnel-nya aktif — tunnel yang berfungsi tapi resolver lama masih terkonfigurasi persis adalah kebocoran yang menjadi inti seluruh latihan ini.

Opsi B — DNS-over-TLS dan DNS-over-HTTPS. Dibutuhkan saat perangkat tidak selalu bisa berada di tunnel. Keduanya diautentikasi dengan sertifikat, yang artinya butuh sebuah hostname: arahkan rekaman A ke VPS-nya, lalu biarkan AdGuard Home memegang sertifikatnya langsung, atau tempatkan di belakang reverse proxy yang sudah menerminasi TLS untuk Anda. Listener-nya adalah 853/tcp untuk DoT dan 443/tcp untuk DoH.

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

Beri endpoint DoH itu sebuah path yang tidak mudah ditebak — AdGuard Home memungkinkan Anda menyajikannya di bawah /dns-query/<random>, dan path yang berbeda per orang berarti akses bisa dicabut satu orang setiap kalinya tanpa perlu merotasi apa pun untuk semua orang lainnya. Ini bukan autentikasi dalam pengertian yang kuat, tapi ini mencegah listener publik hanya menjadi open resolver dengan langkah tambahan.

Klien Di mana pengaturannya berada Transport yang dipakainya
Android 9 dan yang lebih baruSetelan → Jaringan → DNS pribadi → nama hostDNS-over-TLS saja
iOS dan macOSProfil DNS .mobileconfig yang ditandatanganiDoH atau DoT, di seluruh sistem
Windows 11Pengaturan → Jaringan → Penetapan server DNSDoH, per adaptor
FirefoxPengaturan → Privasi → DNS over HTTPS → KustomDoH, hanya di browser
Router (seluruh jaringan)WAN DNS, atau DHCP option 6DNS biasa — jadi tunnel-kan

Baris router adalah yang perlu dipikirkan matang-matang. Membagikan resolver Anda lewat DHCP mencakup semua perangkat di rumah sekaligus, termasuk yang tidak punya layar pengaturan — tapi hop dari router ke VPS kemudian menjadi DNS biasa yang melintasi internet terbuka, yaitu justru hal yang ingin Anda hentikan sejak awal. Jalankan tunnel langsung di routernya, atau terima bahwa mil terakhir itu tidak terenkripsi dan biarkan rekursi menjadi kemenangannya.

Satu konfigurasi terakhir yang perlu diketahui: browser yang mengaktifkan DNS-over-HTTPS akan memakai resolvernya sendiri dan diam-diam mengabaikan pengaturan sistem, tunnel ataupun bukan. Firefox dan Chrome, keduanya mengirimkan ini aktif secara default di sejumlah wilayah. Entah arahkan juga browser itu ke endpoint Anda, atau matikan DoH-nya agar ia mengikuti sistem operasi.

Langkah 06 · Verifikasi

Empat pemeriksaan. Tiga di antaranya gagal pada build pertama seseorang.

1. Apakah ia terbuka ke internet? Jalankan ini dari mesin yang tidak berada di tunnel — ponsel dengan data seluler, VPS lain, apa saja. Timeout adalah jawaban yang benar dan yang diinginkan. Respons yang sungguhan berarti setiap scanner di internet juga akan menemukannya, dan Anda harus segera kembali ke langkah 02.

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

2. Apakah perangkatnya benar-benar memakainya? Ini adalah pemeriksaan yang paling sering gagal, dan kegagalannya tidak terlihat: tunnel-nya aktif, pengaturannya kelihatan benar, dan sistem operasi masih bertanya ke resolver yang diberikan kafe lewat DHCP. Tanyakan ke resolvernya sendiri, menurutnya Anda ini siapa, lalu konfirmasi dari sisi yang lain.

# 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

Lalu muat salah satu halaman uji kebocoran DNS publik dari perangkat itu dan baca hasilnya. Jika yang disebutkan adalah penyedia VPS Anda, jalurnya sudah benar. Jika yang disebutkan adalah ISP Anda atau resolver publik besar, berarti masih ada sesuatu di hulu tunnel yang menjawab.

3. Apakah validasinya benar-benar aktif? Ulangi dua perintah dig dari langkah 03, kali ini lewat seluruh rantainya — klien, AdGuard Home, Unbound — bukan langsung ke Unbound. Nama dengan tanda tangan yang rusak harus tetap gagal di sini juga. Jika AdGuard Home masih menyisakan upstream kedua di suatu tempat dalam pengaturannya, di sinilah itu akan ketahuan.

4. Apakah cache-nya bekerja dengan baik? Setelah sehari pemakaian normal, hit rate seharusnya berada di suatu tempat antara tujuh puluh dan sembilan puluh persen. Jauh lebih rendah dari itu biasanya berarti cache-nya terlalu kecil atau cache-min-ttl sedang diabaikan karena semua yang di upstream punya TTL yang sangat singkat; jauh lebih tinggi pada jaringan yang sibuk adalah pertanda baik bahwa prefetch sedang bekerja.

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

Dan kemudian dua keputusan operasional. Pertama: apa yang terjadi saat mesin ini reboot. Setiap perangkat yang diarahkan ke situ kehilangan resolusi nama, yang oleh semua orang di rumah akan dilaporkan sebagai internet yang rusak. Atur layanannya untuk restart saat gagal dan untuk mulai saat boot, lalu reboot VPS-nya sekali dengan sengaja dan saksikan ia kembali hidup. Kedua: sebuah fallback. Entah cantumkan resolver publik sebagai sekunder di klien Anda dan terima bahwa kueri-kueri itu keluar dari kendali Anda selama gangguan, atau jalankan instans kedua di VPS kedua di bastion yang berbeda. Keduanya bisa dipertanggungjawabkan. Menemukan pertanyaan ini pukul 23:00 di hari Minggu, tidak.

systemctl enable unbound AdGuardHome
systemctl show unbound -p Restart -p RestartUSec
reboot        # then, from a client: dig nordbastion.com +short
Bagian yang jujur · Apa yang tidak dilakukan ini

Ini menutup satu kanal. Empat yang lain masih terbuka.

Resolver privat adalah peningkatan yang nyata dan bukan sebuah jubah tak terlihat. Siapa pun yang menjualnya seolah begitu sedang menjual sesuatu yang lain. Berikut daftar apa yang masih terlihat setelah semua di atas selesai dilakukan, karena mengetahui bentuk eksposur yang tersisa adalah pembeda antara sebuah pertahanan dan sekadar selimut penenang.

Koneksinya tetap terjadi. Semilidetik setelah pencarian, perangkat Anda membuka koneksi TCP ke alamat yang baru saja dipelajarinya. Siapa pun yang mengawasi jalur Anda melihat alamat itu. Untuk situs dengan IP-nya sendiri, alamat itu adalah situsnya. DNS terenkripsi menghilangkan pertanyaannya; ia tidak menghilangkan jawabannya.

Jabat tangan TLS biasanya menyebutkan nama situsnya. Server Name Indication dikirim dalam bentuk terang-benderang pada awal hampir setiap koneksi HTTPS, jadi pengamat pasif tetap bisa membaca hostname-nya. Encrypted Client Hello memperbaiki ini dan penerapannya tidak merata — di tempat browser maupun situsnya sama-sama mendukungnya, namanya tersembunyi, dan di tempat yang tidak, tidak. Jangan berasumsi ini sudah aktif.

Operator resolvernya kini adalah Anda, dan Anda adalah satu orang. Setiap server otoritatif yang diajak bicara resolver Anda melihat satu alamat IP yang bertanya tentang zona mereka. Di banyak zona, IP itu punya pola yang khas, dan pola itu adalah sebuah rumah tangga. Ini adalah biaya anonymity-set dari bab pertama, dan satu-satunya yang bisa menumpulkannya adalah IP itu tidak bisa dilacak ke sebuah nama — VPS bebas KYC yang dibayar dengan kripto — dan, idealnya, menjadi IP yang sama dengan tempat trafik Anda sudah keluar.

Penyedia bisa melihat paketnya, seperti biasa. VPS-nya berjalan di atas hardware milik orang lain, di datacenter milik orang lain. NordBastion tidak memeriksa trafik pelanggan, dan transparency report serta warrant canary-nya menjelaskan apa yang akan terjadi jika diminta — tapi pernyataan arsitektural yang jujur adalah bahwa mesin yang Anda sewa adalah mesin yang secara fisik bisa dijangkau orang lain. Yang diubah oleh self-hosting adalah tidak adanya log kueri tingkat produk, tidak ada pipeline analitik, dan tidak ada kebijakan privasi yang bisa diubah-ubah; yang ada hanyalah sebuah proses yang menyimpan cache di RAM, dikonfigurasi oleh Anda, di yurisdiksi yang Anda pilih dengan sengaja.

Apa yang sebenarnya Anda beli, secara tepat: satu-satunya sumber data perilaku tentang Anda yang paling kaya dan paling murah kini tidak lagi dikumpulkan oleh pihak yang model bisnisnya adalah mengumpulkan data itu. Itu klaim yang sempit, dan itu klaim yang nyata. Tidak ada apa pun di halaman ini yang bisa menggantikan Tor ketika model ancamannya memang menuntut Tor — dan untuk itu, panduan onion-service di bawah adalah bacaan lanjutan yang jujur.

Ukuran · Apa yang perlu dipesan

DNS itu kecil. Pesan sesuai apa lagi yang akan tinggal di mesin itu.

Tingkatan Bulanan Sumber daya Apa yang bisa dijalankannya dengan nyaman
Sentinel$3.902 vCPU · 4 GB · 120 GBResolver + WireGuard untuk satu rumah tangga. Jawaban yang tepat.
Garrison$7.904 vCPU · 8 GB · 240 GBSama, ditambah satu Vaultwarden, satu SearXNG, dan satu target backup
Ravelin$16.908 vCPU · 16 GB · 480 GBTim kecil, dua puluh lima peer tunnel, plus layanan-layanan lain
Sentinel kedua$3.90Di bastion lainResolver fallback, agar gangguan tidak berarti internet padam

Tidak ada satu pun di tabel ini yang dipilih demi DNS. Resolver untuk tiga puluh perangkat memakai beberapa ratus megabyte cache dan sepotong kecil satu core, dan memindahkan beberapa ratus megabyte trafik sebulan. Pilih tier berdasarkan peer WireGuard, layanan-layanan lain, dan disknya — lalu biarkan resolvernya ikut menumpang secara gratis.

Catatan lapangan · Enam jebakan

Enam cara ini bisa gagal. Lima di antaranya diam-diam.

Jebakan 01 · Berisik

Open resolver, dan null-route seminggu kemudian

Satu aturan firewall yang kelebihan, atau satu baris access-control yang tertinggal di allow. Scanner menemukan portnya dalam hitungan jam, trafik amplifikasi dimulai, laporan penyalahgunaan datang, IP-nya padam. Tolak secara default, izinkan hanya tunnel-nya, dan uji dari luar jaringan.

Jebakan 02 · Sia-sia

Resolver privat yang forwarding ke resolver publik

AdGuard Home terpasang, upstream-nya masih di daftar default, semuanya berjalan dengan mulus — dan log kueri tetap menumpuk di sebuah perusahaan yang namanya ada di kotak pengaturan. Atur satu upstream, dan jadikan itu Unbound Anda.

Jebakan 03 · Tak Terlihat

Tunnel-nya aktif dan perangkatnya tidak pernah bertanya ke Anda

wg-quick tidak bisa mendorong pengaturan DNS karena resolvconf tidak terpasang, atau sebuah browser sedang menjalankan DNS-over-HTTPS-nya sendiri. Semuanya terlihat benar dan setiap pencarian tetap pergi ke jaringan tempat Anda sedang duduk. Verifikasi dari sisi resolvernya, bukan dari layar pengaturan klien.

Jebakan 04 · Membingungkan

Blocklist-nya merusak aplikasi bank, tiga minggu kemudian

Tidak ada yang mengumumkan dirinya sebagai kegagalan DNS — halaman setengah termuat, tombol tidak merespons apa-apa. Enam daftar agresif yang diaktifkan sejak hari pertama membuat ini mustahil dilacak. Mulai dengan satu, tambahkan perlahan, simpan allowlist, dan simpan log kueri secukupnya untuk menjawab pertanyaannya.

Jebakan 05 · Ironis

Sembilan puluh hari log kueri, tersimpan secara default

Seluruh build ini ada untuk menghentikan orang lain menyimpan daftar ini, dan lapisan penyaringnya justru menyimpannya begitu saja, di disk, selama tiga bulan. Atur retensi dengan sengaja — 24 jam selagi menyetel, nol setelahnya — dan ingat itu mencakup semua orang di jaringan, bukan hanya Anda.

Jebakan 06 · Mendadak

Satu kali reboot, dan rumahnya kehilangan internet

Resolver menjadi infrastruktur begitu orang lain bergantung padanya. Aktifkan kedua layanan saat boot, atur Restart=on-failure, reboot sekali dengan sengaja untuk membuktikannya, dan putuskan fallback-nya sebelum Anda membutuhkannya, bukan pada saat itu terjadi.

FAQ · DNS Privat

Pertanyaan, dijawab.

Sebelas pertanyaan yang muncul selama membangun ini — termasuk dua pertanyaan yang menentukan apakah ini layak dibangun sama sekali.

Apakah menjalankan resolver sendiri benar-benar lebih privat daripada memakai Quad9 atau Cloudflare?

Ini berbeda, dan ini lebih baik dengan cara yang paling penting — tapi jawaban jujurnya punya dua sisi. Yang Anda dapatkan: dengan resolver rekursif, tidak ada satu pihak pun yang pernah melihat seluruh aliran kueri Anda. Server root hanya tahu bahwa seseorang menanyakan .com, server .com hanya tahu bahwa seseorang menanyakan example.com, dan hanya operator example.com yang mengetahui nama lengkapnya — dan tak satu pun dari mereka melihat seribu nama berikutnya yang Anda cari. Resolver publik, sebaliknya, melihat setiap satu kueri, secara berurutan, dengan stempel waktu, selamanya, dan kebijakan privasinya adalah satu-satunya yang berdiri di antara daftar itu dan pihak lain. Yang Anda korbankan: resolver pribadi punya anonymity set sebesar satu. Kueri yang keluar dari resolver publik besar bercampur dengan kueri jutaan orang lain; kueri yang keluar dari resolver Anda jelas-jelas milik Anda. Pertukaran itu sepadan diambil ketika IP resolver tidak terkait dengan identitas Anda — dan itulah persis yang diberikan VPS bebas KYC yang dibayar dengan kripto, dan persis yang tidak diberikan oleh hyperscaler dengan kartu Anda tersimpan di sana. Tempatkan resolver di belakang VPS yang sama dengan tempat VPN Anda sudah keluar, dan anonymity set-nya sama sekali tidak mengecil, karena IP itu memang sudah menangani browsing Anda.

Apakah self-hosting DNS akan membuat browsing saya lebih cepat?

Sedikit lebih lambat pada pencarian pertama sebuah nama, terasa jauh lebih cepat pada setiap pengulangan, dan kurang lebih impas secara keseluruhan. Resolver rekursif yang memulai dari kondisi dingin harus menyusuri rantai delegasi — root, TLD, otoritatif — yang berarti tiga atau empat round trip, dibandingkan satu round trip ke resolver publik yang jawabannya sudah tersimpan di cache dari kueri orang lain. Begitu cache Anda sudah hangat, yang untuk satu rumah tangga biasanya perlu sekitar sehari, nama-nama yang umum dilayani dari RAM dalam waktu jauh di bawah satu milidetik dan Anda pun unggul. Aktifkan prefetch agar rekaman yang populer diperbarui sebelum kedaluwarsa, sehingga kasus cold-start nyaris hilang. Satu-satunya tempat Anda benar-benar bisa kehilangan performa adalah geolokasi CDN: resolver publik besar meneruskan versi terpotong dari lokasi jaringan Anda ke server otoritatif (EDNS Client Subnet) agar CDN bisa memilih edge terdekat. Unbound tidak mengirimkannya, memang begitu desainnya. Jika resolver Anda berada di kawasan yang sama dengan Anda, ini tidak mengubah apa pun yang terasa. Jika resolvernya di Reykjavík dan Anda di Singapura, sejumlah CDN akan memberi Anda edge Eropa dan Anda akan merasakannya.

Apakah saya perlu nama domain untuk ini?

Hanya untuk transport terenkripsi. DNS biasa melalui tunnel WireGuard tidak butuh domain, tidak butuh sertifikat, dan tidak ada eksposur publik sama sekali — resolver mendengarkan di alamat privat seperti 10.8.0.1 dan hanya menjawab peer di dalam tunnel. Konfigurasi itu sekaligus yang paling sederhana dan paling privat dalam panduan ini. Anda baru butuh domain begitu menginginkan DNS-over-TLS atau DNS-over-HTTPS, karena keduanya diautentikasi dengan sertifikat, dan sertifikat diterbitkan untuk sebuah nama. Itulah konfigurasi yang tepat dipilih ketika perangkat tidak selalu berada di VPN — laptop kantor, ponsel di jaringan yang memblokir UDP, anggota keluarga yang tidak mau repot menjaga tunnel tetap aktif. Jika Anda memang mendaftarkan domain, daftarkan di tempat yang tidak menuntut identitas yang sama yang sudah susah payah Anda hindari di tempat lain, dan aktifkan privasi WHOIS.

Unbound atau AdGuard Home — apakah saya butuh keduanya?

Keduanya menyelesaikan masalah yang berbeda dan pasangan ini tidak berlebihan. Unbound adalah resolvernya: ia menyusuri DNS dari root, memvalidasi tanda tangan DNSSEC, dan menyimpan hasilnya di cache. AdGuard Home sama sekali bukan resolver — ia adalah front end penyaring dengan antarmuka web dan listener terenkripsi, dan ia meneruskan semua yang tidak diblokirnya ke sebuah upstream. Jalankan AdGuard Home sendirian dan upstream-nya adalah resolver publik, yang membuat seluruh aliran kueri Anda kembali tercatat di log milik pihak lain. Jalankan Unbound sendirian dan Anda mendapatkan resolver yang benar-benar privat, tanpa blocklist, tanpa aturan per perangkat, dan tanpa antarmuka. Dirangkai bersama — AdGuard di 53, Unbound di 127.0.0.1:5335 sebagai satu-satunya upstream-nya — Anda mendapatkan penyaringan dan transport terenkripsi di depan resolver yang menjawab langsung dari root. Jika Anda menginginkan permukaan serangan sekecil mungkin dan tidak peduli dengan pemblokiran iklan, Unbound sendirian adalah jawaban yang sepenuhnya terhormat, dan itulah separuh dari stack yang benar-benar memberikan privasi.

Apa itu open resolver, dan mengapa itu masalah besar?

Open resolver adalah resolver rekursif yang menjawab kueri dari alamat sumber mana pun di internet. Ini masalah besar karena DNS berjalan di atas UDP, alamat sumber UDP dengan mudah dipalsukan, dan kueri kecil bisa menghasilkan jawaban besar. Penyerang mengirim server Anda kueri 60-byte dengan alamat korban dipalsukan sebagai sumbernya; server Anda dengan patuh mengirim korban itu respons yang besarnya berkali-kali lipat. Kalikan dengan ribuan open resolver dan itu menjadi DDoS reflection-and-amplification, dan server Anda adalah salah satu senjatanya. Dalam praktiknya urutannya cepat dan bisa ditebak: scanner yang menyisir seluruh internet menemukan port 53 yang baru terbuka dalam hitungan jam, lalu trafik pun dimulai, laporan penyalahgunaan berdatangan, dan penyedia menerapkan null-route pada IP tersebut untuk melindungi jaringannya. Ini bukan hipotesis dan bukan hal langka — ini adalah cara paling umum sebuah server DNS pertama berakhir buruk. Perbaikannya hanya butuh satu aturan firewall dan satu baris konfigurasi: tolak secara default, izinkan hanya tunnel Anda.

Apakah DNS terenkripsi menyembunyikan situs yang saya kunjungi dari ISP saya?

Ia menyembunyikan pencariannya, bukan kunjungannya. DNS-over-TLS dan DNS-over-HTTPS berarti ISP Anda tidak lagi melihat pertanyaan plaintext yang berbunyi example.com. Yang masih terlihat adalah koneksi yang Anda buat semilidetik kemudian: alamat IP tujuan, dan — kecuali kedua ujungnya mendukung Encrypted Client Hello — nama server dalam jabat tangan TLS, dalam bentuk terang-benderang. Untuk situs dengan IP khusus, alamat itu saja sudah cukup mengenalinya; untuk situs di balik CDN besar, alamatnya digunakan bersama dan SNI-lah yang membocorkannya. Jadi DNS terenkripsi menaikkan biaya pencatatan pasif dan menghilangkan permukaan pengawasan paling mudah dan paling murah yang ada, tapi ia tidak membuat browsing Anda tak terlihat sama sekali. Jika model ancamannya adalah ISP Anda atau jaringan bermusuhan yang melihat segalanya, alat untuk itu adalah tunnel — DNS terenkripsi menutup kebocoran yang masih bisa dimiliki VPN saja, ketika sistem operasi tetap memakai resolver ISP di luar tunnel.

Seberapa besar VPS yang dibutuhkan?

Jauh lebih kecil dari yang orang kira. Jawaban DNS besarnya cuma ratusan byte dan kerja per kueri hanyalah pencarian hash, jadi resolver untuk satu rumah tangga atau tim kecil hampir selalu menganggur. Satu Sentinel — 2 vCPU, 4 GB, $3.90 sebulan — akan melayani puluhan perangkat tanpa load average beranjak dari nol, dan sebagian besar dari 4 GB itu bisa dipakai untuk cache, satu-satunya sumber daya yang benar-benar meningkatkan pengalaman. Beri Unbound beberapa ratus megabyte cache pesan dan RRset, dan hit rate Anda akan berada di kisaran delapan puluh sampai sembilan puluh persen. Alasan untuk naik ukuran tidak pernah soal DNS: melainkan karena mesin yang sama juga menerminasi tunnel WireGuard Anda, atau menjalankan Vaultwarden, atau menyimpan repository backup. Bandwidth bukan masalah — resolver rumah tangga yang sibuk sekalipun hanya memindahkan beberapa ratus megabyte sebulan.

Apa yang terjadi saat VPS reboot atau resolver mati?

Setiap perangkat yang dikonfigurasi memakainya akan berhenti meresolusi nama, yang oleh penggunanya akan dideskripsikan sebagai "internetnya mati". Ini adalah biaya operasional nyata dari self-hosting DNS, dan itu layak menjadi sebuah keputusan, bukan sebuah kejutan. Tiga pertahanan, dengan urutan usaha yang makin besar. Konfigurasikan resolver sekunder di klien Anda — yang publik seperti Quad9 atau dns0.eu — dan terima bahwa selama gangguan, kueri-kueri itu keluar dari kendali Anda; ini yang sebaiknya dilakukan kebanyakan orang. Atau jalankan instans kedua di VPS kedua di bastion lain dan cantumkan keduanya, yang menjaga semuanya tetap in-house dengan harga satu mesin $3.90 tambahan. Atau, pada tunnel, jalankan cache lokal kecil di tiap klien agar gangguan singkat tidak terasa. Apa pun yang Anda pilih, atur Restart=on-failure pada unit tersebut, aktifkan saat boot, dan uji reboot itu sekali dengan sengaja — resolver yang tidak kembali hidup dengan sendirinya akan selalu memilih momen terburuk untuk membuktikannya.

Apakah blocklist akan merusak sesuatu?

Ya, sesekali, dan cara Anda menanganinya adalah pembeda antara setelan yang bertahan lama dan yang dicabut lagi dalam dua minggu. Blocklist dijaga oleh orang-orang yang membuat keputusan berdasarkan penilaian, dan sesekali satu keputusan menjaring sesuatu yang Anda butuhkan: endpoint deteksi-fraud sebuah bank, widget pelacak pengiriman, alur login yang dialihkan melalui domain analitik. Kegagalannya membingungkan karena tidak terlihat seperti masalah DNS — halaman setengah termuat, atau sebuah tombol tidak merespons apa-apa. Tiga kebiasaan yang memperbaikinya. Mulai dengan satu daftar yang konservatif, bukan enam daftar yang agresif. Simpan allowlist dan tambahkan ke dalamnya tanpa rasa bersalah. Dan biarkan log kueri aktif cukup lama untuk menjawab "apa yang baru saja diminta perangkat ini, dan apa yang kita tolak?" — dan di situlah Anda menyadari bahwa resolver penyaring itu sendiri adalah perangkat yang mencatat segalanya, dan bahwa pengaturan retensinya adalah keputusan privasi yang Anda buat untuk semua orang di jaringan.

Bisakah saya membagikan resolver ini ke keluarga atau teman?

Ya, dan itu salah satu alasan terbaik untuk membangunnya — satu mesin $3.90 bisa membereskan DNS untuk satu rumah tangga penuh atau segenggam teman. Dua aturan membuatnya aman. Pertama, bagikan lewat tunnel atau lewat endpoint terenkripsi yang terautentikasi, jangan pernah dengan membuka port 53 ke dunia luar; dengan DNS-over-HTTPS Anda bisa memberi tiap orang jalur yang berbeda sehingga akses bisa dicabut satu per satu, dan AdGuard Home lalu bisa menerapkan penyaringan berbeda per klien. Kedua, jujurlah pada diri sendiri soal apa yang Anda tanggung: Anda kini memegang log kueri semua orang yang memakainya. Atur retensi ke nol atau satu hari, beri tahu mereka apa pengaturannya, dan ingat bahwa jika privasi Anda sendirilah yang sedang dilindungi, resolver yang dipakai lima orang juga berarti resolver di mana satu kueri mana pun jadi lebih sulit dikaitkan ke salah satu dari mereka.

Apakah NordBastion keberatan jika saya menjalankan resolver DNS di VPS?

Sama sekali tidak — resolver privat yang aksesnya terkontrol adalah beban kerja normal dan kebijakan penggunaan yang dapat diterima tidak punya masalah dengan itu. Yang menjadi perhatian kebijakan itu, dan yang menjadi perhatian setiap jaringan serius, adalah resolver terbuka yang dipakai sebagai reflektor amplifikasi terhadap pihak ketiga, karena trafik serangan itu meninggalkan jaringan kami dan mendarat di jaringan orang lain. Ikuti langkah 02 dan itu tidak akan pernah terjadi: tolak secara default, izinkan tunnel, batasi laju yang lainnya. Jika Anda ingin sengaja menjalankan resolver publik sebagai layanan untuk orang lain, itu percakapan yang layak dilakukan lebih dulu, bukan setelah laporan penyalahgunaan pertama tiba — persyaratan teknisnya (pembatasan laju respons, tanpa ANY, pemantauan) sudah dipahami dengan baik, dan menjalankannya secara tidak sengaja itulah masalahnya, bukan menjalankannya dengan sengaja.

Dapatkan mesinnya

Resolver milik Anda sendiri, di IP yang bukan nama Anda. Bebas KYC, berbayar kripto.

Sentinel — 2 vCPU dan 4 GB seharga $3.90 sebulan, di Helsinki, Stockholm, Oslo, atau Reykjavík. Cukup untuk resolvernya, tunnel WireGuard tempatnya seharusnya bersembunyi, dan apa pun lagi yang Anda putuskan untuk berhenti disewa dari pihak lain. Tanpa email saat mendaftar, tanpa dokumen identitas, dan tanpa log tingkat produk untuk apa pun yang Anda cari.

Terakhir ditinjau · 2026-10-12 · Sumber · Dokumentasi Unbound dan AdGuard Home, RFC 9156 (QNAME minimisation), RFC 7858 (DNS-over-TLS), RFC 8484 (DNS-over-HTTPS), systemd-resolved(8) · Kadence · tahunan

Hosting privat, dibangun di Utara.