Herbegin die app, vra die bestuurder om verbindingstatus, en dit rapporteer ontkoppel terwyl die stelselkieslys duidelik 'n lewendige tonnel wys. Of 'n stoor-oproep gee 'n fout terug wat niks verduidelik nie, of 'n gedeelde geheim word as vermis verklaar sekondes nadat dit toegeken is. Drie simptome, een meganisme: die bestuurder is 'n aansig op 'n stelselbergplek, en 'n aansig lees leeg totdat iemand dit laai.

Voordat jy enige van dit ontfout, besluit watter API jy veronderstel is om te gebruik. 'n Stelsel-IPsec- of IKEv2-tonnel pas by die ingeboude bestuurder; 'n protokol wat die stelsel nie implementeer nie, benodig 'n tonnelverskaffer met jou eie pakketbehandeling, en geen kombinasie van velde verander dit nie.

Die bestuurder is 'n aansig op 'n bergplek

Skep of haal die bestuurder, vra dit om sy voorkeure te laai, en laat die voltooiingshandler klaarmaak voordat jy status lees of protokolinstellings verander. Nommer die gestoorde konfigurasies met die alle-variante-oproep wanneer dit die taak is, eerder as om 'n enkele instansie vir twee doeleindes te hergebruik. Voordat die laai land, is status tipies ongeldig, en om ongeldig as af te interpreteer is juis die fout wat 'n app verkeerd laat lyk net ná 'n herbegin.

Skryf volg dieselfde volgorde. 'n Stoor wat probeer word op 'n bestuurder wat nooit iets gelaai het nie, kan misluk sonder 'n nuttige boodskap, want daar is geen gestoorde identiteit waarop die verandering van toepassing kan word nie. Laai, wysig, stoor en lees dan weer status. Die objek wat die stelsel verbind, is die gestoorde profiel, nie die een wat jy in die geheue geredigeer het nie.

Statusveranderinge kom net terwyl jy kyk

Sodra voorkeure gelaai is, beweeg status deur ontkoppel, koppel tans, gekoppel, herbevestig en ontkoppel tans. Initialiseer die koppelvlak uit een lesing en luister dan vir die veranderingskennisgewing eerder as om op 'n tydhouer te peil. Peiling werk in die voorgrond en lieg in die agtergrond, dit is hoe programme eindig met 'n draaier wat nooit oplos nie.

Kennisgewings kom net terwyl die app in die voorgrond is. Enigiets wat toestand in die agtergrond handhaaf, sal verouderd lyk ná 'n herbegin, so hernu by bekendstelling en weer wanneer die app na die voorgrond terugkeer. As 'n verskaffer die tonnel besit, dryf dit deur die ooreenstemmende sessie-objek; die gewone verbinding-eienskap modelleer nie 'n verskaffer se lewensiklus nie.

Geheime is verwysings, nie stringe nie

'n Gerapporteerde vermiste gedeelde geheim beteken selde dat niemand een toegeken het nie. Die protokolobjek wil 'n verwysing hê: een vir die gebruikerswagwoord en een vir die IPsec-voorafgedeelde sleutel. Om nul te stuur, of 'n verwysing afgelei van die verkeerde sleutelringinskrywing, lewer dieselfde klag as 'n leë gleuf. Die fout noem die simptoom en verberg die oorsaak, daarom voer mense dieselfde geheim verskeie kere weer in.

Skryf die geheim eers as 'n generiese wagwoorditem en lees dan 'n blywende verwysing daarheen terug. 'n Blywende verwysing oorleef herbegin, anders as 'n wyser in die geheue, en dit is die voorstelling wat die profiel serialiseer. Kies 'n toeganklikheidsklas wat steeds toegang toelaat sodra die toestel ontsluit is, anders sal 'n tonnel wat op 'n geslote skerm moet herkoppel, verifikasie faal met 'n heeltemal geldige geheim.

Die uitbreiding het sy eie sleutelring-aansig

'n Netwerkuitbreiding is 'n aparte proses, so die app se verstek-sleutelringtoegang bereik dit nie. Gee beide teikens dieselfde sleutelringtoegangsgroep in hul magtigings, stoor die item een keer binne daardie groep, en laat elke proses dit lees. Sonder die groep vind die uitbreiding niks en rapporteer 'n geloofwaardigheidsfout wat die app nie kan reproduseer nie.

As die verskaffer deur sy verskafferkonfigurasie-objek gekonfigureer word, moet jy nie ook die geheim binne die app inbed nie. Twee kopieë dryf uitmekaar, en die afwyking lyk soos slegte geloofsbriewe eerder as duplisering. 'n Widget of 'n tweede proses wat 'n ander toestand rapporteer, het dieselfde verklaring: elkeen het die groep nodig, en elkeen moet voorkeure laai voordat dit lees.

Pas die API by die protokol

Die ingeboude bestuurder dra IPsec- en IKEv2-protokolobjekte. Dit word nie deur bykomende velde 'n generiese SSL VPN-kliënt nie, en 'n wanpaslike profiel kan skoon stoor en steeds nooit koppel nie. Besluit in watter kategorie jy is voordat jy status ondersoek, want 'n statusfout en 'n onondersteunde protokol lyk van buite identies.

Vir die volgende herbegin is die kontrolelys kort: laai voorkeure, lees status, hou veranderinginskrywings in die voorgrond, herbou verwysings uit die gedeelde groep, en bevestig dat die protokolobjek by die API pas wat jy geïmplementeer het. Om daardie lys te loop neem 'n minuut; om daaroor te raai neem 'n middag.

Verwante artikels