Mae’r alwad yn disgyn pan fyddwch yn gyrru heibio ymyl y dref, ac mae’r eicon VPN yn diflannu ar yr un pryd. Mae’n demtasiwn cofnodi hynny fel “lladdodd newid tŵr ffôn y tiwnel”. Digwyddodd dau beth gwahanol, a dim ond un ohonynt yn ymwneud â thyrau. Gall trosglwyddo radio adael eich cyfeiriad IP, eich llwybr diofyn a’ch sesiwn yn hollol gyfan, tra bydd newid cyfeiriad gwirioneddol yn torri unrhyw diwnel na all symud gydag ef. Cymharu sut mae cleientiaid yn trin yr ail achos hwn yw’r ymarfer defnyddiol, oherwydd mae’n dweud wrthych a ydych yn gweld ymddygiad a gynlluniwyd neu nam.

Nid yw newid tŵr o anghenraid yn newid cyfeiriad

Mae rhwydweithiau symudol yn cadw’r sesiwn pecyn yn fyw ar draws trosglwyddiadau cyn belled ag y bydd angor symudedd y cludwr yn aros yr un fath. Mae’r ddolen radio yn newid, nid yw’r tiwnel yn sylwi, ac ni ddylai unrhyw ailgysylltiad ymddangos mewn unrhyw log. Dyma’r achos cyffredin ar gyfer symud o fewn dinas.

Yr hyn sy’n newid y cyfeiriad yw symud rhwng angorau, newid o Wi-Fi i ffôn symudol, neu ailsefydlu tiwnel ar ochr y cludwr ar ôl bwlch hir. Mae’r digwyddiadau hynny’n disodli’r cyfeiriad ffynhonnell y mae eich pecynnau’n ei gario, ac mae cymar VPN yn gweld cymar sydd wedi symud.

Y canlyniad ymarferol yw nad yw symud yn dystiolaeth. Efallai bod dyfais a deithiodd ddeugain cilometr wedi cadw un cyfeiriad ar hyd y ffordd, ac efallai bod dyfais sy’n eistedd yn llonydd wedi newid cyfeiriad ddwywaith oherwydd i’r rhwydwaith benderfynu gwneud hynny. Cofnodi’r digwyddiad yw’r unig ffordd i wahaniaethu rhwng y ddau.

Dau ddyluniad: symud y tiwnel neu ei ailadeiladu

Mae cleientiaid yn wahanol o ran faint maent yn poeni bod y ffynhonnell allanol wedi newid. Mae rhai’n rhwymo’r tiwnel i’r cyfeiriad y cafodd ei adeiladu arno ac yn mynnu ailsefydliad llawn. Mae eraill yn dilysu pob pecyn yn annibynnol ac yn syml yn diweddaru ble maent yn anfon yr atebion.

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

Mae’r rhes uchaf yn esbonio llawer o adroddiadau dryslyd. Nid oes gan WireGuard sesiwn i’w thorri: mae pob pecyn yn cario mynegai’r cymar ac yn cael ei ddilysu, felly mae pecyn dilys sy’n cyrraedd o gyfeiriad newydd yn ôl diffiniad yn dod o’r cymar hwnnw, ac mae’r pen draw a gofnodwyd yn ei ddilyn. Mae cleient sy’n dangos “wedi cysylltu” yn ddi-dor drwy’r daith yn dweud y gwir.

Nid yw’r rhes isaf yn ddiffyg chwaith. Mae ailadeiladu’r sesiwn yn ailredeg dilysu yn erbyn y cyfeiriad presennol, sef yn union yr hyn yr ydych ei eisiau pan allai’r hen gyfeiriad bellach berthyn i rywun arall.

Arsylwch y digwyddiad yn lle’r symudiad

Ar Android mae’r is-system cysylltedd yn adrodd newidiadau rhwydwaith fel digwyddiadau, a’r rheini yw’r pethau y dylech gydberthnasu ag ymddygiad y cleient. Mae’r dump yn faith, ond y rhannau perthnasol yw’r rhwydwaith diofyn a’i gyfeiriad:

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

