Suis keselamatan dihidupkan, satu aplikasi sengaja dikecualikan daripada terowong, dan kedua-dua keperluan kini bercanggah. Satu berkata tiada apa boleh keluar kecuali melalui terowong, satu lagi berkata program ini mesti pergi terus. Setiap klien menyelesaikan percanggahan itu secara berbeza, dan halaman tetapan jarang menjelaskan peraturan mana yang menang. Tulis dasar setiap aplikasi sebelum mempercayai mana-mana label.

Dua dasar, satu mesin

Suis keselamatan ialah janji tentang kegagalan: apabila terowong tidak melindungi trafik, trafik berhenti. Terowong berpecah ialah janji tentang pemilihan: program atau destinasi ini menggunakan terowong, dan yang itu tidak. Janji kedua mencipta trafik yang janji pertama mesti putuskan. Tiada janji yang salah; ia ditulis oleh orang berbeza untuk ancaman berbeza.

Tiga hasil mungkin berlaku dan hanya satu yang dimaksudkan oleh penggunaan. Aplikasi yang dikecualikan boleh kekal terus semasa gangguan, yang menghormati pemisahan dan memecahkan suis keselamatan. Ia boleh disekat bersama semua yang lain, yang menghormati suis keselamatan dan memecahkan pemisahan. Atau ia hanya disekat kadangkala, bergantung pada cara platform menilai peraturan selepas antara muka hilang. Kes terakhir itulah yang menghasilkan tiket.

Tulis senarai aplikasi sebelum peraturan

Senaraikan program yang mesti menggunakan terowong, yang mesti pergi terus, dan nama atau destinasi yang tidak boleh muncul dalam mana-mana senarai. Sertakan tingkah laku penyelesai dan bahagian IPv6 secara berasingan, kerana kedua-duanya boleh mengikut dasar berbeza daripada trafik halaman.

Peraturan setiap aplikasi biasanya sepadan dengan fail boleh laku atau pakej, bukan profil di dalamnya. Profil pelayar, tetingkap peribadi dan sambungan tidak membawa identiti rangkaian sendiri, jadi ia mewarisi apa yang diterima oleh proses. Proses pembantu yang dilancarkan oleh pelayar itu mungkin tidak mewarisi peraturan yang sama langsung.

Dua senarai diperlukan, bukan satu: apa yang mesti dibawa oleh terowong, dan apa yang tidak boleh keluar daripadanya atas apa jua sebab. Aplikasi yang muncul dalam kedua-duanya ialah percanggahan keperluan, bukan butiran pelaksanaan, dan ia mesti diselesaikan sebelum klien dikonfigurasikan.

Apa yang klien lakukan semasa gangguan

Sesetengah pelaksanaan menyekat aplikasi yang dikecualikan semasa gangguan dan memulihkan aksesnya apabila bersambung semula. Yang lain mengekalkan laluan terus sepanjang masa, yang selari dengan pemisahan dan lebih lemah sebagai sifat keselamatan. Kunci peringkat platform boleh mengatasi sepenuhnya pilihan setiap aplikasi oleh klien. Perbezaan itu bukan kosmetik, kerana ia menentukan sama ada aplikasi yang dikecualikan itu pengecualian dasar atau lubang.

VPN sentiasa aktif Android dengan pilihan menyekat sambungan tanpa VPN ialah kes paling jelas, kerana platform yang menguatkuasakan kunci itu, bukan klien, dan pakej yang dikecualikan disekat bersama semua yang lain semasa terowong turun. Klien desktop yang menggunakan pengecualian setiap aplikasi dalam pemandunya sendiri biasanya membiarkan proses yang dikecualikan pada antara muka fizikal, kerana ia tidak pernah memiliki trafik proses itu. Kedua-dua tingkah laku boleh dipertahankan dan hanya satu yang sepadan dengan keperluan yang menyatakan aplikasi yang dikecualikan mesti kekal boleh digunakan. Tanya komponen mana yang menguatkuasakan peraturan itu sebelum mentafsir keputusan.

Baca tingkah laku sistem pengendalian di hadapan anda, bukan tetapan dengan nama sama di tempat lain. API penguatkuasaan berbeza, dan satu kotak semak boleh bermaksud perkara yang sangat berbeza di desktop dan di telefon. Versi juga penting, kerana kawalan kunci telah bergerak antara skrin sepanjang keluaran Android, dan senarai pengecualian di pihak klien bukan kawalan yang sama seperti kunci platform.

Tiga detik: terowong hidup, terowong mati, bersambung semula

Gunakan permintaan tidak berbahaya pada tiga detik: semasa terowong berfungsi, semasa kegagalan yang anda pedulikan, dan selepas bersambung semula. Satu hasil pelayar tidak dapat menetapkan tingkah laku aplikasi yang dikecualikan.

curl -sS --max-time 8 https://api.ipify.org
curl -sS --max-time 8 --interface tun0 https://api.ipify.org
dig +short example.com

Alamat keluar menunjukkan laluan mana yang diambil, dan ujian antara muka yang jelas menunjukkan apa yang berlaku apabila terowong ialah satu-satunya jalan keluar yang tersedia. Catat hasil yang dijangka di sebelah setiap baris sebelum menjalankan mana-mana daripadanya, jika tidak output akan ditafsirkan selepas kejadian.

Jika aplikasi yang dikecualikan menjadi luar talian, periksa keutamaan dasar sebelum menambah kebenaran tembok api yang luas, kerana pembaikan itu memusnahkan perbezaan yang anda uji. Jika ia kekal terus, sahkan bahawa itu pengecualian yang didokumenkan dan bukan kemunduran tidak sengaja. Untuk keperluan ketat bagi seluruh peranti, pendekkan senarai pengecualian sehingga ia boleh diuji dengan tangan.

Artikel berkaitan