Einzelnen Beitrag anzeigen
Alt 24.08.2014, 13:07   #6
schienbein
Benutzer
Punkte: 8.089, Level: 60 Punkte: 8.089, Level: 60 Punkte: 8.089, Level: 60
Levelaufstieg: 70% Levelaufstieg: 70% Levelaufstieg: 70%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
 
Benutzerbild von schienbein
 
Registriert seit: 24.03.2008
Beitr?ge: 46
Abgegebene Danke: 3
Erhielt 43 Danke für 8 Beiträge
Themenstarter Themenstarter
Downloads: 55
Uploads: 1
Nachrichten: 19
Renommee-Modifikator:
0 schienbein ist einfach richtig nettschienbein ist einfach richtig nettschienbein ist einfach richtig nettschienbein ist einfach richtig nettschienbein ist einfach richtig nett
Standard

Mit open vpn kann mann mal abgesehen vom Anonymen surfen auch noch andere Optionen umsetzen obwohl das die primäre Funktion von einem Vpn ist.

ich Bastel grade noch ein einer User/pass Lösung mit Mysql Unterstützung um nicht für jeden Clienten ein Zertifikat erstellen zu müssen.
Der nächste schritt wäre dann da für eine Php Script zu erstellen von welchem man die User anlegen & löschen kann.


Dazu benutze ich das Plugin openvpn-auth-pam.so in Verbindung mit
Code:
libpam-mysql
leider Funktioniert das ganze noch nicht so richtig.

mein Script sieht bisher wie folgt aus:
config.sh:
Code:
#!/bin/bash
##Dababase Server
HOST='localhost'
#Default port = 3306
PORT='3306'
#Username
USER='dein user'
#Password
PASS='dein passwort'
#database name
DB='vpn_db

exit 0
connect.sh:
Code:
#!/bin/bash
. /etc/openvpn/scripts/config.sh
##insert data connection to table log
mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e "INSERT INTO log (log_id,user_id,log_trusted_ip,log_trusted_port,log_remote_ip,log_remote_port,log_start_time,log_end_time,log_received,log_send) VALUES(NULL,'$common_name','$trusted_ip','$trusted_port','$ifconfig_pool_remote_ip','$remote_port_3306',now(),'0000-00-00 00:00:00','$bytes_received','$bytes_sent')"
##set status online to user connected
mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e "UPDATE user SET user_online='yes' WHERE user='$common_name'"



exit 0
disconnect.sh:
Code:
#!/bin/bash
. /etc/openvpn/scripts/config.sh
##set status offline to user disconnected
mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e "UPDATE user SET user_online='no' WHERE user='$common_name'"
##insert data disconnected to table log
mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e "UPDATE log SET log_end_time=now(),log_received='$bytes_received',log_send='$bytes_sent' WHERE log_trusted_ip='$trusted_ip' AND log_trusted_port='$trusted_port' AND user='$common_name' AND log_end_time='0000-00-00 00:00:00'"

exit 0
login.sh
Code:
#!/bin/bash
. /etc/openvpn/script/config.sh
##Authentication
user_id=$(mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -sN -e "select user_id from user where user_id = '$username' AND user_pass = '$password' AND user_enable=1 AND user_start_date != user_end_date AND TO_DAYS(now()) >= TO_DAYS(user_start_date) AND (TO_DAYS(now()) <= TO_DAYS(user_end_date) OR user_end_date='0000-00-00')")
##Check user
[ "$user_id" != '' ] && [ "$user_id" = "$username" ] && echo "user : $username" && echo 'authentication ok.' && exit 0 || echo 'authentication failed.'; exit 1
Das ist der Teil für das login in der Server.conf
Code:
#client-cert-not-required
username-as-common-name

##user/pass auth from mysql
plugin /usr/local/lib/openvpn/openvpn-auth-pam.so openvpn
;auth-user-pass-verify /etc/pam.d/openvpn via-env 

##script connect-disconnect
script-security 2
;learn-address /etc/openvpn/extra scripts/learn-address.sh
client-connect /etc/openvpn/scripts/connect.sh
client-disconnect /etc/openvpn/scripts/disconnect.sh
client-login /etc/openvpn/scripts/login.sh
vieleicht kann mir ja jemand bei der Lösung helfen?

mfg
__________________
Wo soll das hinführen, wie weit mit uns gehen
Selbst ein Baum ohne Wurzeln kann nicht bestehen
Wann hört ihr auf, eure Heimat zu hassen
Wenn ihr euch ihrer schämt, dann könnt ihr sie doch verlassen
Du kannst dich nicht drücken, auf dein Land zu schauen
Denn deine Kinder werden später darauf bauen
Sprache, Brauchtum, und Glaube sind Werte der Heimat
Ohne sie gehen wir unter, stirbt unser kleines Volk

Ge?ndert von schienbein (24.08.2014 um 13:27 Uhr)
schienbein ist offline   Mit Zitat antworten Nach oben