Ersteinmal ein RIESIGES DANKE an HELLSPAWN für das Tutorial.
Ich habe es genau so umgesetzt - und es läuft auf Anhieb perfekt!
Damit das Ganze permanent in der Box bleibt habe ich ein kleines Script unter /var/tmp/flash geschrieben (mit mvi, damit es gleich ins flash gesichert wird; danke danisahne!). Falls es jemand braucht:
Code:
#!/bin/sh
####################
# /var/tmp/flash/vpn#
####################
DAEMON=openvpnd
PLACE=/var/tmp/vpn
URL=deine.url/fbf/vpn
####################
start(){
# load VPN-Server (OpenVPN)
# wait for server
while !(ping -c 1 www.google.de)
do
sleep 5
done
# change dir
mkdir $PLACE
cd $PLACE
# write 'fritzbox.key' to file
cat > $PLACE/fritzbox.key << 'ENDENDFRITZKEY'
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQCd2yhtYsqyPt1F0iViWT16GSp8KCgWUe9ozADj1el+QFkL+dhJ
35Hq9LjQGW0zmJHv5vTQZmSOXB0FYKNQSHpKSEIfIqvv
-----END RSA PRIVATE KEY-----
ENDENDFRITZKEY
# write 'server.ovpn' to file
cat > $PLACE/server.ovpn << 'SERVERCONFIG'
# OpenVPN v2.0.5 config:
#
# Grundsaetzliches
port 1194
proto udp
dev tap
dev-node /dev/misc/net/tun
daemon
# Server-Einstellungen
mode server
tls-server
server 10.0.0.0 255.255.255.0
client-to-client
# Dies ist der IP-Bereich von eurem FritzBox-LAN
push "route 192.168.178.0 255.255.255.0"
# Authentifizierung und Verschluesselung
ca ca.crt
cert fritzbox.crt
key fritzbox.key
dh dh1024.pem
auth SHA1
cipher AES-256-CBC
# Sonstiges
keepalive 10 60
# FBF als Nameserver (hier Fritzbox IP eintragen)
push "dhcp-option DNS 192.168.178.254"
# allen Traffic durch den Tunnel!
push "redirect-gateway"
SERVERCONFIG
# load files
wget $URL/openvpn
wget $URL/ca.crt
wget $URL/fritzbox.crt
wget $URL/dh1024.pem
# make them executable
chmod +x $PLACE/openvpn
chmod 0600 $PLACE/server.ovpn
chmod 0600 $PLACE/ca.crt
chmod 0600 $PLACE/fritzbox.crt
chmod 0600 $PLACE/fritzbox.key
chmod 0600 $PLACE/dh1024.pem
# start OpenVPN
./openvpn --cd $PLACE --config server.ovpn
echo "OpenVPN started ..."
}
stop() {
# kill the vpn-server
kill `ps | grep './openvpn' | grep -v grep | awk '{print $1}'`
sleep 5
rm -rf $PLACE
echo "OpenVPN stopped ..."
}
####################
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 5
start
;;
*)
echo "Usage: $0 [start|stop|restart]"1>&2
exit 1
;;
esac
exit 0
Auf meinem Webspace liegen die Dateien openvpn (das binary), ca.crt, fritzbox.crt und dh1024.pem .
Auf dem Client läuft folgende Config:
Code:
##########################################
##########################################
# OpenVPN v2.0.5 client-config: #
##########################################
##########################################
# Grundsätzliches
port 1194
proto udp
dev tap
##########################################
# Client-Einstellungen
##########################################
tls-client
ns-cert-type server
remote dein.dyndns.org 1194
##########################################
# Authentifizierung und Verschlüsselung
##########################################
ca ca.crt
cert client01.crt
key client01.key
auth SHA1
cipher AES-256-CBC
##########################################
# Sonstiges
##########################################
keepalive 10 60
pull
Im Config-Verzeichnis liegen natürlich noch die Dateien ca.crt, client01.crt und client01.key .
Beim Connect hat dann die Fritzbox die 10.0.0.1 und der Client die 10.0.0.2. Die Anweisung push "redirect-gateway" sorgt dafür, daß das Default-Gateway auf dem Client auf die Fritzbox (im Tunnel) zeigt. Damit läuft der ganze Traffic in den Tunnel ohne daß der Tunnel selbst zusammenbricht. Damit man auch
http://fritz.box usw. aufrufen kann übergibt man als Nameserver noch die Box selbst mit dem Eintrag push "dhcp-option DNS 192.168.178.254", wobei 192.168.178.254 natürlich die IP eurer Fritzbox sein muß.
Zu guter letzt habe ich noch Fragen: Hat jemand von euch das ganze schon im bridged-mode zum Laufen gebracht? Ist es schädlich in der ar7.cfg bei den brinterfaces noch tap permanent hinzuzufügen?
Irgendwo im Forum habe ich mal eine Konfig mit .p12 Files gesehen. Hat das schon jemand getestet?