Seseorang bertanya berapa banyak mesin yang ada di VPN, dan file status diajukan sebagai bukti. File itu menjawab pertanyaan yang lebih sempit: berapa sesi yang ada dalam cuplikan ini, dan alamat virtual mana yang dirutekan server. Kesenjangan antara kedua pertanyaan itulah tempat sebagian besar kesalahan pelaporan berada, dan menutupnya dimulai dengan membaca header file itu sendiri.

Apa yang sebenarnya ada dalam cuplikan

File ditulis pada interval ketika keluaran status dikonfigurasi untuk instans server itu, jadi ini gambaran berkala, bukan aliran langsung. Bagian-bagiannya mencantumkan sesi dan status perutean internal secara terpisah, dan versi format menentukan tata letak kolom.

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

Versi 3 menulis bidang yang dipisahkan tab dengan baris header, sedangkan format lama berbeda dan versi berikutnya dapat menambah bidang. Bacalah header alih-alih mengodekan nomor kolom, karena skrip yang mengasumsikan posisi akan rusak diam-diam pada peningkatan berikutnya.

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

Hitung sesi, bukan orang atau mesin

Satu koneksi situs dapat membawa lalu lintas beberapa mesin resmi di belakangnya. Satu orang juga dapat memegang lebih dari satu sesi pada saat yang sama, dari laptop dan ponsel. Tidak ada pola itu yang terlihat dalam hitungan, sehingga pengguna terhubung hanya bermakna setelah Anda mendefinisikan satuannya. Tanyakan unit apa yang dibutuhkan laporan sebelum siapa pun mulai menghitung.

Jika angka itu penting untuk lisensi atau kapasitas, definisikan unitnya dalam dokumen yang sama dengan laporan. Laporan yang tidak menyatakan apakah menghitung sesi, identitas, atau perangkat akan dibaca sebagai unit yang diharapkan pembacanya.

Alamat luar bukan pengenal

Bidang alamat sebenarnya adalah alamat dan port peer seperti yang dilihat server. Beberapa klien di balik satu alamat publik yang diterjemahkan berbagi alamat itu, sehingga pengelompokan berdasarkan alamat itu menggabungkan sesi yang tidak terkait. Port juga berubah antar koneksi, yang membuat pasangan itu tidak berguna sebagai kunci stabil. Laporan yang dikelompokkan seperti itu tampak tepat dan salah.

Gunakan identitas klien efektif untuk pengelompokan, dan perlakukan alamat sebagai detail transportasi. Ketika dua baris berbagi identitas, itu biasanya berarti sesi bersamaan, bukan catatan duplikat.

Baris perutean bukan inventaris host

Entri perutean dapat menyebut subnet yang menjadi tanggung jawab satu peer, dan subnet bukan daftar host-nya. Server tahu bahwa ia harus mengirim rentang itu ke sesi tertentu, dan tidak tahu mesin mana yang menyala, terautentikasi di aplikasi, atau berguna bagi siapa pun. Tabel perutean menggambarkan keterjangkauan, bukan keterisian. Perbedaan itulah seluruh alasan VPN tidak dapat menjawab pertanyaan inventaris.

Beberapa baris juga dapat menunjuk ke peer yang sama, karena situs dapat mengumumkan lebih dari satu rentang. Menghitung baris dan menyebut hasilnya sebagai jumlah perangkat melebih-lebihkan penerapan dengan faktor sembarang.

Jika persyaratannya benar-benar inventaris aset, gunakan proses inventaris yang memiliki jaringan itu. VPN dapat mengenali peer mana yang membawa rute, dan itu fakta yang berbeda dari host mana yang ada di belakangnya.

Usia, izin, dan tampilan langsung

Simpan waktu modifikasi file bersama setiap jawaban. Server yang berhenti berjam-jam lalu meninggalkan cuplikan terakhirnya di tempatnya, dan file usang yang disajikan sebagai terkini lebih buruk daripada tidak ada laporan sama sekali.

Direktori harus ada dan dapat ditulis oleh akun yang benar-benar menjalankan layanan, yang mudah dilupakan setelah tahap pengerasan. File biasanya berisi nama dan alamat, jadi simpanlah di lokasi administratif dan bukan di mana pun server web dapat menyajikannya. Periksa izin dari akun layanan, bukan dari shell Anda. Cuplikan yang diam-diam berhenti diperbarui terlihat persis seperti jaringan yang tenang.

Untuk kebutuhan berbasis peristiwa, gunakan antarmuka manajemen yang didukung alih-alih melakukan polling lebih cepat. Perlakukan antarmuka itu sebagai kendali, bukan metrik, dan jangan pernah mengeksposnya ke internet hanya untuk menghitung sesi.

Artikel terkait