Risposte:
Dovrebbe esserci un registro di stato che puoi guardare per mostrarti, il mio è, per esempio:
cat /etc/openvpn/openvpn-status.log
MODIFICARE:
In alternativa, aggiungendo il flag --management IP port [pw-file]
o aggiungendo la stessa direttiva alla tua server.conf
, ad esempio:
management localhost 7505
Ciò ti consentirebbe di telnetare su quella porta e ti offrirà un elenco di comandi da eseguire:
telnet localhost 7505
help
/etc/openvpn/openvpn-status.log
non ha funzionato per me su Debian, non è mai cambiato, invece /var/run/openvpn/server.status
ha funzionato perfettamente.
Per completare la risposta di @sekrett :
killall -USR2 openvpn ; tail -f /var/log/syslog
Continuerà a funzionare, non è un'uccisione "normale", solo una richiesta per stampare alcune statistiche.
Le statistiche visualizzate sono molto leggibili. Uscita campione:
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
Ho avuto lo stesso bisogno di me stesso e la soluzione più semplice che ho scoperto è stata quella di utilizzare come detto telnet per connettersi all'interfaccia di gestione (dovrete aggiungere: management localhost 6666 , nel file di configurazione del server).
Per ottenere il numero esatto di client puoi fare:
Quindi otterrai molti registri:
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
Nel mio caso, dato che ho un numero molto elevato di client, l'utilizzo del file di registro non è sicuramente molto pratico.
Puoi anche inviare il segnale usr2 al processo openvpn per farlo scrivere informazioni statistiche su syslog. Questo è sicuro, non è necessario riavviare nel caso in cui non sia stata abilitata l'interfaccia di gestione prima.
killall -USR2 openvpn
. Quindi guarda i registri. Potrebbe essere /var/log/syslog
o in /var/log/messages
base alla distribuzione.
kill
il comando può inviare segnali diversi, USR2 non ucciderà, è solo un segnale. Puoi vedere un elenco qui: linux.org/threads/kill-signals-and-commands-revised.11625 o eseguendo kill -l
.
Gestisco i server OpenVPN dei nostri amici e il modo in cui vedo le connessioni attive è come questo,
aggiungere a /etc/openvpn/server.conf
management 127.0.0.1 5555
riavvia il server openvpn
systemctl restart openvpn@server.service
aggiungere un pacchetto Python di OpenVPN Monitor: verrà eseguito tramite un server Web Gunicorn e mostrerà connessioni attive,
mkdir /opt/openvpn-monitor
creare un ambiente virtuale (non richiesto ma buona pratica con i pacchetti py)
cd /opt/openvpn-monitor
virtualenv venv
source venv/bin/activate
installa i pacchetti richiesti
pip install openvpn-monitor gunicorn
aggiungere un file di configurazione di Monitor
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
avviare il web server che mostrerà le connessioni attive,
gunicorn openvpn-monitor -b 0.0.0.0:80 --name openvpn-monitor --daemon
Per fermare il monitor
pkill gunicorn
per vedere le connessioni attive, vai all'IP pubblico del tuo server VPN
http://<ip of openvpn server>
assicurati di configurare il firewall adeguato per la porta 80, autorizza solo gli IP in entrata fidati
Basta usare sacli con il seguente comando. Questo elencherà i client VPN collegati.
/usr/local/openvpn_as/scripts/sacli VPNSummary
{
"n_clients": 15
}
Per vedere tutti gli IP usa questa opzione. ./sacli VPNStatus