Usia handshake WireGuard bukan batas waktu sesi
Pengatur waktu rotasi kunci mengatur kunci, bukan akses pengguna. Membaca latest-handshakes memberi tahu keadaan protokol satu peer, bukan apakah otorisasinya sudah kedaluwarsa.
Peer yang berhenti meneruskan lalu lintas tidak dengan sendirinya kehilangan kuncinya, dan handshake baru tidak membuktikan bahwa seseorang memperbarui izin untuk memakainya. Pengatur waktu WireGuard menjaga kunci tetap segar dan paket tetap mengalir; mereka tidak memodelkan pengguna yang keluar setelah sejumlah menit tertentu. Tiga pertanyaan tercampur di sini, dan masing-masing punya bukti berbeda. Perbedaan inilah yang menentukan alat mana yang dipakai.
Tiga pertanyaan, satu keluaran perintah
Operator bertanya apakah sebuah peer dapat dijangkau, apakah pernah aktif, dan apakah masih diizinkan. Yang pertama adalah keadaan protokol, yang kedua penghitung lalu lintas dan yang ketiga otorisasi. Hanya dua yang pertama dapat dibaca dari antarmuka WireGuard, dan keduanya rutin dipakai untuk menjawab ketiganya.
| Question | Evidence it needs | What does not answer it |
|---|---|---|
| Is the peer reachable now? | A recent handshake and a working return path | An interface that exists |
| Has it been active? | Transfer counters moving over time | A handshake timestamp alone |
| Is access still granted? | The configuration or controller that authorizes it | Any protocol timer |
Bacalah baris-baris itu sebagai tiga penyelidikan terpisah. Dua yang pertama murah dan dapat dijawab dari penghitung antarmuka itu sendiri. Yang ketiga membutuhkan konfigurasi yang memberikan akses, dan konfigurasi itu tinggal di berkas lain atau sistem lain. Memilih baris yang salah berarti meminta pengatur waktu protokol mengerjakan tugas kebijakan.
Apa yang sebenarnya diatur pengatur waktu
Protokol mendefinisikan konstanta untuk percobaan ulang handshake, rotasi kunci transport dan penolakan paket yang dilindungi kunci lama. Semuanya menanggapi lalu lintas dan keadaan, bukan kalender atau kebijakan yang menyatakan seseorang boleh terhubung sampai 17:00. Itulah sebabnya peer yang menganggur bisa tampak tidak aktif selama berjam-jam namun tetap diotorisasi.
PersistentKeepalive sering disalahartikan sebagai batas waktu yang hilang. Ia mengirim paket kosong terautentikasi untuk menjaga pemetaan NAT tetap hidup, dan menyetelnya ke nol menghentikan paket itu tanpa mencabut apa pun.
Bacalah keadaan saat berjalan per peer, dengan memakai kunci publik alih-alih komentar:
wg show wg0 latest-handshakes
wg show wg0 transfer
Handshake terbaru mengatakan bahwa satu handshake telah selesai. Ia tidak mengatakan bahwa layanan privat di balik terowongan dapat dijangkau, dan stempel waktu lama bisa jadi milik peer yang sekadar diam.
Mengapa peer yang menganggur bukan peer yang sudah keluar
WireGuard tidak memiliki objek sesi dengan awal dan akhir. Peer adalah kunci publik dengan alamat yang diizinkan, dan handshake yang melindungi lalu lintasnya diganti bila perlu tanpa login apa pun yang terlihat oleh pengguna. Menganggap tidak adanya lalu lintas terkini sebagai keluar berarti membalik modelnya.
Jika keluhan sebenarnya adalah koneksi gagal setelah menganggur, penyebabnya biasanya di tempat lain: pemetaan NAT yang kedaluwarsa, perangkat yang tidur, atau firewall yang menghilangkan keadaan. Ujilah dengan mengirim lalu lintas dari sisi seberang dan memulai aliran baru, lalu bandingkan apa yang berubah.
Letakkan tenggat di tempat otorisasi berada
Jika akses harus berakhir pada waktu tertentu, tenggat itu milik apa pun yang memberikan akses. Pengendali yang menerbitkan konfigurasi peer dapat menuntut persetujuan yang diperbarui sebelum menyerahkan yang baru, dan itu sifat pengendali, bukan parameter tersembunyi pada antarmuka.
Untuk peer yang dikelola manual, penghapusan harus mencapai dua tempat: antarmuka yang berjalan dan konfigurasi yang tersimpan. Menghapus peer hanya saat berjalan akan dibatalkan oleh restart atau lingkar rekonsiliasi, yang memulihkan identitas yang Anda kira sudah kedaluwarsa:
sudo wg set wg0 peer <public-key> remove
sudo wg-quick save wg0
Lalu ujilah batasnya, bukan labelnya. Pastikan peer ditolak setelah tenggat, pastikan jalur pembaruan berfungsi, dan pastikan keadaan bertahan setelah pengelola dimuat ulang. Usia handshake adalah sinyal operasional yang berguna, dan itu bukan catatan akses.