Android VPN экспорты: жаңа телефонға шын мәнінде не көшеді
Android VPN экспорты параметрлерді және кейде кілтті жібереді, бірақ құрылғының авторизациясын ешқашан жібермейді. Ескі телефонды өшірмес бұрын шын мәнінде не көшетінін тексеріңіз.
Android-тан VPN профилін экспорттау резервтік көшіру қадамы сияқты көрінеді, ал оны ұсынатын мәзір бұл әсерді түзету үшін ештеңе жасамайды. Қолыңызда қалатыны — parser кірісі, операциялық жүйе ешқашан қайтармауы мүмкін кілт және дәл сол телефонға берілген авторизация. Осы үшеуін бөліп қарасаңыз, пайдалы сұрақ туындайды: жаңа құрылғыда әлі қай бөлік жетіспейді?
Файл — жеңіл бөлігі. Қалған екеуі көшірудің жұмыс істейтінін шешеді.
Экспортталған профильде шын мәнінде не бар
Файлды сенбес бұрын мәтіндік редакторда ашыңыз. OpenVPN профилі — шағын конфигурация тілі: remote, proto, data-ciphers және жиі клиент өзінің TLS стекіне беретін кірістірілген <ca>, <cert>, <key> немесе <tls-crypt> блоктары. WireGuard конфигурациясы тегісірек: [Interface] ішінде PrivateKey мен Address бар, содан кейін әр соңғы нүктеге бір [Peer] PublicKey, AllowedIPs және Endpoint алып жүреді. IKEv2 кілт блоктарының орнына пайдалы жүктеме сөздіктері бар .mobileconfig ретінде келеді.
Бұл мәтіндердің ешқайсысы жеке өзі тіркелгі деректері емес. Тіркелгі деректері — жеке кілт, ал әрбір формат оны ішіне жапсырады немесе оны жасаған клиенттің ішінде ғана шешілетін бүркеншік атқа сілтейді.
Кілт Android-та шын мәнінде қайда тұрады
Android қолданба деректерін /data/data/<package> астында сақтайды, оны тек сол қолданбаның UID оқи алады. Root жасалмаған телефоннан басқа қолданбаның жеке каталогын көшірудің қолдау көрсетілген жолы жоқ, ал adb backup Android 12 оны жойғаннан және клиенттер allowBackup="false" деп жариялай бастағаннан кейін жалпы жауап болудан қалды. Сондықтан Android клиентінен экспорт дегеніміз сол клиент іске асыратын нәрсе, файлдық жүйенің көшірмесі емес.
Сәйкестік қабаты қолданбаның астында орналасқан. Егер клиент кілтіңізді Android Keystore-ға импорттаған болса, материал сол жерде жасалады немесе оралады, ал кейінгі экспорттар байттардың орнына Keystore бүркеншік атына сілтеме алып жүруі мүмкін. Аппараттық қорғалған кілттерді тіпті иелік ететін қолданба да оқи алмайтындай жасалған, бұны Keystore documentation сипаттайды, сондықтан сол бүркеншік атқа сілтейтін профиль сол телефонда таза импортталады, ал кез келген басқа жерде сәтсіз аяқталады.
Бұл бұзылған экспорт емес. Бұл платформадан сұралған қасиет.
Профиль нені тасымалдай алмайды
Нысандарды барар жер қабылдайтын нәрсемен салыстырыңыз:
| Нысан | Көшеді ме? | Неге |
|---|---|---|
| Протокол және соңғы нүкте | Иә, егер барар жер клиенті оны түсінсе | Профильдегі қарапайым мәтін |
| CA сертификаты және хост атын тексеру | Әдетте | Ашық материал, бірақ хост аты сертификатқа сай болуы керек |
| Клиент сертификаты | Иә, егер ол әр құрылғыға байланбаған болса | Сертификаттар тасымалданады; қанша құрылғы біреуін қолдана алатынын беруші шешеді |
| Жеке кілт | Тек Keystore-дан тыс жасалған болса | Аппараттық қорғалған кілттерді экспорттауға болмайды, тек ауыстыруға болады |
| Аккаунт, MFA, SSO сессиясы | Жоқ | Токендер мерзімі бітеді және оларды алған құрылғыға байланып қалады |
| Маршруттар, DNS және қолданба аумағы | Тек конфигурация мәтіні ретінде | Android оларды қосылу кезінде VpnService.Builder арқылы қолданады |
| Бөлінген туннель қолданбалар тізімі | Сирек | Пакет атаулары құрылғылар арасында ерекшеленеді, ал тізім клиент күйі |
Екі жол шатасудың көбін тудырады. Құрылғыда жасалған және экспортталмайтын деп белгіленген кілт қолданба деректерімен бірге шынымен жоғалады, сондықтан алмастыру — жаңа кілт және оған берілген сертификат. Жаңа телефонға көшірілген сессия токені әдетте бірінші жаңартуда өледі, бұл сәтсіз импорт ретінде оқылады.
Импорт — талдау, содан кейін келісім сұрауы
Қабылдаушы жақта импорт — талдау, одан кейін жазба. Клиент конфигурацияны оқиды, әр сілтелген блоктың бар екенін тексереді, содан кейін туннель анықтамасын өз sandbox-ына жазады, сондықтан Жүктеулерден таңдаған файл кейін қосылатын нәрсе емес.
Содан кейін ешбір файл өтіп кете алмайтын авторизация қадамы келеді. Android туннель орнатпас бұрын қолданба VpnService.prepare() шақырып, сіздің келісіміңізді алуын талап етеді, сондықтан жаңа импортталған профиль жүйе диалогын тағы бір рет көрсетеді. Содан кейін туннель addAddress, addRoute, addDnsServer және әр қолданба бойынша маршруттау үшін addAllowedApplication немесе addDisallowedApplication арқылы анық салынады. Оның ешқайсысы соңғы нүктеден туындамайды, сондықтан бір профиль екі клиентте әртүрлі тиімді маршруттар жиынын бере алады.
Сертификатқа негізделген конфигурациялар тағы бір тармақ қосады. Сервер нақты құрылғыға сертификат бергенде, MDM және SCEP тіркелуі жасайтындай, оны екінші телефонда қайта пайдалану сервер әрбір сәйкестікке бір сессия талап еткенге дейін жұмыс істейді немесе TLS қол алысуында сәтсіз аяқталады. Қайта пайдалануды жоспарламас бұрын берушінің саясатын тексеріңіз.
Ескіні қызметтен шығармас бұрын жаңа құрылғыны тексеріңіз
Жаңа телефон жасыл белгішеден жақсырақ нәрсені өтпейінше ескі телефонды қосылған күйде ұстаңыз. Жаңа құрылғыдан шығу мекенжайын және ол нақты пайдаланған DNS шешушісін растаңыз. Егер split tunneling маңызды болса, туннельді айналып өтуі тиіс қолданбаны және өтпеуі тиіс қолданбаны іске қосып, қайсысы провайдеріңізге жететінін қараңыз.
Бір тексеру шығу мекенжайын шешеді. Телефон браузерінде https://ifconfig.me ашыңыз, содан кейін сол Wi-Fi-дағы ноутбуктен curl -s https://ifconfig.me іске қосып, екі жауапты провайдеріңіз берген мекенжаймен салыстырыңыз.
Сонда ғана ескі сәйкестікті қызметтен шығарыңыз, және мұны беруші арқылы жасаңыз: сертификатты кері қайтарыңыз немесе құрылғыны аккаунттан жойыңыз. Жүктеулерден файлды жою ештеңені аяқтамайды, өйткені бір сертификатты ұстаған екі құрылғы сервер журналында бірдей көрінеді.
Егер экспорт тасымалданбайтын болып шықса, шешім — жария конфигурация бумасы емес, жаңа тіркелу. Екінші құрылғыға профиль сұраңыз немесе жаңа телефонда кілт жұбын жасап, CSR тапсырыңыз; баяуырақ, және бұл беруші қолдайтын жол.
Бірдеңені жоймас бұрын тексеру тізімін өткізіңіз: жаңа құрылғы қосылады, шығу мекенжайы мен DNS сәйкес келеді, әр қолданба аумағы өзіңіз ойлағандай, ескі сәйкестік кері қайтарылған және сақталған кез келген конфигурация файлы шифрланған қоймада.