Nogen spørger, hvor mange maskiner der er på VPN’en, og statusfilen fremlægges som bevis. Den svarer på et snævrere spørgsmål: hvor mange sessioner der findes i dette øjebliksbillede, og hvilke virtuelle adresser serveren router. Kløften mellem de to spørgsmål er der, hvor de fleste rapporteringsfejl lever, og at lukke den begynder med at læse filens egne overskrifter.

Hvad øjebliksbilledet faktisk indeholder

Filen skrives med et interval, når statusoutput er konfigureret for den serverinstans, så det er et periodisk billede og ikke en live strøm. Dens sektioner lister sessioner og intern routingtilstand separat, og formatversionen bestemmer kolonneopstillingen.

status /run/openvpn/office.status 30
status-version 3

Version 3 skriver tabulatoradskilte felter med en overskriftsrække, mens ældre formater er anderledes, og nyere versioner kan tilføje felter. Læs overskriften i stedet for at hardkode et kolonnenummer, fordi et script, der antager positioner, brækker lydløst ved næste opgradering.

RecordWhat it describesWhat it cannot tell you
Client listA session in this snapshotHow many people or machines that session represents
Real addressThe outer peer address and portWhich device is behind it
Routing rowsVirtual addresses and route ownershipWhich downstream hosts are alive

Tæl sessioner, ikke personer eller maskiner

En enkelt stedforbindelse kan bære trafik for flere autoriserede maskiner bag sig. En enkelt person kan også have mere end én session ad gangen, fra en bærbar og en telefon. Ingen af mønstrene er synlige i optællingen, og derfor giver tilsluttede brugere kun mening, når du definerer enheden. Spørg, hvilken enhed rapporten har brug for, før nogen begynder at tælle.

Hvis tallet betyder noget for licensering eller kapacitet, skal du definere enheden i samme dokument som rapporten. En rapport, der ikke angiver, om den tæller sessioner, identiteter eller enheder, vil blive læst som den enhed, læseren forventede.

Den ydre adresse er ikke en identifikator

Feltet med den rigtige adresse er peer-adressen og porten, som serveren ser dem. Flere klienter bag en oversat offentlig adresse deler den adresse, så gruppering efter den samler ikke-relaterede sessioner. Porten ændrer sig også mellem forbindelser, hvilket gør parret ubrugeligt som stabil nøgle. En rapport grupperet sådan ser præcis ud og er forkert.

Brug den effektive klientidentitet til gruppering, og behandl adressen som transportdetalje. Når to rækker deler en identitet, betyder det normalt samtidige sessioner og ikke en duplikatpost.

Routingrækker er ikke hostinventar

En routingpost kan navngive et subnet, som en peer er ansvarlig for, og et subnet er ikke en liste over dets hosts. Serveren ved, at den skal sende det interval til en bestemt session, og den aner ikke, hvilke af de maskiner der er tændt, godkendt i en applikation eller nyttige for nogen. Routingtabellen beskriver nåbarhed, ikke belægning. Den forskel er hele grunden til, at en VPN ikke kan svare på et inventarspørgsmål.

Flere rækker kan også pege på samme peer, fordi et sted kan annoncere mere end ét interval. At tælle rækker og kalde resultatet et enhedsantal overdriver udrulningen med en vilkårlig faktor.

Hvis kravet virkelig er et aktivinventar, brug den inventarproces, der ejer det netværk. VPN’en kan identificere, hvilken peer der bærer en rute, og det er en anden kendsgerning end, hvilke hosts der findes bag den.

Alder, tilladelser og et live-udsyn

Gem filens ændringstid sammen med hvert svar. En server, der stoppede for timer siden, efterlader sit sidste øjebliksbillede på plads, og en forældet fil præsenteret som aktuel er værre end ingen rapport.

Mappen skal findes og være skrivbar for den konto, tjenesten faktisk kører som, hvilket er let at glemme efter en hærdningsrunde. Filen indeholder normalt navne og adresser, så hold den på et administrativt sted i stedet for hvor som helst en webserver kan levere den. Kontroller tilladelserne fra tjenestekontoen, ikke fra din shell. Et øjebliksbillede, der lydløst holder op med at opdatere, ligner præcis et stille netværk.

Til hændelsesdrevne behov skal du bruge den understøttede administrationsgrænseflade i stedet for at polle hurtigere. Behandl den grænseflade som kontrol, ikke som målinger, og eksponer den aldrig over internettet bare for at tælle sessioner.

Relaterede artikler