IKEv2 VPN профили на Андроиду припадају кориснику, а не уређају
Тунел се поставља по кориснику и по пакету који позива, па унос на телефону може бити погрешан. Проверите власништво пре подешавања.
Израз уграђени VPN на Андроиду обухвата две неповезане ствари: имплементацију протокола коју платформа покреће у ваше име и онај облик подешавања који је произвођач одлучио да изложи. То није исти објекат и ниједно не гарантује да тунел припада кориснику чијим апликацијама је потребан. Постављање се дешава у одређеном кориснику са одређеним пакетом који позива, а све што следи наслеђује тај контекст. Прочитајте ланац власништва пре него што прочитате екран подешавања.
Шта платформа гради за вас
Од Андроида 11 платформа излаже постављање VPN-а кроз VpnManager. Одобрена апликација описује IKEv2 профил, а платформа сама изводи IPsec и IKE размену, тако да апликација никада не дотиче пакете. То је битна разлика у односу на сопствену VPN апликацију, која имплементира VpnService и гради тунел у сопственом процесу.
val profile = Ikev2VpnProfile.Builder(serverAddress, identity)
.setAuthUsernamePassword(user, secret, rootCa)
.build()
getSystemService(VpnManager::class.java).provisionVpnProfile(profile)Горњи позив је скица облика, а не блок за копирање: градитељ има неколико варијанти аутентификације, оне се разликују по нивоу API-ја, а профил носи и материјал поверења за сертификат сервера. За питање власништва важно је уже од синтаксе.
Из овог дизајна следе два својства. Профил је податак, па га може поставити администратор уместо да се ручно уписује. И тунел је мрежа платформе, па се апликацијама приказује као мрежа са VPN транспортом, а не као утичница друге апликације.
Власништво је прво корисник, затим пакет
Вишекориснички рад на Андроиду је стварно раздвајање, а не ознака. Радни профил је засебан корисник са сопственим инсталираним пакетима, сопственим подацима апликација, сопственим keystore-ом и сопственим сидрима поверења. Исти производ инсталиран на оба места две су инстанце са различитим корисничким идентификаторима, чак и када су иконе у покретачу и називи производа идентични.
Постављање се бележи уз пакет који позива у том кориснику. Зато апликација за постављање која ради у личном профилу ствара лични тунел, а радне апликације у радном профилу не виде ништа од њега. Обрнуто је такође истина, и зато је тунел радног профила невидљив личним апликацијама без изричите политике која говори другачије.
Контролер политике уређаја може постављати у име управљаног профила, и то објашњава унос за који се нико у канцеларији не сећа да га је створио. Ако ревидирате телефон, то је вероватни власник посивелог профила, и није на вама да га избришете као експеримент.
Три капије пре него што се пакет помери
Прва капија је овлашћење: управљање мора уопште дозволити VPN, а нека увођења ограничавају и врсту, не само постојање. Друга је идентитет: клијентски сертификат или акредитиви морају бити доступни у кориснику који поседује профил, јер сертификат увезен у лични keystore није видљив радном профилу.
Трећа је пристанак и политика. Корисник обично одобри везу при првој употреби, а администратор је може додатно прикачити као увек укључену, по жељи са закључавањем тако да саобраћај не може изаћи изван тунела. Та подешавања одлучују шта се дешава кад тунел падне, а то је део који корисници примете.
Обим је место где се све три састају. Профил одређује пролаз и идентитет, док слој политике одлучује које апликације смеју користити тунел и да ли је саобраћај присилно усмерен кроз њега. Два телефона са идентичним адресама пролаза зато се могу понашати веома различито.
Зашто лична веза не покрива радне апликације
Саобраћај из радне апликације настаје у радном кориснику, а мрежна политика која се примењује је она у том кориснику. Тунел успостављен у личном профилу га не преноси, колико год индикатор изгледао здраво. Та једна чињеница објашњава већину пријава у којима се корисник заклиње да је VPN повезан, а једна одређена апликација ипак не достиже интерну услугу.
Разрешавање имена следи исту границу. Приватни DNS суфикси и сидра поверења постављају се по кориснику, па име унутрашњег домаћина које се разрешава у личном профилу може пасти у радном профилу чак и уз наизглед једнако вредним тунелом, јер су политика разрешивача и складиште CA различити објекти.
Проверите на стварној регистрацији, не на лабораторијском телефону
На уређају најпре утврдите власника уноса: који корисник, који пакет и да ли је профил дошао од платформског постављача или од апликације која имплементира сопствену VPN услугу. Затим потврдите да је идентитет који профил очекује заиста присутан у keystore-у тог корисника.
Тестирајте животни циклус, не само везу. Пријавите се, откључајте складиште акредитива, пустите радни профил да паузира за вече, па га вратите и проверите да ли се тунел враћа без ручног додира. Радни профил који се искључи после радног времена носи тунел са собом, и то је очекивано понашање, а не квар, под условом да је очекивано недоступно стање записано.
На крају тестирајте саму радну апликацију према познатој интерној завршној тачки и упоредите са резултатом личног профила. Њих двоје смеју да се разликују; оно што не сме да се разликује јесте модел власништва. Ако тунел припада погрешном кориснику, поновно издавање сертификата ништа не поправља.
Не форсирајте ствар покретањем скривених активности подешавања да откријете мени и не копирајте приватне кључеве између профила да би се веза појавила. Референца VpnManager документује шта позивалац сме да постави; ако одобрени пут не укључује ваш случај, то је одлука за администратора, а не проблем са подешавањима.