Sebagai penulis NetGuard, saya memiliki pengalaman langsung di bidang ini.
Kelemahan dari firewall berdasarkan VPN lokal adalah tidak semua jenis lalu lintas dapat ditangani, karena kernel (Android) Linux tidak memungkinkan meneruskan semua jenis lalu lintas melalui koneksi berbasis soket. Contohnya adalah IPsec, yang digunakan untuk panggilan IP oleh beberapa produsen. Solusi parsial (bukan untuk IPsec) adalah dengan menggunakan server VPN jarak jauh untuk meneruskan lalu lintas, tetapi ini adalah privasi yang tidak dapat diterima oleh banyak orang dan akan datang dengan kompleksitas tambahan dan mungkin juga dengan penggunaan baterai ekstra. Dalam praktiknya menangani lalu lintas TCP dan UDP tampaknya cukup untuk 99,9% pengguna NetGuard. Karena Android 5 dimungkinkan untuk mengecualikan aplikasi agar tidak dialihkan ke VPN (aplikasi pelaksana VPN memutuskan apakah ini wajib atau opsional), yang dapat digunakan untuk mengatasi masalah yang timbul karena tidak dapat meneruskan semua lalu lintas. Pilihan lain adalah mengecualikan alamat (rentang), yang digunakan NetGuard untuk 'memperbaiki' panggilan IP untuk beberapa produsen.
Kerugian lain adalah bahwa lalu lintas penerusan akan meningkatkan penggunaan baterai pada perangkat seluler, karena ini melibatkan beberapa pemrosesan, karena paket perlu diperiksa dan diteruskan. Menggunakan iptables, yang terintegrasi dalam kernel Linux, lebih efisien karena lebih ramah baterai.
Secara umum tampak bahwa Android merutekan semua lalu lintas ke VPN, bahkan lalu lintas aplikasi sistem dan komponen, tetapi produsen dapat memutuskan untuk mengecualikan jenis lalu lintas tertentu, mengurangi keamanan yang dapat dicapai oleh firewall berbasis VPN.
NetGuard tidak menganalisis data itu sendiri, kecuali permintaan DNS untuk memberikan pemblokiran iklan, tetapi jika itu dapat meningkatkan masalah privasi. Namun demikian, secara teknis terlihat ini adalah keuntungan dari firewall berbasis VPN (jika Anda masih ingin menyebutnya seperti itu), karena itu akan memungkinkan negara-penuh memeriksa aliran data di luar apa yang mungkin dengan iptables. Ini kemungkinan akan menjadi biaya penggunaan baterai, karena pemrosesan yang terlibat. Perhatikan bahwa itu akan memerlukan serangan MiT lokal untuk memeriksa aliran SSL.
Namun kelemahan lain adalah bahwa Android tidak mengizinkan chaining VPN, jadi menggunakan VPN lokal untuk mengimplementasikan firewall akan mencegah penggunaan layanan VPN nyata, kecuali jika firewall menyediakan layanan seperti itu sendiri atau sebagai alternatif mekanisme penerusan atau proxy ke VPN lain aplikasi.
Terakhir, firewall berbasis VPN bergantung pada aplikasi yang menyediakan layanan VPN firewall untuk dijalankan. Ini tampaknya sepele, tetapi tidak, karena beberapa versi / varian Android produsen terlalu agresif membunuh proses dalam kondisi memori rendah (IMHO itu adalah bug jika Android membunuh aplikasi yang menyediakan layanan VPN).
Akhirnya, rooting perangkat Android menjadi semakin sulit, meninggalkan firewall berbasis VPN sebagai satu-satunya pilihan bagi banyak orang. Saya tidak mengharapkan Google untuk menambahkan firewall berbasis sistem dalam waktu dekat, karena ini dapat mempengaruhi pendapatan iklan mereka secara signifikan. iOS memang memiliki firewall berbasis sistem.
Beri tahu saya jika ada pertanyaan dan saya akan mencoba menjawabnya.