Ko vietējie sistēmas žurnāli atklāj par VPN savienojumu
Operētājsistēma reģistrē pakalpojumu palaišanu, adaptera izmaiņas un maršrutu kļūdas, ko lietotne nekad neieraksta. Izlasiet vienu šauru logu un saskaņojiet to.
Katra darbvirsma uztur savu ierakstu par to, ko darīja VPN, un lietotnes eksports parasti ir visnepilnīgākais no tiem. Pakalpojumu pārvaldnieki atzīmē, kad vienība tika palaista, kodols atzīmē, kad parādījās saskarne, un tīkla steks atzīmē, kad maršrutus nevarēja piemērot. Neviens no šiem mehānismiem nezina, ko klients izdomāja, un klients nezina, ko kodols izdarīja ar tā pieprasījumu.
Šāda ieraksta lasīšana atsevišķi aicina pie nepareiza secinājuma. Izlasiet divus, no tās pašas minūtes, un secība kļūst redzama.
Trīs mehānismi ar trim vārdnīcām
Linux sistēmā systemd žurnāls uztver vienības dzīves cikla ziņojumus no wg-quick@wg0 vai NetworkManager VPN spraudņa, un kodola gredzena buferis pārvadā saskarnes un maršrutēšanas ziņojumus. Windows sistēmā notikumu žurnāls sadala stāstu starp sistēmas, WLAN un attālinātās piekļuves nodrošinātājiem, katram ir savi identifikatori. macOS sistēmā vienotais žurnāls pārvadā apakšsistēmai ierobežotus ziņojumus, ko grafiskā Console parāda tikai daļēji.
Vārdnīcas netulkojas. Vienas platformas notikuma identifikators citā neko nenozīmē, un Windows dialoga ekrānuzņēmums neko nepierāda par Linux vienību.
Tas, kas visiem trim kopīgs, ir laika zīmogs, avots un smagums, un tieši šis trijnieks padara iespējamu klienta žurnāla un operētājsistēmas ieraksta saskaņošanu. Pieejamība arī atšķiras: konteiners bez žurnāla, apcirpts Windows attēls vai būvēšanas laikā samazināts žurnāla līmenis var paslēpt veselu slāni.
| 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 |
Ko pierāda pievienota rinda un ko ne
Pakalpojuma palaišanas notikums reģistrē, ka vietējai vienībai tika lūgts palaisties un ka tā neizgāja uzreiz. Tas nereģistrē pabeigtu roku paspiešanu, derīgu partnera atslēgu vai strādājošu maršrutu. Uzskatīt šo rindu par tuneļa pierādījumu ir visizplatītākā šo žurnālu nepareizā lasīšana. Rinda pierāda nodomu un procesa stāvokli, un pilnīgi neko par sasniedzamību.
Pārsūtīšanas stāvoklis ir atsevišķs novērojums, un tas nāk no maršrutēšanas tabulas, nevis no kāda žurnāla.
Adaptera notikums var izskaidrot klusu kļūmi: saskarne pacēlās, adrese tika piešķirta, un maršruti nekad netika instalēti, jo politikas noteikums tos noraidīja. Šajā secībā katra redzamā rinda izskatās vesela, kamēr nekas netiek maršrutēts, un vienīgais veids, kā to ieraudzīt, ir tajā pašā brīdī salīdzināt žurnāla laika zīmogus ar maršrutēšanas tabulu. Turiet klienta pašu notikumu secību blakus abiem, jo klients ir vienīgais avots, kas zina, ko tas lūdza. Divi fakti, kas vajadzīgi kopā, gandrīz nekad neparādās vienā rindā.
Vēlāka atkārtota savienošanās pārraksta interesanto šī attēla daļu, tāpēc fiksējiet logu pirmajā kļūmē, nevis pēc trim mēģinājumiem.
Saskaņojiet šauru logu
Pierakstiet mēģinājuma laiku ar tā laika joslu, pēc tam izvelciet tās dažas minūtes ap to. Pirmā kļūda logā gandrīz vienmēr ir pirms atvienošanas rindas, ko citē atbalsta biļetes.
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"'
Katra komanda atbild uz citu jautājuma daļu: pirmā dod dzīves ciklu, otrā pārsūtīšanas stāvokli, trešā macOS tīkla apakšsistēmu. Windows sistēmā filtrējiet sistēmas žurnālu pēc nodrošinātāja nosaukuma, nevis ritiniet visu kanālu, un eksportējiet tikai atbilstošos notikumus.
Turiet izvilkumu pietiekami mazu, lai lasītājs varētu tam sekot. Divdesmit minūšu logs ar četriem būtiskiem notikumiem pamato secinājumu; visas dienas eksports ar tūkstošiem rindu nepamato neko.
Kur šie ieraksti beidzas
Vietējie ieraksti apraksta ierīci, nevis ceļu. Tie nevar parādīt, ko nodrošinātājs saglabāja, vai sesija tika sasaistīta ar kontu, vai ko redzēja galamērķis. Nodrošinātāja apgalvojums, ka tas neglabā žurnālus, neko neizsaka par operētājsistēmu jūsu klēpjdatorā, un vietējais notikums neko nepierāda par nodrošinātāja vēsturiskajiem ierakstiem.
Tie satur arī vairāk personas datu, nekā gaidīts: lietotājvārdi, resursdatoru nosaukumi, montēšanas ceļi un ierīces identifikatori parādās parastos sistēmas ziņojumos pat tad, ja nav nekāda pārlūkošanas satura. Noņemiet tos pirms kaut kā pievienošanas biļetei, un oriģinālu glabājiet parastā piekļuves kontrolē.
Pārvaldītā ierīcē pieprasiet attiecīgo izvilkumu no IT, nevis mēģiniet notīrīt organizācijas žurnālēšanu. Diagnostiskais mērķis ir viens šaurs jautājums, uz kuru atbild divi avoti, nevis pilnīga mašīnas vēsture.