Ar ochr y gweinydd mae mesuriad uniongyrchol ar gyfer yr achos crwydro. Mae WireGuard yn storio’r pen draw dilys olaf fesul cymar, felly mae newid cyfeiriad yn ymddangos fel gwerth a newidiwyd yn hytrach nag fel ailgysylltiad:

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

Cymharwch y pen draw cyn ac ar ôl y daith. Os yw’r cyfeiriad a’r porthladd yn ddigyfnewid, nid oedd yn rhaid i’r tiwnel wneud dim ac fe ddaeth yr ailgysylltiad o rywle arall, fel arfer y rhaglen. Os newidiodd y pen draw tra arhosodd stamp amser yr ysgwyd llaw yn agos at ei gyfwng allweddu arferol, symudodd y tiwnel yn hytrach nag ailgychwyn.

Mae ailgychwyn yn edrych yn wahanol: mae stamp amser yr ysgwyd llaw yn ailosod i foment yr ailgysylltu, ac mae’r cleient yn logio dilyniant cychwyn yn hytrach na pharhâd tawel.

Pryd yw’r ailgysylltiad yn ymddygiad cywir

Mae trin pob ailgysylltiad fel nam yn arwain at ffurfweddiadau sy’n cadw sesiynau marw yn fyw. Ni ddylai cymar y newidiodd ei gyfeiriad oherwydd i’r rhwydwaith ei ailddyrannu barhau i dderbyn traffig ar gyfer yr hen fapio, a gall cleient sy’n parhau’n dawel fod yn anfon i dwll du tra mae’r eicon yn aros yn wyrdd.

Cymharwch y ddau fethiant o safbwynt defnyddiwr. Mae ailgysylltiad yn costio ychydig eiliadau ac ail-ddilysu. Mae tiwnel hen ffasiwn yn costio rhaglen sy’n hongian heb wall, sy’n llawer anoddach ei esbonio ac yn llawer mwy tebygol o gael ei riportio fel “mae’r rhyngrwyd wedi torri”.

Mae cwestiwn polisi yn cuddio o dan hyn hefyd. Yn ystod y bwlch rhwng colli un llwybr a sefydlu un arall, mae rhai cleientiaid yn dychwelyd at anfon traffig yn uniongyrchol. Mae atal hynny’n reolaeth ar wahân i adferiad awtomatig, a gall cleient fod yn dda am un ac yn wael am y llall. Penderfynwch pa un sydd ei angen arnoch cyn addasu’r naill na’r llall.

Ysgrifennwch y dilyniant a arsylwyd

Mae adroddiad defnyddiol yn enwi ffynhonnell y digwyddiad: newid rhwydwaith diofyn gyda chyfeiriad newydd, newid o Wi-Fi i ffôn symudol, neu drosglwyddiad heb unrhyw newid cyfeiriad o gwbl. Yna mae’n nodi beth wnaeth y cleient, gyda’r stamp amser o ochr y gweinydd yn hytrach nag o’r cof.

Os symudodd y tiwnel, dywedwch hynny a nodwch y teulu pen draw newydd. Os ailosodwyd ef, nodwch a lwyddodd y dilysu ar y cynnig cyntaf a pha mor hir y parhaodd y bwlch. Mae’r tair ffaith hynny’n gwahaniaethu dyluniad symudol iach oddi wrth gleient sy’n ymlwybro rhwng rhwydweithiau.

Ac osgoi’r ymadrodd “newid tŵr” oni bai fod log y ddyfais yn sefydlu hynny mewn gwirionedd. Mae dogfennaeth cysylltedd Android yn disgrifio’r galwadau yn ôl sy’n gwahaniaethu argaeledd oddi wrth newid rhwydwaith diofyn, a’r gwahaniaeth hwnnw yw’r un y mae ei angen ar eich adroddiad. Mae popeth arall yn stori am yrru.

Erthyglau cysylltiedig