{"id":102,"date":"2009-08-23T00:29:13","date_gmt":"2009-08-22T23:29:13","guid":{"rendered":"http:\/\/blog.brimbelle.org\/?p=102"},"modified":"2009-08-23T00:29:13","modified_gmt":"2009-08-22T23:29:13","slug":"statistiques-openvpn-automatiques","status":"publish","type":"post","link":"https:\/\/blog.brimbelle.org\/index.php\/2009\/08\/23\/statistiques-openvpn-automatiques\/","title":{"rendered":"Statistiques OpenVPN automatiques"},"content":{"rendered":"<p>Je suis un grand fan d&rsquo;OpenVPN pour avoir un acc\u00e8s complet \u00e0 internet lorsque cel\u00e0 n&rsquo;est pas possible avec la connexion que j&rsquo;utilise. Quand je me d\u00e9place avec mon portable j&rsquo;ai souvent \u00e0 passer par des proxys en tout genre, avec ou sans authentification (voir pire&#8230; avec authentification NTLM&#8230;) et c&rsquo;est l\u00e0 qu&rsquo;OpenVPN est vraiment indispensable.<\/p>\n<p>Ma configuration marche tellement bien que plusieurs personnes de mon entourage m&rsquo;ont demand\u00e9 des acc\u00e8s. Mais j&rsquo;ai rapidement eu envie de surveiller la consommation relative \u00e0 OpenVPN ainsi que les utilisateurs connect\u00e9s \u00e0 un instant T.<\/p>\n<p><!--more--><\/p>\n<p>OpenVPN ne facilite pas vraiment la t\u00e2che pour r\u00e9cup\u00e9rer des informations. Elles sont de plus tr\u00e8s minimales. Deux moyens sont possibles : envoyer un signal SIGUSR2 au processus OpenVPN ou consulter le fichier d\u00e9fini par l&rsquo;option <em>status<\/em> dans la configuration du serveur.<\/p>\n<p>La solution la plus simple que j&rsquo;ai trouv\u00e9 est de r\u00e9aliser un petit script qui parcourt le ou les fichiers de configuration d&rsquo;OpenVPN (pour ma part deux instances fonctionnent donc j&rsquo;ai deux fichiers \u00e0 analyser). Ce script est \u00e9crit en Perl et g\u00e9n\u00e8re une page HTML classique contenant un tableau avec des informations comme le nom de l&rsquo;utilisateur, son adresse IP source, son adresse IP virtuelle, les quantit\u00e9s de donn\u00e9es envoy\u00e9es et re\u00e7ues et enfin le temps de connexion.<\/p>\n<p>Je l&rsquo;utilise dans un cronjob qui r\u00e9\u00e9crit la page en question toutes les minutes.<\/p>\n<p>Pour l&rsquo;utiliser :<\/p>\n<p><code>openvpnstatus.pl fichier_log1 [fichier_log2...] &gt; webpage.html<\/code><\/p>\n<p>Il permet d&rsquo;utiliser des en-t\u00eates et pieds de page personnalis\u00e9s. Il faut positionner les variables <code>header<\/code> et <code>footer<\/code>.<\/p>\n<p>Voici le script <a href=\"http:\/\/www.brimbelle.org\/mattieu\/stuff\/openvpnstatus.pl\">openvpnstatus.pl<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je suis un grand fan d&rsquo;OpenVPN pour avoir un acc\u00e8s complet \u00e0 internet lorsque cel\u00e0 n&rsquo;est pas possible avec la connexion que j&rsquo;utilise. Quand je me d\u00e9place avec mon portable j&rsquo;ai souvent \u00e0 passer par des proxys en tout genre, avec ou sans authentification (voir pire&#8230; avec authentification NTLM&#8230;) et c&rsquo;est l\u00e0 qu&rsquo;OpenVPN est vraiment [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[106,103,107,102,18,104,105,108],"class_list":["post-102","post","type-post","status-publish","format-standard","hentry","category-informations-pour-les-geeks","tag-html","tag-openvpn","tag-page","tag-perl","tag-script","tag-statistique","tag-status","tag-web"],"_links":{"self":[{"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/posts\/102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/comments?post=102"}],"version-history":[{"count":0,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/posts\/102\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/media?parent=102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/categories?post=102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.brimbelle.org\/index.php\/wp-json\/wp\/v2\/tags?post=102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}