Android OpenVPN: menambahkan rute privat tanpa root ponsel
Tambahkan satu rute di dalam profil yang benar-benar dimuat Android, lalu periksa apakah server mengizinkannya. Panduan untuk penyuntingan, penyambungan ulang, dan empat pemeriksaan.
Anda perlu satu subnet privat lagi — misalnya 10.60.0.0/24 — yang belum ada di profil. Di laptop Anda akan menambahkan rute lalu lanjut. Di Android, VPN adalah aplikasi, perangkat tun milik aplikasi itu, dan tidak ada tabel perutean yang bisa Anda edit tanpa root. Rute tetap harus ada, tetapi ia masuk ke profil yang dimuat klien, dan hanya bekerja jika sisi seberang setuju. Berikut penyuntingan, penyambungan ulang, sisi server, dan pengembalian.
Sebelum menyunting: apa yang bisa dan tidak bisa dilakukan rute
Rute menjawab satu pertanyaan: antarmuka mana yang harus membawa lalu lintas ke tujuan ini. Rute tidak memberi izin apa pun. Jika pemilik jaringan belum menyetujui bahwa ponsel ini boleh mencapai subnet itu, rute yang benar menghasilkan konfigurasi yang tampak benar dan penurunan senyap di gateway, dan Anda akan menghabiskan satu jam berikutnya menyunting berkas yang salah.
Dapatkan persetujuan itu lebih dulu, secara tertulis jika jaringan punya pemilik. Lalu catat apa yang tidak Anda lakukan: Anda tidak memberi ponsel alamat di dalam LAN itu, tidak mengubah listener server, dan tidak memilih situs berdasarkan nama host. Itu empat perubahan berbeda dan hanya yang pertama milik Anda.
| The route gives you | The route does not give you |
|---|---|
| A destination prefix associated with the tunnel | Permission to forward at the gateway |
| A path for the phone's own traffic | A return route on the target host |
| A scope for the client's virtual interface | A name in DNS, or HTTPS identity |
Sunting profil yang benar-benar dimuat klien
Untuk klien yang kompatibel dan mengimpor teks opsi OpenVPN biasa, tambahannya satu baris:
route 10.60.0.0 255.255.255.0Tambahkan ke isi profil, dekat direktif perutean lain, dan biarkan endpoint, sertifikat, penanganan kunci, serta baris verifikasi operator persis seperti semula. Jangan menempel seluruh contoh lama untuk meminjam satu baris: kompresi, jalur berkas absolut, dan pengaturan cipher usang ikut terbawa dan akan memakan satu sesi debugging tersendiri.
Langkah yang sering terlewat adalah kepemilikan berkas. Jika aplikasi mengimpor profil, salinan yang dipakainya milik aplikasi, dan menyunting berkas asli yang diunduh tidak mengubah apa pun. Gunakan editor yang didukung klien, atau impor ulang berkas hasil suntingan lewat jalur pembaruan, dan pastikan nama profil aktif saat ada beberapa nama serupa. Catat mana yang Anda ubah.
Jika profil sudah memuat route-nopull, tidak ada rute dari server yang dipasang dan setiap prefiks yang dibutuhkan ponsel harus dicantumkan secara eksplisit. Itu desain yang sah, tetapi berarti satu baris yang terlewat tampak persis seperti penolakan server.
Sambung ulang dan verifikasi di perangkat
Putuskan dulu, lalu sambungkan ulang profil spesifik yang Anda sunting alih-alih membiarkan aplikasi memulihkan sesi terakhir. Buka log koneksi dan pastikan klien mengurai baris baru; direktif rute yang diabaikan antarmuka adalah hasil umum dari menyunting salinan yang salah.
Uji tujuan lewat alamat, bukan nama. Pemeriksaan TCP ke satu port layanan yang dikenal lebih informatif daripada ping, karena banyak host menjawab ICMP sementara port layanannya difilter. Jika alamat menjawab dan nama tidak, Anda punya soal resolver, bukan soal perutean, dan bagian berikutnya bukan untuk Anda.
Dua pemeriksaan cakupan juga termasuk di sini. VPN per aplikasi berarti rute alamat bisa ada sementara aplikasi yang Anda pakai menguji berada di luar himpunan yang disertakan, jadi ujilah dengan aplikasi yang benar-benar di dalam. Dan prefiks IPv4 tidak mengatakan apa pun tentang jalur IPv6; jika layanan dual-stack, tambahkan rute IPv6 yang sesuai atau perkirakan klien memilih jalur yang tidak Anda maksud.
Satu hasil negatif layak dikenali lebih awal: jika rute full-tunnel sudah mencakup 0.0.0.0/0, prefiksnya tidak hilang dan menambahkannya lagi tidak mengubah apa pun. Cakupan ganda tidak memperbaiki penolakan sisi server atau balasan yang hilang.
Selesaikan jalur di server
Tiga hal harus benar di luar ponsel. Gateway perlu rute ke tujuan dan izin meneruskan sumber ponsel ke arahnya. Target harus menerima sumber itu dan mengembalikan balasan lewat gateway, atau desainnya perlu terjemahan yang disengaja di egress. Opsi route di manual OpenVPN mencakup direktif sisi klien; penerusan dan perutean balik adalah pengaturan terpisah di mesin terpisah.
Jika tujuan berada di belakang klien VPN lain, bukan langsung di belakang gateway, server perlu iroute untuk subnet peer itu. Direktif itu milik server dan menjelaskan klien mana yang memiliki suatu prefiks; ponsel tidak bisa menyediakannya dari profilnya sendiri, dan sebanyak apa pun penyuntingan sisi klien tidak menggantikannya.
Periksa jalur balik secara eksplisit. Balasan yang keluar lewat rute default alih-alih terowongan menghasilkan gejala setengah terbuka yang klasik: koneksi terbentuk di satu arah dan tidak ada yang kembali. Terjemahan sumber di gateway adalah perbaikan yang sah saat target tidak bisa merutekan balik, tetapi itu keputusan kebijakan dengan konsekuensinya sendiri.
Pengembalian dan penerimaan
Simpan profil sebelumnya sebelum menyuntingnya. Jika perubahan memperburuk keadaan, pulihkan salinan itu lewat jalur impor ulang yang sama, sambung ulang, dan pastikan perilaku lama kembali — itu memastikan Anda mengubah apa yang Anda kira ubah. Pengembalian yang tidak memulihkan keadaan lama berarti aplikasi menyimpan salinan ketiga yang belum Anda temukan.
Terima perubahan bila empat hal terpenuhi, diuji dalam urutan ini setelah penyambungan ulang yang baru: tujuan menjawab di port layanannya, nama privat teresolusi jika diharapkan, HTTPS masih memvalidasi nama host yang dimaksud, dan semuanya masih bekerja setelah reboot atau peralihan dari Wi-Fi ke seluler. Pemeriksaan terakhir itulah yang menangkap rute yang hanya ada sampai Android membangun ulang terowongan.
- Pastikan pemilik jaringan mengizinkan tujuan sebelum menyunting apa pun.
- Letakkan rute di profil yang dimuat klien, lalu impor ulang dan sambung ulang.
- Verifikasi lewat port layanan, di dalam cakupan per aplikasi, untuk keluarga alamat yang tepat.
- Perbaiki penerusan, perutean balik, dan iroute di server, bukan di ponsel.
- Simpan salinan pengembalian, dan uji ulang setelah reboot.