Tombol pengaman menyala, satu aplikasi sengaja dikecualikan dari terowongan, dan dua persyaratan itu kini saling bertentangan. Yang satu mengatakan tidak ada yang boleh keluar kecuali lewat terowongan, yang lain mengatakan program ini harus langsung. Setiap klien menyelesaikan konflik itu dengan cara berbeda, dan halaman pengaturan jarang menjelaskan aturan mana yang menang. Tulis kebijakan per aplikasi sebelum memercayai label apa pun.

Dua kebijakan, satu mesin

Tombol pengaman adalah janji soal kegagalan: ketika terowongan tidak melindungi lalu lintas, lalu lintas berhenti. Terowongan terpisah adalah janji soal pemilihan: program atau tujuan ini memakai terowongan, dan yang itu tidak. Janji kedua menciptakan lalu lintas yang harus diputuskan oleh yang pertama. Tidak ada janji yang salah; hanya saja orang berbeda menulisnya untuk ancaman berbeda.

Tiga hasil mungkin terjadi dan hanya satu yang dimaksudkan pemasangan. Aplikasi yang dikecualikan bisa tetap langsung selama gangguan, yang menghormati pemisahan dan melanggar tombol pengaman. Aplikasi itu bisa diblokir bersama semua yang lain, yang menghormati tombol pengaman dan melanggar pemisahan. Atau aplikasi itu hanya diblokir kadang-kadang, tergantung bagaimana platform menilai aturan setelah antarmuka menghilang. Kasus terakhir itulah yang menghasilkan tiket.

Tulis daftar aplikasi sebelum aturannya

Daftarkan program yang harus memakai terowongan, yang harus langsung, serta nama atau tujuan yang tidak boleh pernah muncul di kedua daftar. Sertakan perilaku penyelesai dan sisi IPv6 secara terpisah, karena keduanya bisa mengikuti kebijakan berbeda dari lalu lintas halaman.

Aturan per aplikasi biasanya cocok dengan berkas yang dapat dieksekusi atau paket, bukan profil di dalamnya. Profil peramban, jendela privat, dan ekstensi tidak membawa identitas jaringan sendiri, jadi semuanya mewarisi apa yang diterima prosesnya. Proses pembantu yang diluncurkan peramban itu mungkin tidak mewarisi aturan yang sama sama sekali.

Diperlukan dua daftar, bukan satu: apa yang harus dibawa terowongan, dan apa yang tidak boleh bepergian ke luarnya karena alasan apa pun. Aplikasi yang muncul di keduanya adalah konflik persyaratan, bukan detail implementasi, dan harus diselesaikan sebelum klien dikonfigurasi.

Apa yang dilakukan klien selama gangguan

Sebagian implementasi memblokir aplikasi yang dikecualikan selama gangguan dan memulihkan aksesnya saat tersambung kembali. Yang lain mempertahankan jalur langsung sepanjang waktu, yang konsisten dengan pemisahan dan lebih lemah sebagai sifat keamanan. Penguncian tingkat platform dapat mengesampingkan sepenuhnya pilihan per aplikasi milik klien. Perbedaan itu bukan kosmetik, karena menentukan apakah aplikasi yang dikecualikan adalah pengecualian kebijakan atau lubang.

VPN selalu aktif Android dengan opsi memblokir koneksi tanpa VPN adalah kasus paling jelas, karena platform yang menegakkan penguncian dan bukan klien, dan paket yang dikecualikan diblokir bersama semua yang lain saat terowongan mati. Klien desktop yang menerapkan pengecualian per aplikasi di dalam drivernya sendiri biasanya meninggalkan proses yang dikecualikan di antarmuka fisik, karena ia tidak pernah memiliki lalu lintas proses itu sejak awal. Kedua perilaku dapat dipertahankan dan hanya satu yang cocok dengan persyaratan yang menyatakan aplikasi yang dikecualikan harus tetap dapat digunakan. Tanyakan komponen mana yang menegakkan aturan sebelum menafsirkan hasilnya.

Baca perilaku sistem operasi yang ada di depan Anda, bukan pengaturan bernama sama di tempat lain. API penegakan berbeda, dan satu kotak centang bisa berarti hal yang sangat berbeda di desktop dan di ponsel. Versi juga penting, karena kendali penguncian berpindah antar layar sepanjang rilis Android, dan daftar pengecualian di sisi klien bukan kendali yang sama dengan penguncian platform.

Tiga momen: terowongan hidup, terowongan mati, tersambung kembali

Gunakan permintaan tidak berbahaya pada tiga momen: saat terowongan bekerja, selama kegagalan yang Anda pedulikan, dan setelah tersambung kembali. Satu hasil peramban tidak dapat memastikan perilaku 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 jalur mana yang dipakai, dan uji antarmuka eksplisit menunjukkan apa yang terjadi ketika terowongan adalah satu-satunya jalan keluar yang tersedia. Catat hasil yang diharapkan di samping setiap baris sebelum menjalankan salah satunya, atau keluarannya akan ditafsirkan setelah kejadian.

Jika aplikasi yang dikecualikan menjadi luring, periksa prioritas kebijakan sebelum menambahkan izin firewall yang luas, karena perbaikan itu merusak perbedaan yang sedang Anda uji. Jika aplikasi itu tetap langsung, pastikan itu memang pengecualian yang didokumentasikan dan bukan kemunduran tak sengaja. Untuk persyaratan ketat bagi seluruh perangkat, pendekkan daftar pengecualian sampai bisa diuji dengan tangan.

Artikel terkait