Saya mengembangkan situs web untuk mengelola pengguna OpenVPN dengan kerangka kerja Django. Tapi saya perlu tahu apakah ada cara untuk mengekstrak pengguna aktif dari OpenVPN? Server saya menjalankan Ubuntu 12.04.
59
Seharusnya ada log status yang dapat Anda lihat untuk menunjukkan kepada Anda, milik saya, untuk diperiksa:
cat /etc/openvpn/openvpn-status.log
SUNTING:
Sebagai alternatif, menambahkan bendera --management IP port [pw-file]
atau menambahkan arahan yang sama ke Anda server.conf
, misalnya:
management localhost 7505
Ini akan memungkinkan Anda untuk melakukan telnet ke port itu dan menawarkan kepada Anda daftar perintah untuk dijalankan:
telnet localhost 7505
help
/etc/openvpn/openvpn-status.log
tidak bekerja untuk saya di Debian, itu tidak pernah berubah, malah/var/run/openvpn/server.status
berhasil dengan sempurna.Untuk menyelesaikan jawaban @sekrett :
Ini akan terus berjalan, ini bukan pembunuhan "biasa", hanya permintaan untuk mencetak beberapa statistik.
Statistik yang ditampilkan sangat mudah dibaca. Output sampel:
sumber
Saya mendapatkan kebutuhan yang sama dan solusi termudah yang saya temukan adalah menggunakan telnet yang disebutkan untuk terhubung ke antarmuka manajemen (Anda harus menambahkan: manajemen localhost 6666 , dalam file konfigurasi server).
Untuk mendapatkan jumlah persis klien yang dapat Anda lakukan:
Maka Anda akan mendapatkan banyak log:
Dalam kasus saya karena saya memiliki jumlah klien yang sangat besar, menggunakan file log jelas tidak terlalu praktis.
sumber
Anda juga dapat mengirim sinyal usr2 ke proses openvpn untuk membuatnya menulis informasi statistik ke syslog. Ini aman, Anda tidak perlu melakukan reboot jika Anda tidak mengaktifkan antarmuka manajemen sebelumnya.
sumber
killall -USR2 openvpn
. Kemudian perhatikan log. Mungkin/var/log/syslog
atau/var/log/messages
tergantung pada distro.kill
perintah dapat mengirim sinyal berbeda, USR2 tidak akan membunuh, itu hanya sinyal. Anda dapat melihat daftar di sini: linux.org/threads/kill-signals-and-commands-revised.11625 atau dengan menjalankankill -l
.Saya mengelola server OpenVPN perusahaan kami dan cara saya melihat koneksi aktif adalah seperti ini,
tambahkan ke /etc/openvpn/server.conf
restart server openvpn
tambahkan paket OpenVPN Monitor Python - ini akan berjalan melalui server web Gunicorn dan menunjukkan koneksi aktif,
buat virtual env (tidak diperlukan tetapi praktik yang baik dengan paket py)
instal paket yang diperlukan
tambahkan file konfigurasi Monitor
mulai server web yang akan menunjukkan koneksi aktif,
Untuk menghentikan monitor
untuk melihat koneksi aktif, buka IP publik dari server VPN Anda
pastikan untuk mengkonfigurasi firewall yang tepat untuk port 80, daftar putih hanya IP masuk yang tepercaya
sumber
Cukup gunakan sacli dengan perintah berikut. Ini akan mencantumkan klien VPN yang terhubung.
Untuk melihat semua IP gunakan opsi ini. ./sacli VPNStatus
sumber