Drie klokken in één VPN-log: client, gateway, verzamelaar
Een clientlog, een gateway-record en een aankomst bij de verzamelaar zijn drie gebeurtenissen met drie klokken. Bepaal de herkomst voordat u tijdstempels vergelijkt.
De tijdlijn van een VPN-incident begint meestal met twee tijdstempels die enkele minuten verschillen en een weergave die een ander uur toont. De verleiding is om er één als juist te kiezen en de andere te herschrijven. Beide kunnen juist zijn, omdat verschillende klokken ze over verschillende gebeurtenissen schreven. De mythe is dat een VPN één klok heeft; het werk is uitzoeken welke component welk veld schreef.
De mythe: de VPN heeft één klok
Een client schrijft een gebeurtenis wanneer hij een verbinding probeert. Een gateway schrijft een gebeurtenis wanneer hij die poging ontvangt of accepteert. Een verzamelaar schrijft een aankomsttijd wanneer hij het bericht van de gateway ontvangt. Dat zijn drie gebeurtenissen, en elk wordt gestempeld door de klok die de schrijvende component vertrouwde. Ze samenpersen tot één tijdlijn is een gemak dat de onenigheid verbergt die u probeert uit te leggen.
De getallen verschillen meestal van seconden tot minuten, en dat is normaal. Wat telt, is of het verschil een leveringsvertraging, een klokafwijking of een werkelijk andere gebeurtenis is. Om te bepalen waar u naar kijkt, hebt u de herkomst van elk veld nodig, niet een sterker oordeel over welke machine gelijk heeft.
Lees de herkomst vóór de waarde
Voordat u waarden vergelijkt, bepaalt u wie elk ervan heeft geproduceerd en welk veld het is. Een syslog-bericht draagt een tijdstempel van de herkomst, zoals RFC 5424 beschrijft, en het formaat kan ook tijdkwaliteitsinformatie dragen die synchronisatie en nauwkeurigheid beschrijft. Hetzelfde formaat staat de herkomst toe helemaal geen tijdstempel te sturen wanneer hij de systeemtijd niet kan lezen, wat op zichzelf een nuttig signaal is.
journalctl -o short-iso --utc -n 20
logger -t vpn-check "test event"
Een client kan ook een tijdwaarde als applicatiemetadata sturen, en een dienst die die opslaat zou hem als door de client gemeld moeten labelen in plaats van hem als onafhankelijk geverifieerd te behandelen. Dat label is het verschil tussen bewijs en bewering. Wanneer u logs voor een zaak exporteert, houdt u de veldnaam, de herkomst en de afwijking bij elkaar. Ze terugbrengen tot een gemakkelijke lokale tijd vernietigt precies de informatie die u nodig hebt.
Stop als u niet kunt zeggen welke component een veld schreef. Het met iets anders vergelijken is gissen.
Tijdzoneweergave is geen ander moment
Hetzelfde moment weergegeven als 10:00Z en als 18:00+08:00 is geen discrepantie, en het als zodanig behandelen kost een halve dag. Reken beide om naar UTC voordat u vergelijkt, en houd de oorspronkelijke tekst naast de conversie. Een decimale breuk aan de ene kant en hele seconden aan de andere zijn ook geen conflict. Precisie is geen nauwkeurigheid: een waarde met milliseconden kan nog steeds van een klok komen die minuten ernaast zit.
date -u +%FT%TZ
timedatectl
Leveringsvertraging is de andere gewone verklaring. De gateway registreert wanneer hij de verbinding accepteerde, en de verzamelaar registreert wanneer het bericht hem bereikte, dus de kloof daartussen is transporttijd. Die kloof zegt iets over de logpijplijn, niet over de VPN-sessie. Label het als aankomsttijd en het concurreert niet meer met de gebeurtenistijd.
Correleer zonder het bewijs te herschrijven
Houd de oorspronkelijke tijdstempels en voeg een afgeleide kolom toe als u een gemeenschappelijk beeld nodig hebt. Leg de conversie uit in de notities in plaats van de bronrecords te bewerken, omdat de bron is wat een latere beoordelaar controleert. Bewaar de aankomsttijd van de verzamelaar apart waar die ook bestaat.
chronyc tracking
journalctl --utc -u openvpn-client@work -n 50 --no-pager
Het wijzigen van een apparaatklok is geen privacycontrole en herschrijft geen records die een ander systeem al heeft. Het maakt ondersteuningsbewijs ook moeilijker te vergelijken, en het kan de certificaat- en codecontroles breken die van tijd afhangen. Houd klokken gesynchroniseerd voor normaal gebruik, en behandel elke opzettelijke afwijking als een te onderzoeken fout. Als de twee records buiten de volgorde lijken, kijk dan naar kloksynchronisatie en levering voordat u een nieuwe geschiedenis opbouwt.
De mythe die moet worden losgelaten, is dat er één VPN-tijd is. Vraag wat elk veld schreef en wat er gebeurde toen het dat deed, en de tijdlijn wordt een reeks gelabelde waarnemingen in plaats van een tegenspraak.