Statusfilen tæller sessioner, ikke LAN’et bag dem
Et øjebliksbillede lister VPN-sessioner og routingtilstand, ikke hver maskine bag et sted. Læs overskrifterne, posttyperne og filens alder sammen.
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 3Version 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.
| Record | What it describes | What it cannot tell you |
|---|---|---|
| Client list | A session in this snapshot | How many people or machines that session represents |
| Real address | The outer peer address and port | Which device is behind it |
| Routing rows | Virtual addresses and route ownership | Which 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.