VPN miris pēc miega: pazudis tunelis vai novecojusi lietotne?
Atjaunots Wi-Fi nenozīmē, ka tunelis ir atgriezies. Salīdziniet trīs stāvokļus pēc pamošanās: saskarni, aktivizēšanu un lietotnes sesiju.
Vāks atveras, bezvadu ikona atgriežas, un VPN joprojām tiek rādīts kā pievienots. Tad pirmā iekšējā lapa karājas, līdz beidzas laiks, un jauna cilne dara to pašu. Šo ainu var radīt trīs dažādas lietas, un tām vajadzīgi trīs dažādi labojumi: tunelis, kas nepārcieta miegu, profils, kuru neviens nelūdza aktivizēt no jauna, vai lietotne, kas joprojām tur sesiju, kura nomira pirms vairākām stundām. Tos salīdzināt ir ātrāk nekā kaut ko pārinstalēt.
Pēc pamošanās var sabojāties trīs lietas
Pirmais kandidāts ir pats tunelis. Saskarne var joprojām pastāvēt ar adresi, kamēr saikne ar partneri ir zudusi, tāpēc indikatora gaisma nav pierādījums strādājošam ceļam. Vecāka par miegu roku apmaiņa ir pazīme, un tās apskatei pietiek ar vienu komandu.
Otrais ir aktivizēšana. Daudzi klienti pieslēdzas atkal paši; daži ne, un profils, kuru neviens nelūdz atgriezties, vienkārši sēž un izskatās konfigurēts. Šī kļūme ir klusa pēc dizaina, jo nekas neziņoja par kļūdu.
Trešais ir lietotne. Pārlūka cilne, SSH sesija vai datubāzes savienojums var pārdzīvot tīkla maiņu kā faila deskriptors, kamēr transportēšana zem tā ir mirusi. Tad jauna sesija darbojas nevainojami, kas jums saka, ka tunelis visu laiku bija kārtībā.
Salīdziniet visus trīs pirms kaut ko mainīt, jo labojumi nepārklājas. Klienta, kuru nekad nav lūgts startēt no jauna, restartēšana izšķiež vajadzīgos pierādījumus. Pierakstiet, kuram kandidātam atbilst simptoms, pirms pieskaraties konfigurācijai. Šis viens teikums parasti izšķir pārējo izmeklēšanu.
Pirmkārt: vai tunelis atgriezās?
Skatieties uz saskarni un partnera stāvokli, nevis uz klienta statusa tekstu. Saskarne ar adresi un bez svaigas roku apmaiņas ir tunelis, kas pastāv tikai nosaukumā.
ip -brief addr show wg show ip route show table all | head -20
Ja saskarnes vispār nav, tunelis nepārcieta un rodas jautājums, kam tas bija jāatgriež. Ja tā ir, bet roku apmaiņa ir veca, saikne ar partneri jāatjauno, un klients varbūt gaida datplūsmu, kas to iedarbinās.
Pārbaudiet arī maršrutus un DNS konfigurāciju. Tunelis var atgriezties bez saviem maršrutiem, kas rada mulsinošo stāvokli, kad saskarne darbojas un iekšējie nosaukumi joprojām tiek atrisināti caur nepareizo serveri.
Otrkārt: vai kaut kas lūdza tam atgriezties?
Šeit salīdzinājums attaisno sevi. NetworkManager atšķirīgi apstrādā OpenVPN spraudņa profilu un vietējo WireGuard savienojumu, un savienojuma iestatījumu uzziņa skaidri norāda, ka connection.autoconnect neaktivizē VPN profilus; mehānisms VPN pacelšanai kopā ar savienojumu ir connection.secondaries.
nmcli connection show --active nmcli -f connection.autoconnect,connection.secondaries connection show "Work VPN" journalctl -u NetworkManager -b --no-pager | tail -40
Ja manuāla atkārtota pieslēgšanās problēmu novērš katru reizi, tā ir trūkstošas aktivizēšanas, nevis salauzta tuneļa pazīme. Žurnāls parasti parādīs, kā saskarne nokrīt un nekas to neatgriež.
Pretojieties vēlmei uzreiz pievienot miega āķi. Āķis, kas nostrādā pirms tīkla atlabšanas, sacenšas ar to pašu procesu, kuram cenšas palīdzēt, un pārvērš atkārtojamu problēmu neregulārā.
Treškārt: vai lietotne tur veco stāvokli?
Pirms pieskaraties VPN, atveriet pilnīgi jaunu sesiju uz to pašu galamērķi. Ja jaunā sesija darbojas, bet vecā ne, tunelis ir kārtībā un lietotne tur mirušu savienojumu.
Šī ir lētākā no trim pārbaudēm un visbiežāk izlaistā, jo nokrītošais logs ir tieši ekrānā. Aizveriet to, atveriet vēlreiz un atzīmējiet, vai problēma paliek. Ja jaunā sesija darbojas, pilnībā pārtrauciet tuneļa izmeklēšanu. Ja arī tā neizdodas, lietotne ir simptoms, nevis cēlonis.
Dažas lietotnes pēc laika limita atlabst pašas, tāpēc simptoms var izskatīties pēc dažām minūtēm pats izlabojies. Šāda uzvedība norāda uz lietotni, nevis tuneli, un to ir vērts pierakstīt atsevišķi. Koleģis, kurš saka, ka tas vienkārši pats izlabojās, apraksta šo modeli, nevis veiksmi.
Padariet salīdzinājumu atkārtojamu
Turiet mainīgos mazus: viens piekļuves tīkls, viens miega ilgums un tas pats pirmais pieprasījums katru reizi. Pēc tam reģistrējiet divus rezultātus: vai manuāla atkārtota pieslēgšanās to izlabo un vai vēl viens miegs atgriež kļūmi.
Tieši pēdējais novērojums visuzticamāk atdala trīs kandidātus. Strādājoša jauna sesija pēc neizdevušās vecās nav tuneļa problēma, un nekāda klienta pārinstalēšana to nemainīs.
WireGuard pastāvīgais keepalive šajā ainā pieder tikai kā NAT kartēšanas keepalive. Tas sūta paketes, lai noturētu kartējumu atvērtu; tas neliedz mašīnai aizmigt un nevar turpināt sūtīt, kamēr process ir apturēts.
Pierakstiet biļetē, ko atradāt: kura no trim lietām bija bojāta, kas to izlaboja un kā jūs to atkārtojāt. Nākamais cilvēks, kas pirmdien atvērs vāku, jums pateiksies, un atbilde nebūs jāatklāj no jauna.