Je développe un site Web pour gérer les utilisateurs OpenVPN avec le framework Django. Mais j'ai besoin de savoir s'il existe un moyen d'extraire les utilisateurs actifs d'OpenVPN. Mon serveur exécute Ubuntu 12.04.
59
Il devrait y avoir un journal de statut que vous pouvez consulter pour vous montrer, le mien est, par exemple:
cat /etc/openvpn/openvpn-status.log
MODIFIER:
En guise d'alternative, ajouter l'indicateur --management IP port [pw-file]
ou ajouter la même directive à votre server.conf
, par exemple:
management localhost 7505
Cela vous permettrait d’effectuer une connexion telnet sur ce port et de vous proposer une liste de commandes à exécuter:
telnet localhost 7505
help
/etc/openvpn/openvpn-status.log
cela n’a pas fonctionné pour moi sur Debian, cela n’a jamais changé, mais/var/run/openvpn/server.status
a parfaitement fonctionné.Pour compléter la réponse @sekrett :
Il continuera à fonctionner, ce n'est pas un kill "normal", mais une simple demande d'imprimer des statistiques.
Les statistiques affichées sont très lisibles. Exemple de sortie:
la source
J'ai eu le même besoin moi-même et la solution la plus simple que j'ai découverte consistait à utiliser telnet mentionné pour se connecter à l'interface de gestion (vous devrez ajouter: management localhost 6666 , dans le fichier de configuration du serveur).
Pour obtenir le nombre exact de clients que vous pouvez faire:
Ensuite, vous aurez beaucoup de journaux:
Dans mon cas, comme je possède un très grand nombre de clients, l’utilisation du fichier journal n’est certainement pas très pratique.
la source
Vous pouvez également envoyer un signal usr2 au processus openvpn pour lui faire écrire des informations statistiques dans syslog. Ceci est sûr, vous n'avez pas besoin de redémarrer si vous n'avez pas activé l'interface de gestion auparavant.
la source
killall -USR2 openvpn
. Ensuite, regardez les journaux. Cela peut être/var/log/syslog
ou/var/log/messages
selon la distribution.kill
commande peut envoyer des signaux différents, USR2 ne tuera pas, il s'agit simplement d'un signal. Vous pouvez voir une liste ici: linux.org/threads/kill-signals-and-commands-revised.11625 ou en cours d'exécutionkill -l
.Je gère les serveurs OpenVPN de notre entreprise et la façon dont je vois les connexions actives est comme ça,
ajouter à /etc/openvpn/server.conf
redémarrer le serveur openvpn
ajouter un package OpenVPN Monitor Python - il s'exécutera via un serveur Web Gunicorn et affichera les connexions actives,
créer un env virtuel (non requis mais bonne pratique avec les paquets py)
installer les paquets requis
ajouter un fichier de configuration du moniteur
démarrez le serveur Web qui affichera les connexions actives,
Pour arrêter le moniteur
pour voir les connexions actives, allez à l'adresse IP publique de votre serveur VPN
assurez-vous de configurer le pare-feu approprié pour le port 80, liste blanche uniquement les adresses IP entrantes approuvées
la source
Il suffit d'utiliser sacli avec la commande suivante. Ceci listera les clients VPN connectés.
Pour voir toutes les adresses IP, utilisez cette option. ./sacli VPNStatus
la source