Tidslinjen for en VPN-hændelse begynder normalt med to tidsstempler, der afviger med nogle minutter, og en visning, der viser en anden time. Fristelsen er at vælge det ene som korrekt og omskrive det andet. Begge kan være rigtige, fordi de blev skrevet af forskellige ure om forskellige hændelser. Myten er, at en VPN har ét ur; arbejdet er at finde ud af, hvilken komponent der skrev hvert felt.

Myten: VPN’en har ét ur

En klient skriver en hændelse, når den forsøger en forbindelse. En gateway skriver en hændelse, når den modtager eller accepterer det forsøg. En indsamler skriver et ankomsttidspunkt, når den modtager gatewayens besked. Det er tre hændelser, og hver af dem stemples af det ur, som den skrivende komponent stolede på. At presse dem sammen til én tidslinje er en bekvemmelighed, der skjuler den uenighed, du prøver at forklare.

Tallene afviger normalt fra sekunder til minutter, og det er normalt. Det afgørende er, om forskellen er leveringsforsinkelse, urforskydning eller en reelt anderledes hændelse. At afgøre, hvilken du kigger på, kræver oprindelsen af hvert felt, ikke en stærkere mening om, hvilken maskine der har ret.

Læs oprindelsen før værdien

Før du sammenligner værdier, skal du fastslå, hvem der producerede hver af dem, og hvilket felt det er. En syslog-besked bærer et tidsstempel fra oprindelsen, som RFC 5424 beskriver, og formatet kan også bære tidskvalitetsoplysninger, der beskriver synkronisering og nøjagtighed. Samme format tillader oprindelsen at sende slet intet tidsstempel, når den ikke kan læse systemtiden, hvilket i sig selv er et nyttigt signal.

journalctl -o short-iso --utc -n 20
logger -t vpn-check "test event"

En klient kan også sende en tidsværdi som applikationsmetadata, og en tjeneste, der gemmer den, bør mærke den som klientrapporteret i stedet for at behandle den som uafhængigt verificeret. Det mærke er forskellen mellem bevis og påstand. Når du eksporterer logfiler til en sag, skal du holde feltnavn, oprindelse og forskydning sammen. At reducere dem til en bekvem lokal tid ødelægger netop den information, du har brug for.

Stop, hvis du ikke kan sige, hvilken komponent der skrev et felt. At sammenligne det med noget andet er gætværk.

Visning af tidszone er ikke et andet øjeblik

Det samme øjeblik gengivet som 10:00Z og som 18:00+08:00 er ikke en afvigelse, og at behandle det som en spilder en eftermiddag. Konverter begge til UTC, før du sammenligner, og behold den oprindelige tekst ved siden af konverteringen. En decimalbrøk på den ene side og hele sekunder på den anden er heller ikke en konflikt. Præcision er ikke nøjagtighed: en værdi med millisekunder kan stadig komme fra et ur, der er minutter forkert.

date -u +%FT%TZ
timedatectl

Leveringsforsinkelse er den anden almindelige forklaring. Gatewayen registrerer, hvornår den accepterede forbindelsen, og indsamleren registrerer, hvornår beskeden nåede den, så et hul mellem dem er transporttid. Det hul siger noget om logpipen, ikke om VPN-sessionen. Mærk det som ankomsttid, og det holder op med at konkurrere med hændelsestiden.

Korrelér uden at omskrive beviserne

Behold de oprindelige tidsstempler, og tilføj en afledt kolonne, hvis du har brug for et fælles billede. Forklar konverteringen i noterne i stedet for at redigere kildeposteringerne, fordi kilden er det, en senere gennemgang vil kontrollere. Bevar indsamlerens ankomsttid separat, hvor den end findes.

chronyc tracking
journalctl --utc -u openvpn-client@work -n 50 --no-pager

At ændre en enheds ur er ikke en privatlivskontrol og omskriver ikke poster, som et andet system allerede har. Det gør også supportbeviser sværere at sammenligne, og det kan ødelægge de certifikat- og kodekontroller, der afhænger af tiden. Hold ure synkroniserede til normal drift, og behandl enhver bevidst skævhed som en fejl, der skal undersøges. Hvis de to poster ser ud til at være ude af rækkefølge, så se på ursynkronisering og levering, før du konstruerer en ny historie.

Myten, der skal aflives, er, at der findes én VPN-tid. Spørg, hvad der skrev hvert felt, og hvad der skete, da det gjorde det, og tidslinjen bliver et sæt mærkede observationer i stedet for en modsætning.

Relaterede artikler