Status von OpenVPN im Webinterface

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hi Leute,

    ich hab es nun geschafft, mir einen Raspberry Pi 2 zu besorgen.

    Darauf läuft Raspbian mit OpenVPN, Remotedesktop und SSH.

    Ich hab also Zugriff auf das Teil von wo ich will. :D

    Nun zur Frage:

    Es gibt diverse Web-Oberflächen (Pi Control, Pi Monitor usw.), die ja auch ganz hübsch sind nur nicht ganz das machen was ich brauche.

    Ich würd mir gern in einem Weinterface anzeigen lassen, wie der Staus des VPN-Servers ist, also verbundene User, etc.

    Hat das schonmal jemand versucht und ne idee wie ich das hin bekomme? :helpnew:

    MfG Steve

  • In die Openvpn Config :

    Code
    status /etc/openvpn/openvpn-status.log

    Die Datei kannst du dann auswerten, sieht so aus :

    Code
    OpenVPN CLIENT LIST
    Updated,Mon Apr 20 12:10:55 2015
    Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
    <username>,<fromip>:60899,12058,6764,Mon Apr 20 12:10:21 2015
    ROUTING TABLE
    Virtual Address,Common Name,Real Address,Last Ref
    10.255.0.11,<user-name>,<fromip>:60899,Mon Apr 20 12:10:45 2015
    GLOBAL STATS
    Max bcast/mcast queue length,0
    END

    Ich nutze Intern das 10.255.0.xxx für die Clients.
    Also mache ich ein

    Code
    cat /etc/openvpn/openvpn-status.log | grep 10.255.0

    was mir eine Liste aller User ausgibt welche grade angemeldet sind.
    Diese kann ich dann entsprechend verarbeiten.
    z.B. so

    Code
    10.255.0.11,<user-name1>,<fromip>:60899,Mon Apr 20 12:10:45 2015
    10.255.0.12,<user-name2>,<fromip>:60899,Mon Apr 20 12:10:46 2015
    10.255.0.13,<user-name3>,<fromip>:60899,Mon Apr 20 12:10:47 2015
    10.255.0.14,<user-name4>,<fromip>:60899,Mon Apr 20 12:10:47 2015
    10.255.0.15,<user-name5>,<fromip>:60899,Mon Apr 20 12:10:48 2015

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Da musst du den Umweg über ein Shellscript nehmen.
    www-data ( Der User des Webserver) hat keinen Zugriff auf das Logfile.

    Einfach ein Script erstellen was per Crontab jede Minute aufgerufen wird.
    So in etwa :

    Bash
    #!/bin/bash
    cat /etc/openvpn/openvpn-status.log | grep 10.255.0 >/var/www/openvpnuser.txt
    chown www-data:www-data /var/www/openvpnuser.txt

    in den crontab einbinden
    nano /etc/crontab

    Code
    * *  * * *  root /pfad/zum/script.sh >/dev/null 2>&1

    Dann per PHP einfach die /var/www/openvpnuser.txt verarbeiten.
    Ganz einfach per include oder per file einlesen.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!