Hook ya usingizi pekee haitairejesha VPN
Hook inayotoka na sifuri inathibitisha tu kwamba script iliendeshwa. Iweke baada ya mtandao, tumia utambulisho sahihi na uangalie kama wasifu unafaa.
Weka amri ya kuunganisha tena kwenye hook ya usingizi na tatizo linaonekana limetatuliwa. Linatatuliwa tu ikiwa hook itaendeshwa baada ya mtandao kuwepo, kama utambulisho ambao mteja anautambua, kupitia njia ambayo mteja anaitumia kweli. Kushindwa kwingi baada ya kuamka ni moja ya hizo tatu, na hakuna hata moja inayoonekana kama hitilafu ndani ya hook yenyewe. Hook inarudisha mafanikio hata hivyo.
Script inayotoka na sifuri haikukuambia chochote kuhusu kama handaki ilirudi.
Hook inaendeshwa, kisha nini?
#!/bin/sh
case "$1" in
pre)
vpn-client disconnect
;;
post)
vpn-client connect
;;
esac
Kila tukio huita hook mara mbili, kabla na baada ya mpito, na kuipa awamu na jina la tukio. Inaendeshwa kama root katika mazingira hafifu, kwa hiyo njia kamili zinahitajika na hakuna kigezo cha kikao cha desktop kinachopaswa kutarajiwa. Kurudi haraka kwa miito yote miwili kunasema tu kwamba script iliendeshwa. Kama wasifu uliinuka baadaye ni uchunguzi tofauti na unahitaji ushahidi wake kwenye log.
Chukua hoja ya awamu kama sehemu ya muundo. Jaribio la kuunganisha tena katika awamu ya pre hutokea wakati mashine inakaribia kupoteza kila kitu, na haliwezi kufanikiwa.
Root, mazingira hafifu, mtumiaji asiye sahihi
Ikiwa mteja huhifadhi tokeni ya kuingia kwa kila mtumiaji, kuendesha hook kama root kunamwacha bila chochote cha kuwasilisha. Angalia hali chini ya utambulisho ambao hook inautumia kweli, sio ule uliojaribu kutoka kwenye terminal ya desktop. Baadhi ya build huacha pia daemon inayoshikilia kiolesura baada ya kukatika, kwa hiyo kuunganisha tena kunaangukia katika hali ya kizamani, na kusafisha mchakato kwanza kunarejesha kwa gharama ya kuzima ovyo. Hakuna tabia yoyote kati ya hizo mbili inayoonekana ikiwa unajaribu njia ya furaha pekee.
Andika hook kwa njia kamili, iweke umiliki wa root na inayoweza kuendeshwa, na uandike ilichofanya. Bila log hiyo uchunguzi unaofuata unaanza kutoka sifuri.
Muunganisho wa kiotomatiki sio njia ya VPN
NetworkManager inatoa mifumo miwili ya uanzishaji: bendera ya muunganisho wa kiotomatiki kwenye wasifu, na miunganisho ya pili inayoanza wakati wasifu msingi unaanzishwa. Aina za kifaa asilia hutekeleza ya kwanza; programu-jalizi za VPN kihistoria zimetekeleza ya pili pekee, kwa hiyo kuweka tiki ya muunganisho wa kiotomatiki kwenye wasifu wa OpenVPN kunaweza kusiwe na athari yoyote. Chunguza sifa zote mbili, kisha ambatanisha VPN kama ya pili ya wasifu wa Wi-Fi au Ethernet.
[Unit] PartOf=NetworkManager.service Requires=NetworkManager-wait-online.service After=NetworkManager-wait-online.service
Kiolesura cha WireGuard kinachosimamiwa na kitengo cha systemd kinahitaji drop-in hiyo badala ya hook, iliyopangwa baada ya mtandao kuwa mtandaoni.
Subiri mtandao, ukiwa na kikomo
timer=1 while ! ping -c1 -n -w1 203.0.113.1 >/dev/null; do sleep 1; timer=$((timer+1)) [ $timer -ge 300 ] && exit 0 done nmcli connection up "work-vpn"
Wakati wa kuamka handaki inaweza kuombwa wakati Wi-Fi bado inaunganisha tena, jambo linalofanya usingizi wowote thabiti kuwa dhahania. Subiri anwani inayoweza kufikiwa, kisha inua wasifu, na weka kikomo cha kusubiri ili hook isiweze kushikilia njia ya kuamka wazi bila kikomo. Pendelea jina la wasifu kuliko faharisi ya nambari, na ikiwa wasifu sahihi unatofautiana kwa mtandao, acha handaki yenye afya iandike chaguo lake kwenye faili mapema.
Jikinge pia na dhoruba za kuanzisha upya, kwa kuhesabu majaribio na kusimama. Mlinzi anayejibu kila uchunguzi ulioshindwa hugeuza usumbufu mmoja kuwa mzunguko.
Simamisha kwa muda mara moja, kisha soma jarida kwa pato la hook yenyewe. Hiyo ndiyo jaribio pekee linalothibitisha mpangilio.