Penapis DNS VPN: menyekat nama tidak menyekat iklan
Peraturan dnsmasq menjawab nama dengan NXDOMAIN; ia tidak pernah membaca halaman. Bandingkan itu dengan apa yang dilakukan penyekat sisi klien sebelum menjanjikan penyingkiran iklan.
Satu baris dnsmasq boleh menjawab nama dengan NXDOMAIN, dan itulah seluruh mekanismenya. Ia tidak pernah membaca HTML, tidak pernah memeriksa laluan permintaan, dan tidak pernah melihat apa yang dilakukan aplikasi dengan sambungan yang sudah dibukanya. Jadi membandingkannya dengan sambungan pelayar bermakna membandingkan dua kerja berbeza. Satu memutuskan sama ada nama diselesaikan; satu lagi memutuskan apa yang berlaku selepasnya.
Apa yang sebenarnya dikawal penapis nama
Pilihan address=/metrics.example/, tanpa apa-apa selepas garis miring terakhir, menyebabkan penyelesai memulangkan NXDOMAIN untuk nama itu dan subdomainnya. Membiarkan alamat kosong ialah bahagian penting: ia mengelakkan penghantaran klien ke pelayan pengganti yang tidak berkaitan atau menjadikan alamat loopback sebagai destinasi sebenar. Manual dnsmasq menerangkan bentuk itu sebagai jawapan negatif dan bukan lencongan.
Segala yang boleh dilakukan peraturan itu berasal daripada satu keputusan tersebut. Klien yang bertanya kepada penyelesai ini mendapat jawapan negatif; klien yang bertanya kepada penyelesai lain mendapat apa yang dikatakan penyelesai itu. Penapis tidak tahu laluan, rentetan pertanyaan atau akaun yang akan digunakan oleh aplikasi.
Kehalusan itu penting kerana satu nama hos sering melayani beberapa tujuan. Titik masuk, imej dan penjejakan boleh berkongsi satu domain, dan peraturan yang membuang seluruh nama mungkin turut membuang aliran kerja. Dasar pada peringkat nama mesti menerima pertukaran itu atau memilih nama yang lebih sempit.
Di mana penyekat sisi klien berbeza
Sambungan pelayar melihat permintaan sebelum ia keluar, jadi ia boleh memadankan laluan URL, membatalkan permintaan tertentu dan menyembunyikan elemen yang akan memaparkan hasilnya. Ia boleh membenarkan example.com/article sambil menolak example.com/ads/, yang tidak dapat dinyatakan oleh mana-mana jawapan DNS. Pandangan pada peringkat laluan itulah keupayaan yang penyelesai memang tiada. Itulah juga sebab senarai penapis yang dibina untuk satu alat jarang berkelakuan sama dalam alat yang lain.
Harganya ialah liputan. Perlindungan itu hidup dalam satu pelayar, dalam satu profil, pada satu peranti, dan ia hilang apabila pengguna beralih ke aplikasi lain. Penapis DNS yang dikonfigurasikan pada pintu laluan meliputi setiap peranti yang menggunakan penyelesai pintu laluan itu, termasuk peranti yang tidak boleh dipasang sebarang sambungan.
Tiada satu pun daripada kedua-dua susunan itu lengkap dengan sendirinya. Penapis DNS tidak boleh membuang pengecam yang sudah dihantar oleh halaman, dan sambungan pelayar tidak boleh melindungi aplikasi yang tidak pernah memuatkannya.
Laluan penyelesai menentukan sama ada mana-mana ini terpakai
VPN boleh mengumumkan pelayan DNS dan masih tidak menerima setiap pertanyaan. Pelayar yang dikonfigurasikan dengan DNS disulitkan, aplikasi dengan penyelesainya sendiri atau peranti pada laluan rangkaian yang mengecualikan pintu laluan semuanya akan mencari di tempat lain. Platform mudah alih semakin menawarkan tetapan DNS peribadi yang mendiamkan diri menimpa apa yang dicadangkan oleh terowong.
Jadi uji laluan itu, bukan dasarnya. Tanya penyelesai yang dimaksudkan terus dari pintu laluan, kemudian tanya daripadanya melalui klien dan bandingkan, dan kemudian perhatikan sama ada nama yang sepatutnya disekat benar-benar gagal dalam aplikasi yang dijalankan oleh pengguna.
Jawapan yang dicache dan soket terbuka menjadikan ini bising. Halaman yang sudah memuatkan sumbernya akan terus berfungsi selepas peraturan berubah, jadi sambungan baharu ialah ujian yang lebih baik daripada memuat semula tab lama.
Uji kedua-dua arah sebelum mendakwa sesuatu hasil
Gunakan nama dokumentasi yang disekat dengan sengaja, nama awam yang dibenarkan dan nama peribadi yang diperlukan oleh perkhidmatan:
$ 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
Jawapan kosong untuk nama yang disekat, alamat biasa untuk yang awam dan alamat peribadi untuk yang dalaman bersama-sama menunjukkan bahawa penapisan, penyelesaian ke hulu dan rekod tempatan semuanya berfungsi. Jika ketiga-tiganya gagal, anda sedang melihat masalah di hulu atau pada pendengar, bukan penapis.
Kekalkan dakwaan itu sempit dalam segala yang anda terbitkan secara dalaman. Ini penapisan domain pada penyelesai, bukan pemeriksaan kandungan, bukan penapisan laluan dan bukan janji bahawa tiada siapa yang dijejaki. Nyatakan pemilik dasar, laluan pengecualian dan tempoh penyimpanan pertanyaan di samping peraturan, kerana penapis yang merekod setiap carian mempunyai kos privasinya sendiri.