VPN жолоодож байхдаа дахин холбогдоно: радио өөрчлөгдөх үү, IP өөрчлөгдөх үү?
Цамхагуудын хоорондох шилжилт IP замыг хөндөхгүй орхиж болно. Туннелийг зөөдөг клиентүүдийг дахин барьдагтай харьцуулж, жолоодлогыг биш сүлжээний үйл явдлыг уншина уу.
Хотын захаас өнгөрөхөд дуудлага тасарч, VPN-ийн дүрс яг тэр мөчид алга болно. Үүнийг «цамхаг солигдсон нь туннелийг алсан» гэж бичих нь уруу татдаг. Хоёр өөр зүйл болсон бөгөөд зөвхөн нэг нь цамхагтай холбоотой. Радио шилжилт нь таны IP хаяг, өгөгдмөл маршрут, сессийг бүрэн хөндөхгүй орхиж болох бөгөөд жинхэнэ хаягийн өөрчлөлт нь түүнтэй хамт шилжиж чадахгүй аливаа туннелийг таслана. Клиентүүд тэр хоёр дахь тохиолдлыг хэрхэн шийдэж байгааг харьцуулах нь ашигтай дасгал, учир нь энэ нь таныг зохион бүтээсэн зан төлөв эсвэл алдаа харж байгааг хэлнэ.
Цамхгийн өөрчлөлт заавал хаягийн өөрчлөлт биш
Гар утасны сүлжээ нь операторын хөдөлгөөний зангуу ижил хэвээр байх хугацаанд шилжилтийн үеэр пакетийн сессийг амьд байлгадаг. Радио холбоос өөрчлөгддөг, туннель үүнийг анзаардаггүй бөгөөд ямар ч логт дахин холбогдолт харагдах ёсгүй. Энэ нь хот доторх хөдөлгөөний ердийн тохиолдол.
Хаягийг өөрчилдөг зүйл бол зангуу хоорондын шилжилт, Wi-Fi-аас гар утасны сүлжээнд шилжих, эсвэл урт завсарлагын дараа операторын талд туннелийг дахин байгуулах явдал юм. Эдгээр үйл явдал таны пакетуудын зөөж буй эх хаягийг орлуулж, VPN-ийн хамтрагч шилжсэн хамтрагчийг хардаг.
Практик үр дагавар нь хөдөлгөөн бол баримт биш. Дөч километр явсан төхөөрөмж бүх замд нэг хаяг хадгалсан байж болно, харин хөдөлгөөнгүй зогсож байсан төхөөрөмж сүлжээ ингэж шийдсэн учраас хаягаа хоёр удаа сольсон байж болно. Үйл явдлыг бүртгэх нь тэдгээрийг ялгах цорын ганц арга.
Хоёр загвар: туннелийг зөөх эсвэл дахин барих
Клиентүүд гадаад эх сурвалж өөрчлөгдсөнийг хэр чухалчилж байгаагаараа ялгаатай. Зарим нь туннелийг барьсан хаягтай нь холбож, бүрэн дахин байгуулахыг шаарддаг. Бусад нь пакет бүрийг бие даан баталгаажуулж, хариултыг хаашаа илгээхээ л шинэчилдэг.
| Mechanism | Behaviour after the source changes | What the user notices |
|---|---|---|
| WireGuard | Endpoint updated on the next authenticated packet | Usually nothing; the tunnel continues |
| IKEv2 with MOBIKE | Security association moves to the new address | Short pause, no re-authentication |
| OpenVPN over UDP with float | Peer address may change without a restart | Might survive, depending on timing |
| Client bound to one address | Session dies and is rebuilt | A 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 холболтын баримт бичиг нь боломжтой байдлыг өгөгдмөл сүлжээний өөрчлөлтөөс ялгах буцах дуудлагыг тайлбарладаг бөгөөд таны тайланд яг тэр ялгаа хэрэгтэй. Бусад бүх зүйл жолоодлогын тухай түүх.