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 3

Version 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.

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

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.

Ähnliche Artikel