Қаланың шетінен өткенде қоңырау үзіледі және VPN белгісі сол сәтте жоғалады. Мұны «мұнара ауысуы туннельді өлтірді» деп жазу азғызады. Екі түрлі нәрсе болды және олардың тек біреуі мұнараларға қатысты. Радио беріліс IP мекенжайыңызды, әдепкі маршрутты және сессияны толығымен бұзбай қалдыруы мүмкін, ал нақты мекенжай өзгерісі онымен бірге жылжи алмайтын кез келген туннельді үзеді. Клиенттердің сол екінші жағдайды қалай шешетінін салыстыру пайдалы жаттығу, өйткені ол сізге жобаланған мінез-құлықты немесе қатені көріп отырғаныңызды айтады.

Мұнараның ауысуы міндетті түрде мекенжайдың ауысуы емес

Ұялы желілер пакеттік сессияны оператордың ұтқырлық якоры өзгеріссіз қалғанша берілістер кезінде тірі ұстайды. Радио байланыс өзгереді, туннель оны байқамайды және ешбір журналда қайта қосылу көрінбеуі керек. Бұл қала ішіндегі қозғалыс үшін әдеттегі жағдай.

Мекенжайды якорьлар арасындағы орын ауыстыру, Wi-Fi-ден ұялы желіге ауысу немесе ұзақ үзілістен кейін оператор жағында туннельді қайта орнату өзгертеді. Бұл оқиғалар пакеттеріңіз таситын бастапқы мекенжайды алмастырады және VPN серіктесі жылжыған серіктесті көреді.

Практикалық қорытынды: қозғалыс дәлел емес. Қырық шақырым жүрген құрылғы бүкіл жолда бір мекенжайды сақтаған болуы мүмкін, ал тұрған құрылғы желі солай шешкендіктен мекенжайды екі рет өзгерткен болуы мүмкін. Оқиғаны жазып алу оларды ажыратудың жалғыз жолы.

Екі шешім: туннельді жылжыту немесе қайта салу

Клиенттер сыртқы көздің өзгергенін қаншалықты маңызды санайтынымен ерекшеленеді. Кейбіреулер туннельді ол салынған мекенжайға байланыстырады және толық қайта орнатуды талап етеді. Басқалары әр пакетті дербес тексереді және жауаптарды қайда жіберетінін ғана жаңартады.

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

Жоғарғы жол көптеген түсініксіз есептерді түсіндіреді. WireGuard-та үзілетін сессия жоқ: әр пакет серіктестің индексін тасиды және тексеріледі, сондықтан жаңа мекенжайдан келген жарамды пакет анықтама бойынша сол серіктестен және жазылған соңғы нүкте онымен жүреді. Сапар бойы үздіксіз «қосылған» көрсететін клиент шындықты айтады.

Төменгі жол да ақау емес. Сессияны қайта салу аутентификацияны ағымдағы мекенжайға қарсы қайта іске қосады, ескі мекенжай енді басқа біреуге тиесілі болуы мүмкін кезде дәл осы керек.

Қозғалысты емес, оқиғаны бақылаңыз

Android-та байланыс ішкі жүйесі желі өзгерістерін оқиға ретінде хабарлайды және клиенттің мінез-құлқымен дәл соларды байланыстыру керек. Шығыс ұзақ, бірақ маңызды бөліктер — әдепкі желі және оның мекенжайы:

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

Сервер жағында роуминг жағдайы үшін тікелей өлшем бар. WireGuard әр серіктес үшін соңғы расталған соңғы нүктені сақтайды, сондықтан мекенжай өзгерісі қайта қосылу ретінде емес, өзгерген мән ретінде көрінеді:

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

Соңғы нүктені сапарға дейін және кейін салыстырыңыз. Мекенжай мен порт өзгермесе, туннельге ештеңе істеу қажет болмады және қайта қосылу басқа жерден, әдетте қолданбадан келді. Соңғы нүкте өзгеріп, бірақ қол алысу уақыт белгісі әдеттегі кілтті жаңарту аралығына жақын қалса, туннель қайта іске қосылмай, жылжыды.

Қайта іске қосу басқаша көрінеді: қол алысу уақыт белгісі қайта қосылу сәтіне нөлденеді және клиент тыныш жалғастырудың орнына инициализация тізбегін жазады.

Қайта қосылу қашан дұрыс мінез-құлық

Әр қайта қосылуды ақау деп санау өлі сессияларды тірі ұстайтын конфигурацияларға әкеледі. Мекенжайы желі оны қайта бөлгендіктен өзгерген серіктес ескі салыстыру үшін трафикті алуды жалғастырмауы керек, ал тыныш жалғастырған клиент белгі жасыл болып тұрғанда қара құдыққа жіберуі мүмкін.

Екі ақауды пайдаланушы көзқарасынан салыстырыңыз. Қайта қосылу бірнеше секундқа және жаңа аутентификацияға тұрады. Ескірген туннель қатесіз қатып қалатын қолданбаға тұрады, оны түсіндіру әлдеқайда қиын және «интернет бұзылды» деп хабарлану ықтималдығы әлдеқайда жоғары.

Астында саясат сұрағы да жатыр. Бір жолды жоғалту мен екіншісін орнату арасындағы саңылауда кейбір клиенттер трафикті тікелей жіберуге оралады. Мұны болдырмау автоматты қалпына келтіруден бөлек бақылау және клиент біреуінде жақсы, екіншісінде нашар болуы мүмкін. Екеуін реттемес бұрын сізге қайсысы керек екенін шешіңіз.

Бақыланған ретті жазыңыз

Пайдалы есеп оқиға көзін атайды: жаңа мекенжаймен әдепкі желінің өзгеруі, Wi-Fi-ден ұялы желіге ауысу немесе мекенжай өзгерісі жоқ беріліс. Содан кейін клиенттің не істегенін есте сақтаудан емес, сервер жағындағы уақыт белгісімен айтады.

Туннель жылжыса, оны айтыңыз және жаңа соңғы нүктелер отбасын белгілеңіз. Қайта орнатылса, аутентификацияның бірінші әрекетте сәтті болғанын және саңылау қаншаға созылғанын белгілеңіз. Осы үш факт сау ұялы дизайнды желілер арасында арпалысатын клиенттен ажыратады.

Және құрылғы журналы шынымен растамаса, «мұнара ауысуы» деген сөз тіркесінен аулақ болыңыз. Android байланыс құжаттамасы қолжетімділікті әдепкі желінің өзгеруінен ажырататын кері шақыруларды сипаттайды және есебіңізге дәл сол айырмашылық керек. Қалғанының бәрі жүргізу туралы әңгіме.

Қатысты мақалалар