Menggunakan dua VPN bukan satu permintaan. Ia boleh bermaksud mencapai dua organisasi satu demi satu, memisahkan aplikasi kerja daripada aplikasi peribadi, atau menjalankan satu terowong di dalam yang lain. Android mengendalikan ketiga-tiga kes itu dengan cara yang sangat berbeza, dan bilangan aplikasi VPN yang dipasang pada telefon bukanlah seni bina. Soalan yang memisahkan ketiga-tiganya mudah: adakah dua laluan perlu wujud pada saat yang sama untuk aplikasi yang sama?

Tiga susunan, satu soalan

Jika jawapannya tidak, kerana kedua-dua rangkaian digunakan pada masa berbeza, anda mahukan pertukaran yang disengajakan. Jika jawapannya tidak kerana aplikasi itu sendiri berasingan, anda mahukan pemisahan profil, di mana setiap aplikasi duduk dalam konteks yang memiliki terowongnya. Jika jawapannya ya, dan satu laluan mesti membawa yang lain secara fizikal, anda mahukan rantaian, dan itulah satu-satunya daripada tiga di mana urutan menjadi sebahagian daripada reka bentuk.

Segala-galanya yang lain mengikut pilihan itu. Pertukaran mempunyai tetingkap peralihan, pemisahan mempunyai sempadan dasar, dan rantaian mempunyai kos overhed dan kos kebergantungan. Memilih yang salah tidak gagal dengan bersih; ia menghasilkan telefon yang kelihatan bersambung dan aplikasi yang tidak dapat mencapai apa-apa.

Bertukar dalam satu konteks pengguna

Android membenarkan satu perkhidmatan VPN aktif bagi setiap pengguna. Melancarkan aplikasi VPN kedua dalam konteks yang sama menggantikan yang pertama atau ditolak terus; ia tidak pernah menyusun kedua-dua set laluan dan pastinya tidak menindan penyulitan mereka. Dalam satu pengguna, dua terowong ialah urutan, bukan jumlah.

Itu praktikal apabila akses benar-benar berturutan. Namakan profil supaya yang aktif jelas, selesaikan segala yang sensitif sebelum bertukar, dan jangkakan tetingkap singkat apabila tiada satu pun laluan itu terbentuk sepenuhnya. Menutup tab pelayar tidak sama dengan menamatkan sesi: tab itu boleh mengekalkan keadaan akaunnya dan hanya menghantar permintaan seterusnya melalui rangkaian yang baru dipilih, dan itulah tepat kebocoran yang orang perhatikan kemudiannya.

Apa yang pertukaran tidak dapat berikan ialah mesin yang berada pada kedua-dua rangkaian pada masa yang sama. Jika sesuatu aplikasi memerlukan alamat persendirian daripada setiap sisi, tiada disiplin klien yang akan menghasilkannya.

Memisahkan mengikut profil

Profil kerja terurus ialah pengguna berasingan dengan aplikasi, stor kunci dan dasar rangkaiannya sendiri. Klien mel kerja boleh menggunakan terowong organisasi manakala pelayar peribadi menggunakan yang peribadi, dan kedua-duanya boleh bersambung pada masa yang sama kerana mereka bukan dalam konteks yang sama berebut tempat itu.

Pemisahan itu juga hadnya. Pelayar peribadi tidak meminjam terowong kerja, tidak melihat akhiran DNS kerja dan tidak sampai ke rangkaian kerja hanya kerana kedua-dua perkhidmatan kelihatan bersambung. Apabila seseorang melaporkan bahawa pautan tidak terbuka, semak salinan aplikasi yang mana mengendalikannya dan profil mana yang memiliki akaun itu sebelum menyentuh mana-mana satu daripada dua VPN itu.

Anggap sempadan itu tetap. Mencipta profil kedua atau membuang profil kerja untuk mengelak keputusan penghalaan majikan memusnahkan tepat pemisahan yang menjadikan susunan itu berkesan, dan pada peranti terurus ia biasanya pelanggaran dasar dan bukan pelarasan konfigurasi.

Rantaian, di mana urutan ialah reka bentuk

Rantaian ialah susunan yang biasanya dimaksudkan orang apabila mereka berkata kedua-duanya serentak: terowong telefon bergerak di dalam terowong penghala. Ia boleh berfungsi, dan kekangannya khusus. Pembekal luar mesti membenarkan laluan yang berfungsi ke titik akhir VPN telefon, yang bagi protokol berasaskan UDP bermaksud perkhidmatan luar tidak boleh menyekat atau mengehadkan trafik itu.

Fahami siapa melihat apa. Pembekal luar melihat sambungan menuju titik akhir dalam. Pembekal dalam menerima trafik telefon daripada pintu keluar luar dan memajukannya. Destinasi akhir biasanya melihat pintu keluar perkhidmatan dalam, dan tiada pembekal di sepanjang rantaian itu buta; akaun aplikasi masih mengenal pasti pengguna tanpa mengira laluan.

Jangkakan kos praktikal. Setiap lapisan menambah enkapsulasi, jadi MTU berkesan menurun dan nilai yang dahulunya baik untuk satu terowong kini berpecah atau tersekat sehingga MTU terowong dalam ditetapkan secara konservatif. Dua lapisan juga bermakna dua kebergantungan kegagalan dan dua set mesej penyelenggaraan, dan terowong dalam berasaskan TCP di atas pautan luar yang rugi boleh tersekat dengan cara yang kelihatan seperti pelayan mati.

Yang paling penting, rantaian tidak menggabungkan dua rangkaian persendirian. Laluan, awalan bertindih, penyelesaian DNS dan peraturan akses kekal sebagai keputusan berasingan, dan penghala yang membawa satu VPN manakala telefon membawa yang lain tidak memberikan telefon kedua-dua ruang alamat itu.

Semak reka bentuk sebelum menyahpepijatnya

Tulis susunan itu dalam satu ayat dan ujinya terhadap aplikasi yang gagal. Akses berturutan sepatutnya menunjukkan satu terowong pada satu masa; pemisahan profil sepatutnya menunjukkan setiap aplikasi dalam penggunanya sendiri; rantaian sepatutnya menunjukkan terowong dalam terbentuk di atas antara muka luar dan bukan antara muka fizikal.

adb shell ip -br addr
adb shell ip route get 10.20.0.8
adb shell dumpsys connectivity | grep -i vpn

Jika carian laluan menamakan antara muka fizikal manakala sesuatu aplikasi menjangkakan terowong, reka bentuk dan konteks aplikasi itu tidak bersetuju, dan tiada aplikasi VPN tambahan akan mendamaikan keduanya. Dokumentasi profil terurus merangkumi peraturan pemisahan jika anda memerlukan butiran dasar dan bukan butiran penghalaan.

Artikel berkaitan