Vpn sunucusunu açmak için bağlı kullanıcıları nasıl görebilirim?


59

OpenVPN kullanıcılarını Django çerçevesiyle yönetmek için bir web sitesi geliştiriyorum. Ancak aktif kullanıcıları OpenVPN'den çıkarmanın bir yolu var mı? Sunucum Ubuntu 12.04 kullanıyor.

Yanıtlar:


84

Size göstermek için bakabileceğiniz bir durum günlüğü olmalı, benimki, incelemek için:

cat /etc/openvpn/openvpn-status.log

DÜZENLE:

Alternatif olarak, bayrak --management IP port [pw-file]ekleyerek veya aynı yönergeyi telefonunuza ekleyerek server.conf, örneğin:

management localhost 7505

Bu, bu bağlantı noktasına telnet yapmanızı ve çalıştırmanız için bir komut listesi sunmanızı sağlar:

telnet localhost 7505

help


1
Teşekkürler ama dosya değişikliklerini izlememek için başka bir yolu var mı? Örneğin, bağlı kullanıcıları listeleyen bir kütüphane?
Hamid FzM

1
@HamidFzM bir kütüphane hakkında emin değil, düzenleme olarak eklediğim yönetim arayüzünü kullanabilirsiniz; lütfen localhost dışında bir IP kullanmayın, bu kesinlikle güvenliğiniz için zararlı olacaktır
c4urself

@ c4urself, .log çıktım : bit.ly/1ORnsYp Bağlı kullanıcıları nerede görebilirim? Bu .log ile kendilerine atanan IP'leri görmek mümkün müdür?
Maxim V. Pavlov

@ MaximV.Pavlov, sizin durumunuzda kimse bağlı değil gibi görünüyor. Evet, IP adresleri gösterilir.
c4urself,

2
/etc/openvpn/openvpn-status.logDebian'da benim için çalışmadı, hiç değişmedi, /var/run/openvpn/server.statustam olarak çalıştı.
Nelson

20

@Sekrett yanıtını tamamlamak için :

killall -USR2 openvpn ; tail -f /var/log/syslog

Koşmaya devam edecek, "normal" bir ölüm değil, sadece bazı istatistikleri basma isteği.

Görüntülenen istatistikler çok okunabilir. Örnek çıktı:

Oct 14 07:34:14 vpn2 openvpn[20959]: Updated,Fri Oct 14 07:34:14 2016
Oct 14 07:34:14 vpn2 openvpn[20959]: Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
Oct 14 07:26:26 vpn2 openvpn[20959]:
10.8.0.132,hostname1,213.219.XXX.XXX:63765,Fri Oct 14 07:25:01 2016
Oct 14 07:26:26 vpn2 openvpn[20959]:
10.8.0.242,hostname2,213.219.XXX.XXX:62416,Sun Sep 25 03:49:19 2016

İyileştirme için teşekkürler. Cevabım haklıydı ama bir örnek ve açıklamadan yoksun. :)
sekrett 16

7

Kendime aynı ihtiyacı duydum ve bulduğum en kolay çözüm, yönetim arabirimine bağlanmak için söz konusu telnet kullanmaktı (eklemek zorundasınız: server local dosyasında management localhost 6666 ).

Tam müşteri sayısını elde etmek için şunları yapabilirsiniz:

  • telnet localhost 6666
  • durum

O zaman çok fazla günlük alırsınız:

10.9.10.11,test-docker,52.58.48.98:56859,Wed May  4 09:37:34 2016
10.9.7.45,test-docker,52.58.156.80:38774,Wed May  4 09:36:59 2016
10.9.1.103,test-docker,52.58.161.230:52201,Wed May  4 09:35:47 2016
GLOBAL STATS
Max bcast/mcast queue length,0
END
>CLIENT:ESTABLISHED,19845
>CLIENT:ENV,n_clients=19361
>CLIENT:ENV,time_unix=1462357164
  • =>> İSTEMCİ: ENV, n_clients = 19361 arayın

Benim durumumda çok fazla müşterim olduğu için, günlük dosyasını kullanmak kesinlikle pek pratik değil.


statü komutanım bana yardım etti, thx
Mohammed Noureldin

4

Ayrıca syslog'a istatistiki bilgi yazmasını sağlamak için openvpn işlemine usr2 sinyalini gönderebilirsiniz. Bu güvenlidir, daha önce yönetim arayüzünü etkinleştirmediyseniz yeniden başlatmanız gerekmez.


Bunun için bir komut yazar mısın?
Shayan_Aryan

1
@MichaelC yazdım: killall -USR2 openvpn. O zaman günlükleri izleyin. Dağıtıma bağlı olabilir /var/log/syslogveya /var/log/messagesbağlı olabilir .
sekrett

ama openvpn'i öldürmüyor?
Shayan_Aryan

killkomut farklı sinyaller gönderebilir, USR2 öldürmez, sadece bir sinyaldir. Burada bir liste görebilirsiniz: linux.org/threads/kill-signals-and-commands-revised.11625 veya çalıştırarak kill -l.
sekrett

Sadece denedim. Bağlı müşteri sayısı hakkında bilgi vermiyor
Shayan_Aryan

4

Şirketlerimizin OpenVPN sunucularını yönetiyorum ve aktif bağlantıları bu şekilde görüyorum,

/etc/openvpn/server.conf dosyasına ekleyin

management 127.0.0.1 5555

openvpn sunucusunu yeniden başlat

systemctl restart openvpn@server.service

OpenVPN Monitor Python paketi ekleyin - bu bir Gunicorn web sunucusu üzerinden çalışacak ve aktif bağlantıları gösterecektir,

mkdir /opt/openvpn-monitor

sanal bir env oluşturmak (zorunlu değil, py paketleriyle iyi uygulama)

cd /opt/openvpn-monitor
virtualenv venv
source venv/bin/activate

gerekli paketleri kur

pip install openvpn-monitor gunicorn

bir Monitor yapılandırma dosyası ekleyin

vi /opt/openvpn-monitor/openvpn-monitor.conf

[openvpn-monitor]
site=your-openvpn-site
#logo=logo.jpg
#latitude=40.72
#longitude=-74
maps=True
geoip_data=/var/lib/GeoIP/GeoLite2-City.mmdb
datetime_format=%d/%m/%Y %H:%M:%S

[VPN1]
host=localhost
port=
name=Your VPN Server Name
show_disconnect=False

etkin bağlantıları gösterecek web sunucusunu başlatmak,

gunicorn openvpn-monitor -b 0.0.0.0:80 --name openvpn-monitor --daemon

İzlemeyi durdurmak için

pkill gunicorn 

Etkin bağlantıları görmek için VPN sunucunuzun genel IP’sine gidin.

http://<ip of openvpn server>

bağlantı noktası 80 için uygun güvenlik duvarını yapılandırdığınızdan emin olun, yalnızca güvenilir gelen IP'leri beyaz listeye alın

görüntü tanımını buraya girin


1

Sadece aşağıdaki komutu kullanarak sacli kullanın. Bu bağlı VPN istemcilerini listeler.

/usr/local/openvpn_as/scripts/sacli VPNSummary
{
"n_clients": 15
}

Tüm IP'leri görmek için bu seçeneği kullanın. ./sacli VPNStatus

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.