Estoy desarrollando un sitio web para administrar usuarios de OpenVPN con el marco Django. Pero necesito saber, ¿hay alguna forma de extraer usuarios activos de OpenVPN? Mi servidor ejecuta Ubuntu 12.04.
59
Debe 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 la 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
/etc/openvpn/openvpn-status.log
no funcionó para mí en Debian, nunca cambió, en cambio/var/run/openvpn/server.status
funcionó perfectamente.Para completar la respuesta de @sekrett :
Seguirá ejecutándose, no es un asesinato "normal", solo una solicitud para imprimir algunas estadísticas.
Las estadísticas mostradas son muy legibles. Salida de muestra:
fuente
Tengo la misma necesidad y la solución más fácil que descubrí fue usar el telnet mencionado para conectarme a la interfaz de administración (deberá agregar: localhost 6666 de administración , en el archivo de configuración del servidor).
Para obtener el número exacto de clientes que puede hacer:
Entonces obtendrás muchos registros:
En mi caso, dado que tengo una gran cantidad de clientes, usar el archivo de registro definitivamente no es muy práctico.
fuente
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.
fuente
killall -USR2 openvpn
. Entonces mire los registros. Puede ser/var/log/syslog
o/var/log/messages
depende de la distribución.kill
El comando puede enviar diferentes señales, USR2 no matará, es solo una señal. Puede ver una lista aquí: linux.org/threads/kill-signals-and-commands-revised.11625 o ejecutándosekill -l
.Administro los servidores OpenVPN de nuestra empresa y la forma en que veo las conexiones activas es así,
agregar a /etc/openvpn/server.conf
reiniciar el servidor openvpn
agregue un paquete OpenVPN Monitor Python: esto se ejecutará a través de un servidor web Gunicorn y mostrará conexiones activas,
crear un entorno virtual (no es obligatorio pero es una buena práctica con los paquetes py)
instalar paquetes requeridos
agregar un archivo de configuración de Monitor
inicie el servidor web que mostrará conexiones activas,
Para detener el monitor
Para ver las conexiones activas, vaya a la IP pública de su servidor VPN
asegúrese de configurar el firewall adecuado para el puerto 80, la lista blanca solo incluye IP entrantes de confianza
fuente
Simplemente use sacli con el siguiente comando. Esto enumerará los clientes VPN conectados.
Para ver todas las IP use esta opción. ./sacli VPNStatus
fuente