VPN macet di Connecting dalam mode pesawat: temukan uplink-nya
Klien yang tertahan di Connecting dalam mode pesawat mungkin memang tidak punya uplink. Pisahkan status radio, asosiasi, masuk portal, dan kebijakan pemblokiran.
Ponsel menampilkan ikon pesawat, klien VPN sudah dua menit di Connecting, dan profilnya benar. Satu jam lalu ini berfungsi di gedung yang sama. Tidak ada yang rusak: VPN adalah koneksi yang dibawa oleh jaringan lain, dan mode pesawat baru saja mencabut jaringan yang membawanya. Klien terus mencoba karena itulah yang dilakukannya tanpa uplink.
Yang membingungkan adalah ikon pesawat tidak memberi tahu apakah Wi-Fi tersedia, dan Connecting tidak memberi tahu apakah klien sedang mengautentikasi atau hanya menunggu. Pisahkan kedua bacaan itu dan diagnosisnya butuh satu menit.
Ikon pesawat bukan laporan radio
Pada perangkat Android yang didukung, Wi-Fi dan Bluetooth bisa tetap aktif dalam mode pesawat, dan perangkat mengingat pilihan yang Anda buat terakhir kali. Panduan Google tentang mode pesawat di Pixel menjelaskan persis perilaku itu. Jadi ikonnya bisa berarti seluler mati dan tidak lebih.
Periksa keadaan sebenarnya, bukan glifnya. adb shell settings get global airplane_mode_on mengembalikan 0 atau 1 untuk modenya sendiri, dan adb shell dumpsys connectivity mendaftar jaringan yang dimiliki perangkat saat ini, beserta status validasinya. Kedua keluaran itu bersama-sama menjawab pertanyaan yang tidak bisa dijawab ikon.
Jika Wi-Fi mati, atau hidup tetapi tidak terasosiasi dengan apa pun, tidak ada jalur ke titik akhir VPN dan berapa kali pun menyambung ulang tidak akan membuatnya. Kasus itulah yang layak disingkirkan lebih dulu, karena hanya di situ perbaikan yang benar berada di luar aplikasi VPN.
Apa arti Connecting sebenarnya
Klien bisa menyimpan profil, menampilkan namanya, dan menampilkan pemutar tanpa pernah menghubungi apa pun. Konfigurasinya lokal. Membangun terowongan memerlukan server yang dapat dijangkau, handshake yang selesai, dan antarmuka untuk merutekan. Hanya bagian terakhir yang membutuhkan jaringan yang berfungsi, itulah sebabnya dua bagian pertama bisa tampak berhasil saat radio mati.
Jadi pemutar itu konsisten dengan setidaknya tiga situasi berbeda: tidak ada uplink sama sekali, uplink yang tidak dapat mencapai titik akhir, dan uplink yang mencapainya tetapi gagal autentikasi. Di layar semuanya tampak sama dan di log sama sekali berbeda. Karena itu artefak berguna pertama dalam semua kasus ini adalah log, bukan percobaan lain.
Dokumentasi VPN Android sendiri menarik garis yang sama antara pembentukan koneksi dan kebijakan selalu aktif serta pemblokiran yang terpisah. Pemisahan itulah sebabnya ponsel bisa tampak terlindungi saat offline dan tetap tidak punya terowongan.
Empat keadaan yang layak dibedakan
Empat keadaan di bawah ini yang layak diberi nama, karena layar menampilkannya secara identik.
| State | What you will see | What to do |
|---|---|---|
| Airplane mode, Wi-Fi off | No networks in dumpsys, VPN retries forever | Turn Wi-Fi on, or accept that the tunnel cannot exist |
| Wi-Fi on, not associated | Interface exists, no default network | Join the access point |
| Associated, not validated | Network listed, captive-portal flag set | Complete the portal sign-in, then reconnect |
| Validated, tunnel down | Internet works, VPN fails or blocks | Debug the tunnel, not the radio |
Baris ketiga menangkap sebagian besar orang di hotel dan bandara. Asosiasi bukan izin masuk: portal yang belum meloloskan ponsel akan dengan senang hati menerima kata sandi Wi-Fi lalu menolak meneruskan lalu lintas ke titik akhir VPN. Masuk lebih dulu lewat peramban, saat terowongan mati, biasanya satu-satunya jalan.
Mengapa pemblokiran membuatnya tampak lebih buruk
Jika VPN selalu aktif dan blokir koneksi tanpa VPN keduanya aktif, setiap aplikasi yang tercakup diblokir setiap kali terowongan tidak berdiri. Itu fiturnya bekerja, bukan kesalahan kedua. Gejalanya berubah dari satu aplikasi gagal menjadi semuanya gagal, yang terbaca sebagai masalah jauh lebih besar.
Ini juga menjelaskan urutan yang salah dibaca orang: mode pesawat aktif, tidak ada uplink, aplikasi diblokir, VPN berkata connecting. Pemblokiran itu adalah kebijakan yang menjalankan tugasnya. Mematikan kebijakan untuk menguji uplink menghapus perlindungan yang barangkali Anda inginkan dan tidak mengajari Anda apa pun.
Periksa cakupannya saja. Aplikasi mana yang tercakup, mana yang dikecualikan, dan apakah profilnya per pengguna atau seluruh perangkat. Tugas yang menjalankan aplikasi VPN begitu Wi-Fi muncul adalah pemicu, bukan jaminan bahwa tidak ada paket yang keluar sebelum tugas itu berjalan.
Urutan diagnosis yang mengakhiri dugaan
Bekerjalah dari bawah ke atas. Pastikan modenya, pastikan ada jaringan, pastikan sudah tervalidasi, pastikan dapat mencapai sesuatu di luar subnet lokal, dan baru setelah itu lihat kliennya. adb shell ping -c 3 1.1.1.1 adalah uji kasar tetapi memisahkan jalur yang hilang dari jalur yang ada sementara terowongan tidak senang.
Jika ping gagal sementara ada jaringan terdaftar, masalahnya di hulu VPN dan tidak ada pengaturan klien yang memperbaikinya. Jika ping berhasil dan terowongan tetap tidak terbentuk, tangkap log klien pada saat itu: galatnya akan membedakan batas waktu dari penolakan autentikasi, dan keduanya tidak punya kesamaan.
Akhiri dengan memulihkan keadaan yang dimaksud: Wi-Fi diizinkan dalam mode pesawat jika itu pengaturan normal Anda, portal diselesaikan, dan kebijakan pemblokiran dinyalakan lagi. Lalu sambungkan ulang sekali dan pastikan terowongan naik sendiri, karena konfigurasi yang hanya bekerja setelah percobaan manual akan gagal lagi saat boot berikutnya.