Jokainen työpöytä pitää omaa kirjaansa siitä, mitä VPN teki, ja sovelluksen vienti on yleensä niistä puutteellisin. Palvelunhallinnat merkitsevät, milloin yksikkö käynnistyi, ydin merkitsee, milloin rajapinta ilmestyi, ja verkkopino merkitsee, milloin reittejä ei voitu ottaa käyttöön. Mikään näistä mekanismeista ei tiedä, mitä asiakas aikoi, eikä asiakas tiedä, mitä ydin teki sen pyynnöllä.

Yhden tällaisen kirjauksen lukeminen erikseen houkuttaa väärään johtopäätökseen. Lue kaksi, samalta minuutilta, ja järjestys tulee näkyväksi.

Kolme mekanismia ja kolme sanastoa

Linuxissa systemd-journali kaappaa yksikön elinkaaren viestejä lähteestä wg-quick@wg0 tai NetworkManagerin VPN-liitännäisestä, ja ytimen rengaspuskuri kuljettaa rajapinta- ja reititysviestejä. Windowsissa tapahtumaloki jakaa tarinan järjestelmä-, WLAN- ja etäkäyttötoimittajille, kullakin omat tunnisteensa. macOSissa yhtenäinen loki kuljettaa alijärjestelmään rajattuja viestejä, joita graafinen Console näyttää vain osittain.

Sanastot eivät käänny. Yhden alustan tapahtumatunniste ei tarkoita toisella mitään, eikä Windows-dialogin kuvakaappaus todista mitään Linux-yksiköstä.

Kaikille kolmelle yhteistä on aikaleima, lähde ja vakavuusaste, ja juuri se kolmikko tekee mahdolliseksi asiakaslokin ja käyttöjärjestelmän kirjauksen korreloinnin. Myös saatavuus vaihtelee: kontti ilman journalia, karsittu Windows-levykuva tai rakennusvaiheessa laskettu lokitaso voivat piilottaa kokonaisen kerroksen.

FacilityWhat it recordsWhat it cannot show
systemd journalUnit start and stop, helper output, exit statusWhether packets actually reached the peer
Kernel and netlinkInterface creation, address assignment, route changesWhy the client asked for that configuration
Windows event logProvider-specific connection and adapter eventsAnything the provider chose not to log

Mitä yhdistetty rivi todistaa ja mitä ei

Palvelun käynnistymisen tapahtuma kirjaa, että paikallista yksikköä pyydettiin käynnistymään eikä se lopettanut heti. Se ei kirjaa valmistunutta kättelyä, kelvollista vertaisavainta eikä toimivaa reittiä. Kyseisen rivin pitäminen tunnelin todisteena on näiden lokien yleisin väärinluenta. Rivi todistaa aikomuksen ja prosessin tilan, ja täysin ei mitään saavutettavuudesta.

Edelleenlähetystila on erillinen havainto, ja se tulee reititystaulusta eikä mistään lokista.

Sovittimen tapahtuma voi selittää hiljaisen vian: rajapinta nousi, osoite annettiin, eikä reittejä koskaan asennettu, koska käytäntösääntö hylkäsi ne. Siinä järjestyksessä jokainen näkyvä rivi näyttää terveeltä, vaikka mitään ei reititetä, ja ainoa tapa nähdä se on verrata lokin aikaleimoja reititystauluun samalla hetkellä. Pidä asiakkaan oma tapahtumajärjestys molempien rinnalla, sillä asiakas on ainoa lähde, joka tietää, mitä se pyysi. Ne kaksi tosiasiaa, jotka tarvitset yhdessä, eivät lähes koskaan esiinny samalla rivillä.

Myöhempi uudelleenyhdistäminen kirjoittaa tämän kuvan kiinnostavan osan yli, joten tallenna ikkuna ensimmäisellä vikakerralla eikä vasta kolmen yrityksen jälkeen.

Korreloi kapea ikkuna

Kirjaa yrityksen aika aikavyöhykkeineen ja ota sitten ne muutamat minuutit sen ympäriltä. Ikkunan ensimmäinen virhe edeltää lähes aina katkaisuriviä, jota tukipyynnöt siteeraavat.

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"'

Jokainen komento vastaa kysymyksen eri osaan: ensimmäinen antaa elinkaaren, toinen edelleenlähetystilan, kolmas macOS:n verkon alijärjestelmän. Windowsissa suodata järjestelmäloki toimittajan nimen mukaan sen sijaan että vierität koko kanavan, ja vie vain vastaavat tapahtumat.

Pidä ote riittävän pienenä, että lukija voi seurata sitä. Kahdenkymmenen minuutin ikkuna neljällä merkityksellisellä tapahtumalla tukee johtopäätöstä; tuhansien rivien kokopäivän vienti ei tue mitään.

Mihin nämä kirjaukset päättyvät

Paikalliset kirjaukset kuvaavat laitetta, eivät polkua. Ne eivät voi näyttää, mitä palveluntarjoaja tallensi, yhdistettiinkö istunto tiliin tai mitä kohde näki. Palveluntarjoajan lausunto siitä, ettei se pidä lokeja, ei kerro mitään kannettavasi käyttöjärjestelmästä, eikä paikallinen tapahtuma todista mitään palveluntarjoajan historiallisista kirjauksista.

Ne sisältävät myös enemmän henkilötietoja kuin odotetaan: käyttäjänimet, isäntänimet, liitospolut ja laitetunnisteet näkyvät tavallisissa järjestelmäviesteissä, vaikka selaussisältöä ei olisi. Poista ne ennen kuin liität mitään tikettiin, ja säilytä alkuperäinen normaalin pääsynvalvonnan alaisena.

Hallitulla laitteella pyydä asiaankuuluva ote IT:ltä sen sijaan että yrittäisit tyhjentää organisaation lokituksen. Diagnostinen tavoite on yksi kapea kysymys, johon kaksi lähdettä vastaa, ei koneen täydellinen historia.

Aiheeseen liittyvät artikkelit