Ką vietiniai sistemos žurnalai atskleidžia apie VPN ryšį
Operacinė sistema fiksuoja paslaugų paleidimus, adapterių pokyčius ir maršrutų klaidas, kurių programa niekada neužrašo. Perskaitykite vieną siaurą laiko intervalą ir jį susiekite.
Kiekvienas darbalaukis tvarko savo įrašą apie tai, ką darė VPN, ir programos eksportas paprastai būna pats nepilniausias iš jų. Paslaugų tvarkyklės pažymi, kada vienetas paleistas, branduolys pažymi, kada pasirodė sąsaja, o tinklo stekas pažymi, kada maršrutų pritaikyti nepavyko. Nė viena iš šių priemonių nežino, ką ketino klientas, o klientas nežino, ką branduolys padarė su jo užklausa.
Vieno tokio įrašo skaitymas atskirai kviečia prie neteisingos išvados. Perskaitykite du, iš tos pačios minutės, ir seka tampa matoma.
Trys priemonės su trimis žodynais
Linux sistemoje systemd žurnalas pagauna vieneto gyvavimo ciklo pranešimus iš wg-quick@wg0 arba NetworkManager VPN įskiepio, o branduolio žiedinis buferis neša sąsajos ir maršrutizavimo pranešimus. Windows sistemoje įvykių žurnalas padalija istoriją sisteminiams, WLAN ir nuotolinės prieigos teikėjams, kiekvienas su savo identifikatoriais. macOS sistemoje suvienytas žurnalas neša posistemiu apribotus pranešimus, kuriuos grafinė Console rodo tik iš dalies.
Žodynai neverčiami. Vienos platformos įvykio identifikatorius kitoje nieko nereiškia, o Windows dialogo ekrano kopija nieko neįrodo apie Linux vienetą.
Tai, ką visi trys turi bendra, yra laiko žyma, šaltinis ir svarbumas, ir būtent šis trejetas leidžia susieti kliento žurnalą su operacinės sistemos įrašu. Prieinamumas taip pat skiriasi: konteineris be žurnalo, apkarpytas Windows atvaizdas arba kompiliavimo metu sumažintas žurnalo lygis gali paslėpti visą sluoksnį.
| Facility | What it records | What it cannot show |
|---|---|---|
| systemd journal | Unit start and stop, helper output, exit status | Whether packets actually reached the peer |
| Kernel and netlink | Interface creation, address assignment, route changes | Why the client asked for that configuration |
| Windows event log | Provider-specific connection and adapter events | Anything the provider chose not to log |
Ką įrodo prijungta eilutė, o ko ne
Paslaugos paleidimo įvykis įrašo, kad vietinio vieneto buvo paprašyta paleisti ir kad jis neiškart pasitraukė. Jis neįrašo užbaigto rankos paspaudimo, galiojančio partnerio rakto ar veikiančio maršruto. Laikyti šią eilutę tunelio įrodymu yra dažniausias šių žurnalų neteisingas skaitymas. Eilutė įrodo ketinimą ir proceso būseną, ir visiškai nieko apie pasiekiamumą.
Persiuntimo būsena yra atskiras stebėjimas, ir ji ateina iš maršrutų lentelės, o ne iš kokio nors žurnalo.
Adapterio įvykis gali paaiškinti tylų gedimą: sąsaja pakilo, adresas buvo priskirtas, o maršrutai niekada nebuvo įdiegti, nes politikos taisyklė juos atmetė. Toje sekoje kiekviena matoma eilutė atrodo sveika, nors niekas nemaršrutizuojama, ir vienintelis būdas tai pamatyti yra tuo pačiu metu palyginti žurnalo laiko žymas su maršrutų lentele. Laikykite kliento pačio įvykių tvarką šalia abiejų, nes klientas yra vienintelis šaltinis, kuris žino, ko paprašė. Du faktai, kurių reikia kartu, beveik niekada neatsiranda toje pačioje eilutėje.
Vėlesnis pakartotinis prisijungimas perrašo įdomią šio vaizdo dalį, todėl užfiksuokite intervalą per pirmąjį gedimą, o ne po trijų bandymų.
Susiekite siaurą intervalą
Užrašykite bandymo laiką su jo laiko juosta, tada ištraukite kelias minutes aplink jį. Pirmoji intervalo klaida beveik visada yra prieš atsijungimo eilutę, kurią cituoja palaikymo bilietai.
journalctl -u wg-quick@wg0 --since "today 09:00" --until "today 09:20" ip route show table all | grep wg0 log show --last 20m --predicate 'subsystem == "com.apple.network"'
Kiekviena komanda atsako į skirtingą klausimo dalį: pirmoji duoda gyvavimo ciklą, antroji persiuntimo būseną, trečioji macOS tinklo posistemį. Windows sistemoje filtruokite sistemos žurnalą pagal teikėjo pavadinimą, o ne slinkite visą kanalą, ir eksportuokite tik atitinkančius įvykius.
Laikykite ištrauką pakankamai mažą, kad skaitytojas galėtų ją sekti. Dvidešimties minučių intervalas su keturiais svarbiais įvykiais pagrindžia išvadą; visos dienos eksportas su tūkstančiais eilučių nepagrindžia nieko.
Kur šie įrašai baigiasi
Vietiniai įrašai apibūdina įrenginį, o ne kelią. Jie negali parodyti, ką teikėjas išsaugojo, ar sesija buvo susieta su paskyra, ar ką pamatė paskirties vieta. Teikėjo pareiškimas, kad jis nelaiko žurnalų, nieko nesako apie jūsų nešiojamojo kompiuterio operacinę sistemą, o vietinis įvykis nieko neįrodo apie istorinius teikėjo įrašus.
Jie taip pat neša daugiau asmens duomenų, nei tikimasi: naudotojų vardai, pagrindinių kompiuterių vardai, prijungimo keliai ir įrenginio identifikatoriai atsiranda įprastuose sistemos pranešimuose net tada, kai nėra jokio naršymo turinio. Pašalinkite juos prieš ką nors pridėdami prie bilieto, o originalą laikykite įprastos prieigos kontrolės sąlygomis.
Valdomame įrenginyje paprašykite atitinkamos ištraukos iš IT, o ne bandykite išvalyti organizacijos žurnalus. Diagnostinis tikslas yra vienas siauras klausimas, į kurį atsako du šaltiniai, o ne visa mašinos istorija.