APIanna VPN ar iOS: NEVPNManager, soláthraí tolláin nó próifíl?
Roghnaigh an API de réir an iompair a chaithfidh tú a labhairt, ansin cruthaigh go n-iompraíonn an tollán trácht: ord sábháil, luchtaigh, tosaigh, ceadanna an tsoláthraí agus rialacha ar éileamh.
Freagraíonn trí tháirge éagsúla don ainm VPN ar iOS, agus ní roinneann siad an API céanna. Ritheann VPN pearsanta ar na hiompróirí IPsec agus IKEv2 ionsuite sa chóras. Ritheann tollán saincheaptha do phrótacal féin laistigh de shíneadh líonra. Agus cumraíonn próifíl chumraíochta ceachtar acu agus féadann sé iompar ar éileamh a chur leis. Tá roghnú de réir an iompair a chaithfidh tú a labhairt níos tapúla ná roghnú de réir cibé teagasc a tiomsaíodh ar dtús.
Rith na seiceálacha thíos in ord, mar ghlacann gach céim leis gur tháirg an ceann roimhe cumraíocht bhailí.
Céim 1: roghnaigh de réir an iompair
Má tá an freastalaí IKEv2 nó IPsec ar stíl Cisco, is leor NEVPNManager agus tagann iompróirí an chórais saor in aisce. Má labhraíonn an freastalaí OpenVPN, WireGuard nó aon rud eile, ní féidir le NEVPNManager cabhrú: níl crúca ar bith aige do phrótacal tríú páirtí. Teastaíonn NETunnelProviderManager ón gcás sin le soláthraí tolláin phaicéad a chuireann an prótacal i bhfeidhm. Ní dháileann próifíl ach cumraíocht, agus ní féidir léi iompróir nach bhfuil ag an gcóras oibriúcháin a chur leis.
Ní sprioc é PPTP ar chórais reatha. Bíonn IPsec le rún comhroinnte fós ag súil le hainm an ghrúpa in remoteIdentifier, le mír eochairfháinne a choinníonn an rún, agus le fíordheimhniú sínte nuair a iarrann an freastalaí ainm úsáideora. Tagann gach píosa atá ar iarraidh chun solais mar an earráid chumraíochta ghinearálta chéanna, mar sin cuir leo go léir sula ndéanann tú dífhabhtú ar aon rud eile.
Céim 2: cloí leis an ord sábháil, luchtaigh, tosaigh
Scríobhann NEVPNManager chuig na roghanna, léann sé ar ais iad agus ní thosaíonn sé ach ansin. Líon na réada prótacail agus bainisteora, glaoigh ar saveToPreferences, glaoigh ar loadFromPreferences agus glaoigh ar startVPNTunnel ó láimhseálaí críochnaithe an luchtaithe. Má thosaíonn tú sula bhfilleann an luchtaithe, cruthaítear earráid chumraíochta neamhbhailí, cód 1 i NEVPNErrorDomain, ar chumraíocht atá ceart ar bhealach eile.
Tá an chruth gearr go leor le coinneáil in aon áit amháin:
manager.protocolConfiguration = proto
manager.isEnabled = true
manager.saveToPreferences { }
manager.loadFromPreferences { manager.connection.startVPNTunnel() }
Filleann startVPNTunnel nuair a ghlactar leis an iarratas, ní nuair a bhíonn an tollán suas. Breathnaigh ar NEVPNStatusDidChange agus léigh connection.status don fhíorstaid. Aip a ghlacann le rath ag an láthair ghlao tuairiscíonn sí VPN ceangailte agus an síneadh fós ag idirbheartú. Tá staid cheangail normálta ar feadh nóiméid; is í an staid nach bhfágann riamh í an mhainneachtain is fiú a logáil.
Céim 3: tabhair don phróiseas soláthraí an méid a theastaíonn uaidh
Ritheann iompróir saincheaptha i bpróiseas ar leith lena aitheantóir beartáin féin agus lena chead féin. Teastaíonn cead síneadh líonra ón aip choimeádáin agus ón soláthraí araon agus iad ag síniú, agus caithfidh tógáil Developer ID lasmuigh den App Store é a iompar sa phróifíl soláthair fós. Breathnaíonn cead atá ar iarraidh cosúil le fabht prótacail mar ní thosaíonn an síneadh ar chor ar bith.
Níl aon tuairisceoir soicéid phoiblí le fuáil. Tugann NEPacketTunnelProvider NEPacketTunnelFlow duit le read, write agus cancel, agus briseann cód a shroicheann cosáin eochrach príobháideacha idir eisiúintí. Leanann an soláthraí ar aghaidh ag rith agus an aip sa chúlra, mar sin ní theastaíonn aon mhód cúlra ón gcoimeádán chuige sin.
Céim 4: is tacar rialacha é ar éileamh, ní lasc
Ní armálann isOnDemandEnabled ach na rialacha; cinneann NEOnDemandRuleConnect agus a dheartháireacha cathain a thagann an tollán aníos. Níl i rialáil mheastóireachta ceangail le URL promha ach an oiread atá sa URL sin. Má fhreagraíonn an promhadh gan an tollán, measann an riail go bhfuil an líonra príobháideach sroichte cheana agus ní cheanglaíonn sé riamh, mar sin díreálaigh chuig rud nach bhfreagraíonn ach ón taobh istigh é.
Is gealltanas ar leith é an siúl-i-gcónaí. Teastaíonn gléas faoi mhaoirseacht agus próifíl bhainistithe uaidh, agus féadann úsáideoir gan mhaoirseacht próifíl a bhaint amach am ar bith is mian leis. Ná seol dearadh atá ag brath ar shiúl-i-gcónaí mura bhfuil an cabhlach faoi mhaoirseacht.
Céim 5: cruthaigh an cosán, ní an lipéad
Cruthaíonn scanadh ar chomhéadain tun, tap, ppp nó ipsec go bhfuil VPN cumraithe, ní go n-úsáideadh d'iarratas é. Deir NWPathMonitor le usesInterfaceType(.other) go bhfuil comhéadan fíorúil ar fáil, agus féadann láimhseálaí inmharthanachta óstach amháin a thástáil. Ní chruthaíonn ceachtar acu an cosán amach, mar sin cuir le chéile iad le hiarratas ar acmhainn nach féidir ach leis an tollán a shroicheadh. Is áis dhiagnóiseach iad ainmneacha comhéadain, riamh ní geata ar cheart do loighic an aipe brainse a dhéanamh air.
Le seiceáil allamuigh, déan comparáid idir an seoladh poiblí le agus gan an tollán agus faigh leathanach atá inmheánach amháin. Féadann glao staid tuairisciú go bhfuil sé ceangailte agus an soláthraí ag idirbheartú, mar sin lig do thoradh na hacmhainne cinneadh a dhéanamh agus caith leis an staid mar fhianaise thacúil.