Рестартирајте ја апликацијата, прашајте го менаџерот за статусот на врската и тој известува исклучено, додека системското мени јасно покажува активен тунел. Или повикот за зачувување враќа грешка што ништо не објаснува, или заедничка тајна се прогласува за исчезната секунди откако е доделена. Три симптоми, еден механизам: менаџерот е поглед врз системско складиште, а погледот се чита како празен додека некој не го вчита.

Пред да отстранувате грешки во било што од ова, одлучете кој API треба да го користите. Системски тунел IPsec или IKEv2 одговара на вградениот менаџер; протокол што системот не го спроведува бара добавувач на тунел со сопствена обработка на пакети, и ниту една комбинација на полиња не го менува тоа.

Менаџерот е поглед врз складиште

Создајте или земете го менаџерот, побарајте да ги вчита поставките и пуштете го обработувачот за завршување да заврши пред да читате статус или да менувате поставки на протоколот. Кога задачата е да се набројат зачуваните конфигурации, користете го повикот за сите варијанти, наместо да користите една инстанца за две намени. Пред вчитувањето да пристигне, статусот обично е неважечки, и токму претворањето на неважечки во исклучено е грешката поради која апликацијата изгледа погрешно само по рестартирање.

Пишувањето го следи истиот редослед. Обид за зачувување на менаџер што никогаш ништо не вчитал може да не успее без корисна порака, бидејќи нема зачуван идентитет на кој би се применила промената. Вчитајте, изменете, зачувајте, потоа прочитајте го статусот повторно. Објектот на кој системот се поврзува е зачуваниот профил, а не тој што го уредувавте во меморијата.

Промените на статусот пристигнуваат само додека гледате

Откако поставките ќе се вчитаат, статусот поминува низ исклучено, се поврзува, поврзано, повторно потврдува и се исклучува. Иницијализирајте го интерфејсот со едно читање, потоа слушајте го известувањето за промена наместо да анкетирате со тајмер. Анкетирањето работи во преден план и лаже во позадина, и така апликациите остануваат со вртеж што никогаш не се решава.

Известувањата пристигнуваат само додека апликацијата е во преден план. Се што одржува состојба во позадина ќе изгледа застарено по рестартирање, затоа освежете при стартување и повторно кога апликацијата се враќа во преден план. Ако тунелот го поседува добавувач, управувајте со него преку соодветниот објект за сесија; обичното својство за врска не го моделира животниот циклус на добавувачот.

Тајните се референци, не низи

Известувањето за исчезната заедничка тајна ретко значи дека никој не доделил таква. Објектот на протоколот сака референца: една за корисничката лозинка и една за однапред заедничкиот клуч на IPsec. Предавањето nil, или референца изведена од погрешниот запис во приврзокот за клучеви, дава иста жалба како празно поле. Грешката го именува симптомот и го крие причинителот, затоа луѓето ја внесуваат истата тајна неколку пати.

Прво запишете ја тајната како ставка за општа лозинка, потоа прочитајте трајна референца до неа. Трајната референца го преживува рестартирањето, за разлика од покажувач во меморијата, и таа е претставата што профилот ја серијализира. Изберете класа на достапност што дозволува пристап и откако уредот е отклучен, инаку тунел што мора да се поврзе повторно на заклучен екран ќе не успее во автентикацијата со сосема важечка тајна.

Екстензијата има сопствен поглед на приврзокот за клучеви

Мрежната екстензија е одделен процес, така што стандардниот пристап на апликацијата до приврзокот за клучеви не стигнува до неа. Дајте им на двете цели иста група за пристап до приврзокот за клучеви во нивните овластувања, зачувајте ја ставката еднаш во таа група и дозволете секој процес да ја чита. Без групата екстензијата не наоѓа ништо и известува за неуспех на акредитиви што апликацијата не може да го репродуцира.

Ако добавувачот се конфигурира преку својот објект за конфигурација, не вградувајте ја тајната и во апликацијата. Две копии се разидуваат, а разидувањето се појавува како лоши акредитиви, а не како дупликат. Виџет или втор процес што известува за друга состојба го има истото објаснување: секој има потреба од групата и секој мора да ги вчита поставките пред да чита.

Усогласете го API со протоколот

Вградениот менаџер носи објекти за протоколи IPsec и IKEv2. Тој не станува општ SSL VPN клиент преку дополнителни полиња, а несоодветен профил може чисто да се зачува и сепак никогаш да не се поврзе. Одлучете во која категорија сте пред да го истражувате статусот, бидејќи грешка во статусот и неподдржан протокол однадвор изгледаат исто.

За следното рестартирање списокот е краток: вчитајте ги поставките, прочитајте го статусот, држете ги претплатите на промени во преден план, изградете ги референците повторно од заедничката група и потврдете дека објектот на протоколот одговара на API-то што сте го имплементирале. Поминувањето низ тој список трае една минута; погодувањето за него трае цело попладне.

Поврзани статии