Panggilan terputus apabila anda memandu melepasi pinggir bandar, dan ikon VPN hilang pada saat yang sama. Menggoda untuk mencatatnya sebagai “perubahan menara membunuh terowong”. Dua perkara berbeza berlaku, dan hanya satu daripadanya berkaitan menara. Penyerahan radio boleh membiarkan alamat IP, laluan lalai dan sesi anda sama sekali tidak terjejas, manakala perubahan alamat sebenar akan memutuskan mana-mana terowong yang tidak dapat bergerak bersamanya. Membandingkan cara klien mengendalikan kes kedua itulah latihan yang berguna, kerana ia memberitahu sama ada anda melihat tingkah laku yang direka atau pepijat.

Perubahan menara tidak semestinya perubahan alamat

Rangkaian mudah alih mengekalkan sesi paket hidup merentas penyerahan selagi sauh mobiliti pengendali kekal sama. Pautan radio berubah, terowong tidak menyedarinya, dan tiada penyambungan semula sepatutnya muncul dalam mana-mana log. Ini kes biasa untuk pergerakan dalam bandar.

Yang mengubah alamat ialah perpindahan antara sauh, pertukaran daripada Wi-Fi ke selular, atau pembinaan semula terowong di pihak pengendali selepas jurang yang panjang. Peristiwa itu menggantikan alamat sumber yang dibawa paket anda, dan rakan VPN melihat rakan yang telah berpindah.

Kesan praktikalnya ialah pergerakan bukan bukti. Peranti yang telah menempuh empat puluh kilometer mungkin mengekalkan satu alamat sepanjang jalan, dan peranti yang duduk diam mungkin telah menukar alamat dua kali kerana rangkaian memutuskan begitu. Merekod peristiwa itu adalah satu-satunya cara untuk membezakan keduanya.

Dua reka bentuk: pindahkan terowong atau bina semula

Klien berbeza dalam sejauh mana mereka mengambil berat bahawa sumber luar telah berubah. Sesetengah mengikat terowong kepada alamat ia dibina dan memerlukan pembinaan semula penuh. Yang lain mengesahkan setiap paket secara bebas dan hanya mengemas kini ke mana balasan dihantar.

MechanismBehaviour after the source changesWhat the user notices
WireGuardEndpoint updated on the next authenticated packetUsually nothing; the tunnel continues
IKEv2 with MOBIKESecurity association moves to the new addressShort pause, no re-authentication
OpenVPN over UDP with floatPeer address may change without a restartMight survive, depending on timing
Client bound to one addressSession dies and is rebuiltA visible reconnect and a new authentication

Baris atas menjelaskan banyak laporan yang mengelirukan. WireGuard tidak mempunyai sesi untuk diputuskan: setiap paket membawa indeks rakan dan disahkan, jadi paket sah yang tiba dari alamat baharu adalah mengikut definisi daripada rakan itu, dan titik akhir yang direkodkan mengikutinya. Klien yang memaparkan “disambungkan” secara berterusan sepanjang perjalanan bercakap benar.

Baris bawah juga bukan kecacatan. Membina semula sesi menjalankan semula pengesahan terhadap alamat semasa, iaitu tepat apa yang anda mahu apabila alamat lama kini mungkin milik orang lain.

Perhatikan peristiwa itu dan bukan pergerakan

Pada Android, subsistem kesalinghubungan melaporkan perubahan rangkaian sebagai peristiwa, dan itulah yang harus anda kaitkan dengan tingkah laku klien. Dedahan itu berjela-jela, tetapi bahagian yang berkaitan ialah rangkaian lalai dan alamatnya:

adb shell dumpsys connectivity | grep -E 'NetworkAgentInfo|Default network'
adb shell ip -br addr show
adb logcat -b main -s Vpn:* | head -n 40

Di pihak pelayan terdapat pengukuran langsung untuk kes perayauan. WireGuard menyimpan titik akhir terakhir yang disahkan bagi setiap rakan, jadi perubahan alamat muncul sebagai nilai yang berubah dan bukan sebagai penyambungan semula:

sudo wg show wg0 endpoints
sudo wg show wg0 latest-handshakes

Bandingkan titik akhir sebelum dan selepas perjalanan. Jika alamat dan port tidak berubah, terowong tidak perlu melakukan apa-apa dan penyambungan semula datang dari tempat lain, biasanya aplikasi. Jika titik akhir berubah manakala cap masa jabat tangan kekal hampir dengan selang pembaharuan kunci biasa, terowong berpindah dan bukan dimulakan semula.

Permulaan semula kelihatan berbeza: cap masa jabat tangan ditetapkan semula kepada saat penyambungan semula, dan klien merekod jujukan permulaan dan bukan kesinambungan yang senyap.

Bila penyambungan semula ialah tingkah laku yang betul

Menganggap setiap penyambungan semula sebagai kerosakan membawa kepada konfigurasi yang mengekalkan sesi mati hidup. Rakan yang alamatnya berubah kerana rangkaian memperuntukkannya semula tidak sepatutnya terus menerima trafik untuk pemetaan lama, dan klien yang meneruskan secara senyap boleh berakhir menghantar ke lubang hitam sementara ikon kekal hijau.

Bandingkan dua kegagalan itu dari sudut pandangan pengguna. Penyambungan semula berharga beberapa saat dan pengesahan semula. Terowong lapuk berharga aplikasi yang tergantung tanpa ralat, yang jauh lebih sukar dijelaskan dan jauh lebih mungkin dilaporkan sebagai “internet rosak”.

Tersembunyi juga persoalan dasar di bawahnya. Semasa jurang antara kehilangan satu laluan dan membentuk laluan lain, sesetengah klien kembali menghantar trafik secara langsung. Mencegahnya ialah kawalan berasingan daripada pemulihan automatik, dan klien boleh bagus dalam satu dan lemah dalam yang lain. Tentukan mana yang anda perlukan sebelum menala mana-mana satu.

Tuliskan jujukan yang diperhatikan

Laporan yang berguna menamakan sumber peristiwa: perubahan rangkaian lalai dengan alamat baharu, pertukaran daripada Wi-Fi ke selular, atau penyerahan tanpa sebarang perubahan alamat. Kemudian ia menyatakan apa yang klien lakukan, dengan cap masa dari pihak pelayan dan bukan dari ingatan.

Jika terowong berpindah, katakan demikian dan catat keluarga titik akhir yang baharu. Jika ia dibina semula, catat sama ada pengesahan berjaya pada percubaan pertama dan berapa lama jurang itu berlangsung. Ketiga-tiga fakta itu membezakan reka bentuk mudah alih yang sihat daripada klien yang terumbang-ambing antara rangkaian.

Dan elakkan frasa “perubahan menara” melainkan log peranti benar-benar membuktikannya. Dokumentasi kesalinghubungan Android menerangkan panggilan balik yang membezakan ketersediaan daripada perubahan rangkaian lalai, dan perbezaan itulah yang diperlukan laporan anda. Selebihnya ialah cerita tentang memandu.

Artikel berkaitan