Solución:
Solución 1:
Debería haber un registro de estado que pueda ver para mostrarle, el mío es, por ejemplo:
cat /etc/openvpn/openvpn-status.log
EDITAR:
Como alternativa, agregar la bandera --management IP port [pw-file]
o agregando esa misma directiva a su server.conf
, por ejemplo:
management localhost 7505
Esto le permitiría hacer telnet a ese puerto y ofrecerle una lista de comandos para ejecutar:
telnet localhost 7505
help
Solucion 2:
Para completar la respuesta de @sekrett:
killall -USR2 openvpn ; tail -f /var/log/syslog
Seguirá funcionando, no es una muerte “normal”, solo una solicitud para imprimir algunas estadísticas.
Las estadísticas mostradas son muy legibles. Salida de muestra:
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
Solución 3:
Yo mismo tuve la misma necesidad y la solución más fácil que encontré fue usar telnet como se mencionó para conectarme a la interfaz de administración (tendrá que agregar:administración localhost 6666, en el archivo de configuración del servidor).
Para obtener el número exacto de cliente puede hacer:
- telnet localhost 6666
- estado
Entonces obtendrás muchos registros:
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
- buscar =>> CLIENTE: ENV, n_clients = 19361
En mi caso, dado que tengo una gran cantidad de clientes, usar el archivo de registro definitivamente no es muy práctico.
Solución 4:
Administro los servidores OpenVPN de nuestra empresa y la forma en que veo las conexiones activas es así:
agregar a /etc/openvpn/server.conf
management 127.0.0.1 5555
reiniciar el servidor openvpn
systemctl restart [email protected]
agregue un paquete OpenVPN Monitor Python: esto se ejecutará a través de un servidor web Gunicorn y mostrará las conexiones activas,
mkdir /opt/openvpn-monitor
crear un entorno virtual (no es obligatorio, pero es una buena práctica con paquetes py)
cd /opt/openvpn-monitor
virtualenv venv
source venv/bin/activate
instalar los paquetes requeridos
pip install openvpn-monitor gunicorn
agregar un archivo de configuración de 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
inicie el servidor web que mostrará las conexiones activas,
gunicorn openvpn-monitor -b 0.0.0.0:80 --name openvpn-monitor --daemon
Para detener el monitor
pkill gunicorn
para ver las conexiones activas, vaya a la IP pública de su servidor VPN
http://<ip of openvpn server>
asegúrese de configurar el firewall adecuado para el puerto 80, incluya en la lista blanca solo las direcciones IP entrantes confiables
Solución 5:
También puede enviar la señal usr2 al proceso openvpn para que escriba información estadística en syslog. Esto es seguro, no necesita reiniciar en caso de que no haya habilitado la interfaz de administración antes.