Satu baris dnsmasq dapat menjawab sebuah nama dengan NXDOMAIN, dan itulah seluruh mekanismenya. Ia tidak pernah membaca HTML, tidak pernah memeriksa jalur permintaan, dan tidak pernah melihat apa yang dilakukan aplikasi dengan koneksi yang sudah dibukanya. Jadi membandingkannya dengan ekstensi peramban berarti membandingkan dua pekerjaan berbeda. Yang satu memutuskan apakah sebuah nama terurai; yang lain memutuskan apa yang terjadi setelahnya.

Apa yang sebenarnya dikendalikan filter nama

Opsi address=/metrics.example/, tanpa apa pun setelah garis miring terakhir, membuat resolver mengembalikan NXDOMAIN untuk nama itu dan subdomainnya. Membiarkan alamatnya kosong adalah bagian penting: ini menghindari pengiriman klien ke server pengganti yang tak berhubungan atau membuat alamat loopback tampak sebagai tujuan sebenarnya. Panduan dnsmasq menggambarkan bentuk itu sebagai jawaban negatif, bukan pengalihan.

Semua yang bisa dilakukan aturan itu berasal dari satu keputusan tersebut. Klien yang bertanya ke resolver ini mendapat jawaban negatif; klien yang bertanya ke resolver lain mendapat apa pun yang dikatakan resolver itu. Filter tidak tahu jalur, string kueri, atau akun mana yang akan dipakai aplikasi.

Rincian itu penting karena satu nama host sering melayani beberapa tujuan. Titik masuk, gambar, dan pelacakan bisa berbagi satu domain, dan aturan yang menghapus seluruh nama mungkin ikut menghapus alur kerja. Kebijakan pada tingkat nama harus menerima pertukaran itu atau memilih nama yang lebih sempit.

Di mana pemblokir sisi klien berbeda

Ekstensi peramban melihat permintaan sebelum keluar, sehingga bisa mencocokkan jalur URL, membatalkan permintaan tertentu, dan menyembunyikan elemen yang akan menampilkan hasilnya. Ia bisa mengizinkan example.com/article sambil menolak example.com/ads/, yang tidak dapat diungkapkan oleh jawaban DNS mana pun. Pandangan pada tingkat jalur itulah kemampuan yang tidak dimiliki resolver. Itu juga sebabnya daftar filter yang dibuat untuk satu alat jarang berperilaku sama di alat lain.

Harganya adalah cakupan. Perlindungan itu hidup di dalam satu peramban, satu profil, satu perangkat, dan hilang ketika pengguna beralih ke aplikasi lain. Filter DNS yang dikonfigurasi di gateway mencakup setiap perangkat yang memakai resolver gateway, termasuk perangkat yang tidak bisa dipasangi ekstensi apa pun.

Tidak ada dari kedua pengaturan itu yang lengkap dengan sendirinya. Filter DNS tidak dapat menghapus pengenal yang sudah dikirim halaman, dan ekstensi peramban tidak dapat melindungi aplikasi yang tidak pernah memuatnya.

Jalur resolver menentukan apakah semua ini berlaku

VPN dapat mengumumkan server DNS dan tetap tidak menerima setiap kueri. Peramban dengan DNS terenkripsi yang dikonfigurasi, aplikasi dengan resolver sendiri, atau perangkat pada jalur jaringan yang mengecualikan gateway semuanya akan mencari di tempat lain. Platform seluler makin sering menawarkan setelan DNS privat yang diam-diam menimpa apa yang disarankan terowongan.

Jadi ujilah jalurnya, bukan kebijakannya. Tanyakan resolver yang dimaksud langsung dari gateway, lalu tanyakan dari klien dan bandingkan, kemudian amati apakah nama yang seharusnya diblokir benar-benar gagal di aplikasi yang dijalankan pengguna.

Jawaban yang di-cache dan soket terbuka membuat ini berisik. Halaman yang sudah memuat sumber dayanya akan terus bekerja setelah aturan berubah, jadi koneksi baru adalah uji yang lebih baik daripada memuat ulang tab lama.

Uji kedua arah sebelum mengklaim hasil

Gunakan nama dokumentasi yang sengaja diblokir, nama publik yang diizinkan, dan nama privat yang dibutuhkan layanan:

$ dig +short metrics.example @10.40.0.53
$ dig +short example.com @10.40.0.53
$ dig +short intranet.corp.internal @10.40.0.53

Jawaban kosong untuk nama yang diblokir, alamat normal untuk yang publik, dan alamat privat untuk yang internal bersama-sama menunjukkan bahwa penyaringan, resolusi ke hulu, dan catatan lokal semuanya bekerja. Jika ketiganya gagal, Anda menghadapi masalah hulu atau pendengar, bukan filter.

Jaga klaim tetap sempit dalam semua yang Anda terbitkan secara internal. Ini penyaringan domain pada resolver, bukan pemeriksaan konten, bukan penyaringan jalur, dan bukan janji bahwa tidak ada yang dilacak. Sebutkan pemilik kebijakan, rute pengecualian, dan masa retensi kueri di samping aturan, karena filter yang mencatat setiap pencarian punya biaya privasinya sendiri.

Artikel terkait