Fișierul de stare numără sesiuni, nu LAN-ul din spate
O imagine listă sesiuni VPN și starea rutării, nu fiecare mașină din spatele unui sit. Citiți împreună antetele, tipurile de înregistrare și vârsta fișierului.
Cineva întreabă câte mașini sunt în VPN, iar fișierul de stare este prezentat ca dovadă. El răspunde la o întrebare mai îngustă: câte sesiuni există în această imagine și ce adrese virtuale rutează serverul. Exact în golul dintre aceste două întrebări locuiesc cele mai multe erori de raportare, iar închiderea lui începe cu citirea antetelor proprii ale fișierului.
Ce conține de fapt imaginea
Fișierul este scris la un interval când ieșirea de stare este configurată pentru acea instanță de server, deci este o imagine periodică, nu un flux live. Secțiunile sale listează separat sesiunile și starea internă de rutare, iar versiunea formatului decide aspectul coloanelor.
status /run/openvpn/office.status 30
status-version 3Versiunea 3 scrie câmpuri separate prin tabulatoare cu un rând de antet, în timp ce formatele vechi diferă, iar versiunile ulterioare pot adăuga câmpuri. Citiți antetul în loc să codificați fix un număr de coloană, pentru că un script care presupune poziții se rupe în silențiu la următoarea actualizare.
| 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 |
Numărați sesiuni, nu oameni sau mașini
O singură conexiune de sit poate transporta traficul mai multor mașini autorizate din spatele ei. O singură persoană poate ține și mai multe sesiuni simultan, de pe un laptop și un telefon. Niciunul dintre aceste tipare nu se vede în număr, de aceea utilizatorii conectați au sens doar după ce definiți unitatea. Întrebați ce unitate are nevoie raportul înainte ca cineva să înceapă să numere.
Dacă numărul contează pentru licențiere sau capacitate, definiți unitatea în același document ca raportul. Un raport care nu spune dacă numără sesiuni, identități sau dispozitive va fi citit ca unitatea la care se aștepta cititorul.
Adresa externă nu este un identificator
Câmpul adresei reale este adresa și portul partenerului așa cum le vede serverul. Mai mulți clienți din spatele unei adrese publice traduse împart acea adresă, așa că gruparea după ea unește sesiuni fără legătură. Și portul se schimbă între conexiuni, ceea ce face perechea inutilă ca cheie stabilă. Un raport grupat astfel pare precis și este greșit.
Folosiți identitatea efectivă a clientului pentru grupare și tratați adresa ca detaliu de transport. Când două rânduri împart o identitate, de obicei înseamnă sesiuni simultane, nu o înregistrare duplicată.
Rândurile de rutare nu sunt inventar de gazde
O intrare de rutare poate numi o subrețea de care răspunde un partener, iar o subrețea nu este o listă a gazdelor sale. Serverul știe că trebuie să trimită acel interval unei anumite sesiuni și nu are nicio idee care dintre acele mașini sunt pornite, autentificate într-o aplicație sau utile cuiva. Tabelul de rutare descrie accesibilitatea, nu ocuparea. Această diferență este tot motivul pentru care un VPN nu poate răspunde la o întrebare de inventar.
Mai multe rânduri pot indica și același partener, pentru că un sit poate anunța mai mult de un interval. Numărarea rândurilor și numirea rezultatului număr de dispozitive supraestimează implementarea cu un factor arbitrar.
Dacă cerința este într-adevăr un inventar de active, folosiți procesul de inventar care deține acea rețea. VPN-ul poate identifica ce partener transportă o rută, iar acesta este un fapt diferit de care gazde există în spate.
Vârstă, permisiuni și o vedere live
Păstrați timpul de modificare al fișierului cu fiecare răspuns. Un server care s-a oprit acum ore lasă ultima imagine pe loc, iar un fișier învechit prezentat ca actual este mai rău decât niciun raport.
Directorul trebuie să existe și să fie scriibil de contul sub care rulează efectiv serviciul, ceea ce se uită ușor după o rundă de întărire. Fișierul conține de obicei nume și adrese, așa că păstrați-l într-o locație administrativă, nu oriunde un server web îl poate servi. Verificați permisiunile din contul serviciului, nu din shell-ul propriu. O imagine care încetează în silențiu să se actualizeze arată exact ca o rețea liniștită.
Pentru nevoi bazate pe evenimente, folosiți interfața de administrare acceptată în loc să interogați mai des. Tratați acea interfață ca pe un control, nu ca pe metrici, și nu o expuneți niciodată pe internet doar ca să numărați sesiuni.