VPNден кийинки тапшырмаларды if-up эмес, диспетчерден иштетиңиз
Эски интерфейс илгичи VPN байланышын көрбөйт. vpn-up'ты профилдин UUID менен дал келтириңиз, тапшырманы кайталануучу кылып кармаңыз жана эч качан иштебей турган ажыратууга даярданыңыз.
VPN көтөрүлгөндөн кийин иштеши керек болгон скриптке байланышты ээлеген компоненттен окуя керек. Эски тармактык илгичтер папкасына салынган файл NetworkManager, pppd же өзүнчө OpenVPN процесси түзө ала турган ар бир VPN үчүн кері чакыруу эмес. Бул ээлердин ар бири башка чөйрө менен башка окуяны билдирет, ошондуктан илгич тандалганга чейин ээсин аныктоо керек. Болбосо скрипт туура жана жөн эле эч качан иштебейт.
NetworkManager башкарган VPN үчүн диспетчер туура жер, ал эми vpn-up туура аракет.
Интерфейс окуясын эмес, vpn-up'ты колдонуңуз
Диспетчер up менен vpn-up'ды айырмалайт. Биринчиси активдештирилген интерфейсти билдирет; экинчиси активдештирилген VPN байланышын билдирет. Wi-Fi көтөрүлүшү жөн гана астындагы байланыш бар экенин билдирет; туннель дагы эле сүйлөшүп жаткан болушу мүмкүн, же эч качан аутентификацияланбашы мүмкүн.
Скрипт интерфейс менен аракетти алат, ал эми байланыштын деталдары чөйрө аркылуу келет, анын ичинде профилдин UUID жана VPN'дин IP интерфейси. Идентификацияны түзмөк аттарынан божомолдоонун ордуна ошол өзгөрмөлөрдү окуңуз.
Дал келүүнү бир байланыш менен чектеңиз
Байланыштын UUID же диспетчер берген башка идентификация боюнча дал келтириңиз, tun префикси же ppp0 боюнча эмес. Интерфейс аттары туруктуу эмес, бир убакта бирден ашык туннель болушу мүмкүн, жана эки профиль бирдей көрсөтүлүүчү атты алып жүрүшү мүмкүн. tun префиксине дал келтирүү скрипттин акырында эч ким тийүүнү ойлогон эмес байланыш үчүн иштээрин билдирет. Кайра туташуу түзмөктү кайра куруганда ал бир профиль үчүн эки жолу да иштеши мүмкүн.
Тапшырманы идемпотенттик кылыңыз. Ар бир чакырууда маршрут кошкон кері чакыруу акырында таблицаны көчүрмөлөр менен толтурат, жана дал экинчи көчүрмө маршруттоону бузат.
Активдештирүү эмнени далилдебей турганын билиңиз
vpn-pre-up NetworkManager VPN толук активдешкенин билдиргенге чейин иштейт, жана менеджер ошол скрипттерди күтөт. Бөгөттөөчү баскычты тапшырма чынында ошол жерге таандык болгондо гана колдонуңуз, анткени жай текшерүү бардык башка компоненттер көрүүнү күткөн активдештирүүнү кечиктирет.
Маршруттардын болушу колдонмонун угуп жатканын, жеке ат чечилип жатканын же колдонуучу сессиясы бар экенин далилдебейт. Аларды өзүнчө чектелген убакыт менен текшериңиз, жана бүт чынжырды кайра сынагандын ордуна кайсы катмар ийгиликсиз болгонун билдириңиз.
Скрипт иштеген контекстти сыйлаңыз
Диспетчердин скрипттери root катары, каалаган колдонуучу сессиясынын сыртында иштейт. Кирген колдонуучунун чөйрөсү, графикалык сессиясы же ачылган ачкыч шакеги жеткиликтүү деп ойлобоңуз. Эч ким жумуш үстөлүнүн контексти жоктугуна ар бир каттоо маалыматын ар бир процесс үчүн окулуучу кылып жооп бербеши керек. Колдонуучу сессиясынын ишин колдонуучу кызматында же кері чакыруу колдонуучуну окшоштурбастан сигнал бере алган сессия жардамчысында кармаңыз.
Скриптке ээлик жана укуктар да маанилүү. root катары аткарылган жана каалаган колдонуучу алмаштыра алган файл артыкчылыктарды көтөрүү жолу, жана бул VPN логикасынын тууралыгына көз каранды эмес тыянак.
Эч качан иштебей турган ажыратууга даярданыңыз
NetworkManager vpn-pre-down күтүлбөгөн токтотуу же байланыш жоготуу сыяктуу мажбурлап ажыратууларда чыгарылбай турганын документтейт. Ошондуктан жумшак pre-down айланасында гана курулган тазалоо түзүлүшү боюнча толук эмес. Скрипт өзгөрткөн ар кандай жалпы абалдын, кыйроодон кийин калыбына келтире алган башка ээси болушу керек, жана бул калыбына келтирүү жолу божомол эмес, сыноодон өтүшү керек.
Илгичти кадимки туташуу, кайра туташуу, атайын ажыратуу жана суурулган кабель менен сынап көрүңүз. Купуя маалыматты жазбастан UUID, аракет жана иштеген интерфейсти жазып алыңыз. Ошол жазуу илгичтин сиз көздөгөн байланыш үчүн иштегенин тастыктаган жалгыз ишенимдүү далил, жана кийинки өзгөртүүнү коопсуз кылган да ошол.