Die Statusdatei zählt Sitzungen, nicht das LAN dahinter
Eine Momentaufnahme listet VPN-Sitzungen und Routingzustand auf, nicht jedes Gerät hinter einem Standort. Lesen Sie Kopfzeilen, Datensatztypen und Dateialter zusammen.
Jemand fragt, wie viele Rechner im VPN sind, und die Statusdatei wird als Beleg vorgelegt. Sie beantwortet eine engere Frage: wie viele Sitzungen in dieser Momentaufnahme bestehen und welche virtuellen Adressen der Server weiterleitet. Die Lücke zwischen diesen beiden Fragen ist der Ort, an dem die meisten Berichtsfehler leben, und sie zu schließen beginnt damit, die eigenen Kopfzeilen der Datei zu lesen.
Was die Momentaufnahme tatsächlich enthält
Die Datei wird in einem Intervall geschrieben, wenn für diese Serverinstanz eine Statusausgabe konfiguriert ist, sodass sie ein periodisches Bild und kein Live-Feed ist. Ihre Abschnitte listen Sitzungen und internen Routingzustand getrennt auf, und die Formatversion bestimmt das Spaltenlayout.
status /run/openvpn/office.status 30
status-version 3Version 3 schreibt tabulatorgetrennte Felder mit einer Kopfzeile, während ältere Formate abweichen und spätere Versionen Felder hinzufügen können. Lesen Sie die Kopfzeile, statt eine Spaltennummer fest zu verdrahten, denn ein Skript, das Positionen annimmt, bricht beim nächsten Upgrade still.
| 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 |
Zählen Sie Sitzungen, nicht Personen oder Rechner
Eine einzige Standortverbindung kann Verkehr für mehrere autorisierte Rechner dahinter tragen. Eine einzelne Person kann auch mehr als eine Sitzung gleichzeitig halten, von einem Laptop und einem Telefon. Keines der Muster ist in der Zahl sichtbar, weshalb verbundene Nutzer erst dann aussagekräftig sind, wenn Sie die Einheit definieren. Fragen Sie, welche Einheit der Bericht braucht, bevor jemand zu zählen beginnt.
Wenn die Zahl für Lizenzierung oder Kapazität zählt, definieren Sie die Einheit im selben Dokument wie den Bericht. Ein Bericht, der nicht angibt, ob er Sitzungen, Identitäten oder Geräte zählt, wird als die Einheit gelesen, die der Leser erwartet hat.
Die äußere Adresse ist keine Kennung
Das Feld für die reale Adresse ist die Peer-Adresse und der Port, wie der Server sie sieht. Mehrere Clients hinter einer übersetzten öffentlichen Adresse teilen diese Adresse, sodass eine Gruppierung danach unzusammenhängende Sitzungen zusammenführt. Der Port ändert sich auch zwischen Verbindungen, was das Paar als stabilen Schlüssel unbrauchbar macht. Ein so gruppierter Bericht wirkt präzise und ist falsch.
Nutzen Sie die effektive Clientidentität zum Gruppieren und behandeln Sie die Adresse als Transportdetail. Wenn zwei Zeilen eine Identität teilen, bedeutet das meist gleichzeitige Sitzungen und keinen doppelten Datensatz.
Routingzeilen sind kein Host-Inventar
Ein Routing-Eintrag kann ein Subnetz benennen, für das ein Peer verantwortlich ist, und ein Subnetz ist keine Liste seiner Hosts. Der Server weiß, dass er diesen Bereich an eine bestimmte Sitzung senden soll, und hat keine Ahnung, welche dieser Rechner eingeschaltet, bei einer Anwendung authentifiziert oder für jemanden nützlich sind. Die Routing-Tabelle beschreibt Erreichbarkeit, nicht Belegung. Dieser Unterschied ist der ganze Grund, warum ein VPN keine Inventarfrage beantworten kann.
Mehrere Zeilen können auch auf denselben Peer zeigen, weil ein Standort mehr als einen Bereich ankündigen kann. Zeilen zu zählen und das Ergebnis eine Gerätezahl zu nennen, überschätzt den Einsatz um einen beliebigen Faktor.
Wenn die Anforderung wirklich ein Anlageninventar ist, nutzen Sie den Inventarprozess, dem dieses Netzwerk gehört. Das VPN kann feststellen, welcher Peer eine Route trägt, und das ist eine andere Tatsache als die, welche Hosts dahinter existieren.
Alter, Berechtigungen und eine Live-Ansicht
Bewahren Sie die Änderungszeit der Datei bei jeder Antwort auf. Ein Server, der vor Stunden stehen blieb, hinterlässt seine letzte Momentaufnahme, und eine veraltete Datei, die als aktuell präsentiert wird, ist schlimmer als gar kein Bericht.
Das Verzeichnis muss existieren und für das Konto beschreibbar sein, unter dem der Dienst tatsächlich läuft, was nach einer Härtungsrunde leicht vergessen wird. Die Datei enthält meist Namen und Adressen, halten Sie sie daher an einem administrativen Ort und nicht irgendwo, wo ein Webserver sie ausliefern kann. Prüfen Sie die Berechtigungen aus dem Dienstkonto, nicht aus Ihrer Shell. Eine Momentaufnahme, die still aufhört, sich zu aktualisieren, sieht genau wie ein ruhiges Netzwerk aus.
Für ereignisgesteuerte Anforderungen nutzen Sie die unterstützte Verwaltungsschnittstelle, statt schneller abzufragen. Behandeln Sie diese Schnittstelle als Steuerung, nicht als Metriken, und setzen Sie sie niemals dem Internet aus, nur um Sitzungen zu zählen.