Hallo!
Erstmals danke für deine Hilfe.
Bin schon ein gutes Stück weiter gekommen, habe aber noch immer ein paar Probleme.
Zu IPsec:
Wird erst einmal zurückgestellt.
OpenVPN:
Ich habe mitlerweile auf einem Windows XP Client OpenVPN installiert und verschiedene Konfigurationen mit meinem Server getestet.
Dabei habe ich unter anderem herausgefunden das die Methode mit einem preshared-key bei mir nicht funktioniert, da ich mehrere Clients einbinden will.
Also habe ich mich der Methode mit den Zertifikaten gewitmet.
Diese Methode funktioniert von meinem WindowsClient fast richtig.
(Verbindung wird hergestellt, IP adresse zugeteilt, kann aber den Server nicht anpingen. Aber das ist jetzt noch nicht so wichtig.)
Jetzt möchte ich diese Methode auf die FritzBox übertragen.
Dazu habe ich mir folgendes ausgedacht.
-Als Basis dient ein Pseudoimage mit Telnet, OpenVPN.
-Ich habe einen kennwortgeschützten Webserver auf den ich dateien für meine Fritzbox zu verfügung stellen kann
-Um die Konfiguration der Boxen zu ändern muss ich nur die ovpn-datei(en) am Server ändern und die Boxen hohlen sich die neuen Dateien bei einem Neustart.
Dazu habe ich das ober erwähnte Pseudoimage ein bisschen bearbeitet:
##################################################################################
# install results:
##################################################################################
export INSTALL_SUCCESS_NO_REBOOT=0
export INSTALL_SUCCESS_REBOOT=1
export INSTALL_WRONG_HARDWARE=2
export INSTALL_KERNEL_CHECKSUM=3
export INSTALL_FILESYSTEM_CHECKSUM=4
export INSTALL_URLADER_CHECKSUM=5
export INSTALL_OTHER_ERROR=6
export INSTALL_FIRMWARE_VERSION=7
##################################################################################
echo "install: check and install new firmware ..."
LED_DEVICE=/proc/led_mod/led
if [ ! -f /proc/led_mod/led ] ; then
LED_DEVICE=/var/led
echo "set led: ${LED_DEVICE}"
fi
##################################################################################
# start info led flashing
##################################################################################
echo "set INFO led to blink (modul=7, state=4)"
echo 7,4 > ${LED_DEVICE}
cat > /var/tmp/debug.cfg << 'EOF'
#!/bin/sh
LED_DEVICE=/proc/led_mod/led
if [ ! -f /proc/led_mod/led ] ; then
LED_DEVICE=/var/led
echo "set led: ${LED_DEVICE}"
fi
# start internet phone led flashing
echo "set internet phone led to blink (modul=14, state=3)"
echo 14,3 > ${LED_DEVICE}
# check kernel version
KERNEL_VERSION=`uname -r | grep 2.6`
if [ -z "${KERNEL_VERSION}" ]
then
KERNEL_VERSION="linux24"
ETHERWAKE="etherwake"
else
KERNEL_VERSION="linux26"
ETHERWAKE="ether-wake"
fi
# init busybox var
BUSYBOX="/bin/busybox"
# wait to be able to interrupt in case of emergency
sleep 120
if [ -z "$(busybox | grep telnetd)" ]
then
while !(ping -c 1 ftp.the-construct.com)
do
sleep 5
done
# check if file already exists
if [ ! -f /var/tmp/busybox ]
then
wget -qO /var/tmp/busybox http://ftp.the-construct.com/files/${KERNEL_VERSION}/busybox
# make it executable
chmod +x /var/tmp/busybox
fi
# set busybox var
BUSYBOX="/var/tmp/busybox"
fi
# start telnet deamon with password of web gui
${BUSYBOX} telnetd -l /sbin/ar7login
# load VPN-Server (OpenVPN)
# create tun-device
mknod /var/tmp/tun c 10 200
#begin-----------------------------------------------------
# wait for server
while !(ping -c 1 ftp.the-construct.com)
do
sleep 5
done
wget -qO /var/tmp/client.ovpn
http://xxx:[email protected]:82/openvpn/graz.ovpn
wget -qO /var/tmp/client.key
http://xxx:[email protected]:82/openvpn/graz.key
wget -qO /var/tmp/client.crt
http://xxx:[email protected]:82/openvpn/graz.crt
wget -qO /var/tmp/ca.crt
http://xxx:[email protected]:82/openvpn/ca.crt
wget -qO /var/tmp/dh1024.pem
http://xxx:[email protected]:82/openvpn/dh1014.pem
#end-------------------------------------------------------
# check if file already exists
if [ ! -f /var/tmp/openvpn ]
then
# wait for server
while !(ping -c 1 ftp.the-construct.com)
do
sleep 5
done
# load files
wget -qO /var/tmp/openvpn http://ftp.the-construct.com/files/${KERNEL_VERSION}/openvpn
fi
#beginn-------------------------------------------------
# make them executable
chmod +x /var/tmp/openvpn
chmod 0600 /var/tmp/client.ovpn
chmod 0600 /var/tmp/client.key
chmod 0600 /var/tmp/client.crt
chmod 0600 /var/tmp/ca.crt
chmod 0600 /var/tmp/dh1024.pem
#end------------------------------------------------------
# start OpenVPN
/var/tmp/openvpn --config /var/tmp/client.ovpn
# stop internet phone led flashing
echo 14,1 > ${LED_DEVICE}
EOF
# write debug.cfg
cat /var/tmp/debug.cfg > /var/flash/debug.cfg
# delete /var/tmp/debug.cfg
rm /var/tmp/debug.cfg
# reboot
exit $INSTALL_SUCCESS_REBOOT
# (c) 2006 Andreas Baginski
Wenn ich ein FirmwareUpdate mit diesem Pseudoimage durchführen will bekomme ich die Meldung "An unspecified error occurred during the update".
Vielleicht kann sich ja jemand einmal mein Pseudoimage ansehen um zu sehen ob ich dort einen Fehler habe.
mfg