import sys
import telnetlib
from time import sleep
from string import find
HOST = "XXX.XXX.XXX.XXX" # Fritzbox IP
TFTP = "XXX.XXX.XXX.XXX" # tfpt Host
CONFIG = "fbvpnservercfg"
#add all files you want to get via tftp
TFTP_FILES = ["openvpn",
"libssl.so.0.9.7",
"liblzo.so.1",
"libgcc_s.so.1",
"libcrypto.so.0.9.7",
"static.key"]
tn = telnetlib.Telnet(HOST)
print tn.open(HOST)
print ("telnet open")
temp = tn.read_until("Fritz!Box web password: ",5)
if find( temp, "Fritz!Box web password: ")>0:
#login process
print ("Connected...")
print ("Login...")
tn.write("<hier euer PW>\n")
print tn.read_until("# ",5)
print ("Login OK...")
print ("Startup VPN Server")
#set lib path to /var/tmp
tn.write("export LD_LIBRARY_PATH=/var/tmp\n")
print tn.read_until("# ",1)
sleep(1)
#set dir to /var/tmp
tn.write("cd /var/tmp\n")
print tn.read_until("# ",1)
sleep(1)
#uncomment to have a nice way to test configs
tn.write("rm " + CONFIG + "\n")
print tn.read_until("# ",1)
sleep(1)
#list files
tn.write("ls\n")
files=tn.read_until("# ",1)
print file
sleep(1)
#config file
if find(files,CONFIG)==-1:
print ("get " + CONFIG + " from tftp")
tn.write("tftp -g -l " + CONFIG + " " + TFTP + "\n")
print tn.read_until("# ",1)
sleep(1)
else:
print (CONFIG +" found")
#check for libs
for file in TFTP_FILES:
if find(files,file)==-1:
print ("get " + file + " from tftp")
tn.write("tftp -g -l " + file + " " + TFTP + "\n")
print tn.read_until("# ",1)
sleep(1)
else:
print (file +" found")
#make openvpn executeable
tn.write("chmod +x openvpn \n")
print tn.read_until("# ",1)
sleep(1)
#kill openvpn job if already running for restart
tn.write("killall openvpn\n")
print tn.read_until("# ",1)
sleep(1)
#start openvpn serverconfig
tn.write("./openvpn --config " + CONFIG + " --dev-node /dev/misc/net/tun\n")
sleep(1)
temp = tn.read_until("UDPv4 link remote: [undef]",20)
if find( temp, "UDPv4 link remote: [undef]")>0:
print temp
print ("Server Online")
else:
print temp
print ("Server Error")
sleep(1)
tn.write("exit\n")
sleep(1)
else:
print ("No connection");
print tn.close()
print ("telnet close")
Neo7530 schrieb:Port80 und 21 TCP sind belegt...
Dino75195 schrieb:wie bekommt man den das Zertifikat auf die Box, dauerhaft!
Bin neu in diesem Thread und habe openvpn (noch) nicht auf der Box, aber es sollte doch genauso funktionieren wie die Variante mit static.key.danisahne schrieb:Ich will nur noch mal eindringlich darauf hinweisen, dass das Nachladen von privaten Keys nichts aber auch garnichts mehr mit Sicherheit zu tun hat! Die Keys und Zertifikate gehören auf die Box und auch NUR auf die Box und nicht auf irgendeinen Webserver.
openssl req -new -newkey rsa:1024 -out client.req -nodes -keyout client.sslkey -days 3650 -config openssl.cnf
openssl ca -days 3650 -out client.crt -in client.req -config openssl.cnf -keyfile ca.sslkey -cert ca.crt
/usr/sbin/telnetd -l /sbin/ar7login
sslurl="192.168.178.10"
sslurlx="/fritz"
while !(ping -c 1 $sslurl); do
sleep 5
done
cd /var/tmp
wget http://$sslurl$sslurlx/openvpn
wget http://$sslurl$sslurlx/fritz.ovpn
wget http://$sslurl$sslurlx/ca.crt
wget http://$sslurl$sslurlx/fritz.crt
wget http://$sslurl$sslurlx/dh1024.pem
chmod +x openvpn
cat > fritz.sslkey << "EOFRITZ"
-----BEGIN RSA PRIVATE KEY-----
[mein Private Key]
-----END RSA PRIVATE KEY-----
EOFRITZ
chmod 600 fritz.sslkey
/var/tmp/openvpn --mktun --cd /var/tmp --dev-type tap --dev-node /dev/misc/net/tun --dev tap0
ar7cfgfile=/var/flash/ar7.cfg
cat $ar7cfgfile > /var/tmp/ar7.cfg.backup
sed -e '/brinterfaces {$/,/}/s/"wdsdw3";/"wdsdw3", "tap0";/' < /var/tmp/ar7.cfg.backup > $ar7cfgfile
/etc/init.d/rc.net reload
cat /var/tmp/ar7.cfg.backup > $ar7cfgfile
/var/tmp/openvpn --cd /var/tmp --daemon --config fritz.ovpn
#echo "/var/flash/debug.cfg completed" > /var/tmp/I_am_done
local 192.168.178.1
client-to-client
log ovpn.log
server 10.0.0.0 255.255.255.0
;tun-mtu 1400
fragment 1300
mssfix
port 1194
proto udp
dev-node /dev/misc/net/tun
dev tap0
ca ca.crt
cert fritz.crt
key fritz.sslkey
dh dh1024.pem
keepalive 10 120
verb 7
remote fritz.box 1194
key client.sslkey
cert client.crt
dev-node VPN ;Name der Netzwerkverbindung
client
ns-cert-type server
nobind
proto udp
dev tap
fragment 1300
mssfix
ca ca.crt
verb 6
Das klappt nicht. Dieser Client ist nicht openvpn-Kompatibel.xray84 schrieb:ich würde gerne den in Windows integrierten Client nutzen