Batas sesi akun VPN bersama: mengapa satu perangkat terputus
Login bersama mencapai batas sesi bersamaan dan satu perangkat terputus. Baca pesan klien, hitung sesi di sisi server, lalu perbaiki model identitas.
Anda menambahkan laptop kedua ke akun yang sudah berjalan di ponsel, dan terowongan ponsel terputus dalam satu menit. Atau perangkat baru tidak pernah menyelesaikan koneksi, dan klien berakhir pada pesan kebijakan alih-alih batas waktu. Jaringan baik-baik saja dalam kedua kasus; keputusan telah diambil di atasnya. Login bersama adalah satu identitas, dan sebagian besar layanan VPN menghitung identitas itu, bukan jumlah perangkat yang Anda miliki. Saya bekerja dari layar klien ke luar, karena biasanya layar itu menunjukkan lapisan mana yang menolak Anda.
Baca pesan klien sebelum menyentuh jaringan
Tiga kegagalan terlihat serupa dan tidak sama. Batas waktu berarti paket Anda tidak mencapai apa pun. Kesalahan TLS atau sertifikat berarti titik akhir menjawab tetapi jabat tangan gagal. Penolakan autentikasi atau kebijakan berarti gateway membaca kredensial Anda lalu menolaknya. Hanya yang ketiga termasuk kisah batas sesi, jadi pastikan itu lebih dulu.
Klien OpenVPN menyimpan baris menarik di panel log mereka. Gulir ke upaya koneksi terakhir, bukan ke lingkaran percobaan ulang yang mengikutinya, dan cari AUTH_FAILED atau string alasan yang didorong. Klien sering melaporkan penolakan umum tanpa penjelasan, jadi langkah berikutnya adalah server, bukan pengaturan klien. Aplikasi penyedia lebih buruk: pesan batas perangkat berguna, tetapi koneksi yang runtuh setelah dua detik adalah keputusan kebijakan, bukan kata sandi salah. Catat nama perangkat dan waktu persisnya dalam hal apa pun; operator dapat mencocokkan pasangan itu dengan catatan akses dalam hitungan detik.
Hitung sesi di tempat server menghitungnya
Penghitung yang penting berada di gateway. OpenVPN menulis berkas status saat server dijalankan dengan --status, mendaftar setiap klien yang terhubung dengan nama umumnya, alamat sebenarnya, dan penghitung lalu lintasnya.
cat /var/log/openvpn-status.log
# or query the management socket directly
echo "status 2" | socat - UNIX-CONNECT:/run/openvpn/server.sock
Dua baris dengan nama umum yang sama adalah dua sesi hidup di bawah satu sertifikat. Secara bawaan OpenVPN tidak menyimpan keduanya: tanpa --duplicate-cn, koneksi kedua yang memakai sertifikat sama menggantikan yang pertama, dan perangkat lama kehilangan terowongannya. Penggantian itu adalah tanda tangan batas identitas. Kehilangan paket acak tidak memutus dengan sopan tepat satu perangkat pada saat perangkat lain muncul.
WireGuard tidak punya tabel sesi untuk diperiksa. wg show wg0 mencetak peer dan jabat tangan terakhirnya, dan setiap perangkat terdaftar adalah peer dengan kuncinya sendiri. Akun bersama di sana adalah berkas konfigurasi yang disalin ke beberapa mesin, dan batasnya berasal dari apa pun yang membagikan konfigurasi itu: portal penyedia, jumlah kursi, atau aturan yang dikaitkan dengan alamat publik Anda. Panduan OpenVPN 2.6 mendokumentasikan opsi sisi server jika Anda menjalankan gateway sendiri.
Pisahkan empat batas yang bersembunyi di balik satu pesan
Sebagian besar tiket akun bersama adalah salah satu dari empat keputusan penerimaan. Klien tidak dapat membedakannya, tetapi pola perangkat mana yang gagal bisa.
Identitas sama, koneksi kedua. Perangkat baru berfungsi dan yang lama mati pada saat yang sama. Itu aturan konkurensi per identitas yang ditegakkan gateway atau sistem akun. Tidak ada yang rusak; layanan melakukan apa yang dikatakan kebijakannya.
Jumlah kursi atau perangkat pada paket. Perangkat pertama tetap terhubung dan yang berikutnya ditolak sementara yang lain terus berjalan. Periksa daftar perangkat penyedia sebelum mengubah klien, karena batas lisensi tidak dapat diperbaiki dari sisi klien.
Batas yang dikaitkan dengan alamat publik Anda. Dua laptop di belakang satu router rumah gagal sementara login yang sama berfungsi dari hotspot ponsel. Pindahkan perangkat kedua ke jaringan lain untuk mengujinya. Jika terhubung di sana, Anda melihat aturan per alamat atau aturan NAT, bukan jumlah akun.
Maksimum seluruh server. Semua orang di gateway gagal pada jam sibuk yang sama, termasuk akun yang kemarin baik-baik saja. --max-clients OpenVPN berperilaku begitu, dan itu tidak ada hubungannya dengan perangkat terdaftar Anda.
Bersihkan sesi basi sebelum membeli kursi tambahan
Sesi yang berakhir buruk masih bisa menahan slot. Akuntansi RADIUS menulis catatan saat sesi mulai dan menutupnya saat sesi berhenti; ketika klien hilang, penghentian tidak pernah datang dan server menyimpan sesi sampai pembaruan sementara atau batas waktu kedaluwarsa. Di gateway FreeRADIUS Anda dapat melihat catatan terbuka:
SELECT username, acctsessionid, acctstarttime
FROM radacct WHERE acctstoptime IS NULL;
Catatan terbuka dengan waktu mulai lama dan tanpa lalu lintas milik perangkat yang sudah pergi. Tutup melalui konsol operator atau dengan permintaan pemutusan, sebelum Anda menganggap batas itu nyata. Ponsel menyambung ulang ketika Wi-Fi menyerahkan ke seluler, dan laptop dapat menjalankan satu terowongan di OS plus satu lagi di dalam aplikasi vendor, yang dihitung sebagai dua sesi dari satu mesin.
Berhenti membagi satu identitas di antara perangkat yang berjalan bersama
Perbaikan tahan lama bersifat struktural. Beri setiap perangkat sertifikatnya sendiri dengan nama umum yang unik, atau akunnya sendiri, dan catat siapa orang dan mesin yang memegangnya. Di OpenVPN itu berarti satu sertifikat klien per perangkat, dengan --duplicate-cn dibiarkan mati kecuali Anda ingin perilaku pengambilalihan; di WireGuard, satu pasangan kunci per perangkat, dibuat di sana dan tidak pernah disalin.
Mengkloning profil untuk melewati batas perangkat merusak pencabutan: mencabut satu salinan memutus setiap perangkat yang membaginya, dan log tidak lagi dapat mengatakan mesin mana melakukan apa. Jika batasnya komersial, perbaikan jujurnya adalah kursi tambahan; jika itu kebijakan internal, minta identitas kedua dengan hak akses yang sama.
Verifikasi dalam urutan tetap
Uji perbaikan dengan cara yang sama setiap kali, agar hasilnya berarti.
- Keluar di setiap perangkat dan pastikan daftar aktif server kosong; entri yang tidak bersih adalah sesi basi, bukan bug klien.
- Hubungkan perangkat satu per satu dan perhatikan daftar di antara koneksi.
- Jika dua harus berjalan bersama, pastikan kedua baris membawa identitas berbeda dan keduanya menjaga jabat tangan tetap segar.
- Ulangi setelah peralihan Wi-Fi ke seluler, karena menyambung ulang dapat membuat catatan kedua.
Jika perangkat lama masih terputus saat yang baru terhubung, gateway menegakkan aturan per identitas yang Anda tidak diberi pengecualian. Bawa ke operator nama perangkat, stempel waktu, dan daftar sesi aktif; itu mengubah keluhan kabur menjadi pertanyaan kebijakan yang bisa mereka jawab.