Kaj razkrivajo lokalni sistemski dnevniki o povezavi VPN
Operacijski sistem beleži zagone storitev, spremembe adapterjev in napake poti, ki jih aplikacija nikoli ne zapiše. Preberite eno ozko okno in ga povežite.
Vsak namizni računalnik vodi svoj zapis o tem, kaj je VPN počel, izvoz aplikacije pa je običajno najmanj popoln med njimi. Upravitelji storitev beležijo, kdaj se je enota zagnala, jedro beleži, kdaj se je pojavil vmesnik, omrežni sklad pa beleži, kdaj poti ni bilo mogoče uporabiti. Noben od teh mehanizmov ne ve, kaj je odjemalec nameraval, in odjemalec ne ve, kaj je jedro storilo z njegovo zahtevo.
Branje enega takega zapisa izolirano vodi v napačen sklep. Preberite dva, iz iste minute, in zaporedje postane vidno.
Trije mehanizmi s tremi slovarji
V Linuxu dnevnik systemd zajame sporočila življenjskega cikla enote iz wg-quick@wg0 ali vtičnika VPN NetworkManagerja, obročni medpomnilnik jedra pa nosi sporočila o vmesnikih in usmerjanju. V Windowsu dnevnik dogodkov razdeli zgodbo med ponudnike sistema, WLAN in oddaljenega dostopa, vsak s svojimi identifikatorji. V macOS združeni dnevnik nosi sporočila, omejena na podsistem, ki jih grafična Console prikaže le delno.
Slovarji se ne prevajajo. Identifikator dogodka z ene platforme na drugi ne pomeni ničesar, posnetek zaslona pogovornega okna Windows pa ne dokaže ničesar o enoti Linux.
Skupno vsem trem je časovni žig, vir in resnost, in prav ta trojica omogoča korelacijo med dnevnikom odjemalca in zapisom operacijskega sistema. Tudi razpoložljivost se razlikuje: vsebnik brez dnevnika, okrnjena slika Windows ali raven beleženja, znižana pri gradnji, lahko skrijejo celotno plast.
| 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 |
Kaj povezana vrstica dokazuje in česa ne
Dogodek zagona storitve zabeleži, da je bila lokalna enota pozvana k zagonu in da se ni takoj končala. Ne zabeleži dokončanega rokovanja, veljavnega ključa partnerja ali delujoče poti. Da bi to vrstico imeli za dokaz tunela, je najpogostejše napačno branje teh dnevnikov. Vrstica dokazuje namero in stanje procesa, o dosegljivosti pa prav ničesar.
Stanje posredovanja je ločeno opazovanje in prihaja iz usmerjevalne tabele, ne iz kakšnega dnevnika.
Dogodek adapterja lahko pojasni tih neuspeh: vmesnik se je dvignil, naslov je bil dodeljen, poti pa niso bile nikoli nameščene, ker jih je pravilo politike zavrnilo. V tem zaporedju je vsaka vidna vrstica videti zdrava, medtem ko se nič ne usmerja, in edini način, da to vidite, je primerjava časovnih žigov dnevnika z usmerjevalno tabelo v istem trenutku. Imate lastno zaporedje dogodkov odjemalca ob obeh, ker je odjemalec edini vir, ki ve, kaj je zahteval. Dve dejstvi, ki ju potrebujete skupaj, se skoraj nikoli ne pojavita v isti vrstici.
Poznejše ponovno povezovanje prepiše zanimivi del te slike, zato zajemite okno ob prvi napaki in ne šele po treh poskusih.
Povežite ozko okno
Zabeležite čas poskusa z njegovim časovnim pasom in nato izvlecite nekaj minut okoli njega. Prva napaka v oknu skoraj vedno nastopi pred vrstico prekinitve, ki jo navajajo zahtevki za podporo.
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"'
Vsak ukaz odgovarja na drug del vprašanja: prvi da življenjski cikel, drugi stanje posredovanja, tretji omrežni podsistem macOS. V Windowsu filtrirajte sistemski dnevnik po imenu ponudnika, namesto da bi drseli skozi cel kanal, in izvozite le ustrezne dogodke.
Izvleček naj bo dovolj majhen, da mu bralec lahko sledi. Okno dvajsetih minut s štirimi pomembnimi dogodki podpira sklep; izvoz za cel dan s tisoči vrstic ne podpira ničesar.
Kje se ti zapisi ustavijo
Lokalni zapisi opisujejo napravo, ne poti. Ne morejo pokazati, kaj je ponudnik shranil, ali je bila seja povezana z računom ali kaj je videla ciljna točka. Izjava ponudnika, da ne vodi dnevnikov, ne pove ničesar o operacijskem sistemu na vašem prenosniku, lokalni dogodek pa ne dokaže ničesar o zgodovinskih zapisih ponudnika.
Nosijo tudi več osebnih podatkov, kot bi pričakovali: uporabniška imena, imena gostiteljev, priklopne poti in identifikatorji naprav se pojavljajo v običajnih sistemskih sporočilih, tudi kadar ni nobene vsebine brskanja. Odstranite jih, preden kar koli priložite zahtevku, izvirnik pa hranite pod običajnim nadzorom dostopa.
Na upravljani napravi zaprosite IT za ustrezen izvleček, namesto da bi poskušali izbrisati organizacijsko beleženje. Diagnostični cilj je eno ozko vprašanje, na katero odgovorita dva vira, ne popolna zgodovina stroja.