[B]Einleitung[/B]
OpenVPN ermöglicht es, von einem anderen Internetanschluss auf die Freigaben der Synology zugreifen, oder den Datenverkehr an einem öffentlichen WLAN zu verschlüsseln oder in einem Land wo nicht verfügbar zB Dienste wie Zattoo benutzen ;). In der Firmware-Version 2.3 der Synology-DiskStation ist tun.ko bereits enthalten, was viel Gebastel erspart.
ACHTUNG: Ich übernehme KEINE GARANTIE für eventuelle Schäden.
[B]Erforderliche Pakete installieren[/B]
Um die Pakete installieren zu können, wird vorausgesetzt, dass die DiskStation gebootstrapped ist.
ipkg install module-init-tools openvpn openssl bash
[B]Modul tun.ko einbinden[/B]
/sbin/insmod /lib/modules/tun.ko
mkdir /dev/net/
mknod /dev/net/tun c 10 200
[B]IP-Forwarding aktivieren[/B]
echo 1 > /proc/sys/net/ipv4/ip_forward
[B]ca und server-key für OpenVPN generieren[/B]
mkdir /openvpntemp
cd /openvpntemp
wget http://openvpn.net/release/openvpn-2.1.1.tar.gz
tar -zxvf *.tar.gz
cp easy-rsa/2.0 /opt/etc/openvpn
cd /opt/etc/openvpn
mv 2.0 easy-rsa
cd easy-rsa
bash
source ./vars
exit
mkdir -p /opt/etc/openvpn/easy-rsa/keys
./build-ca
./build-key-server server
./build-dh
[B]Client-Keys generieren[/B]
Achtung: Für jeden Client muss ein eigener Key generiert werden (client1, client2, clientn)
./build-key client1
[B]Server-Konfiguration[/B]
mv /opt/etc/openvpn/openvpn.conf /opt/etc/openvpn/openvpn.conf.alt
cd /opt/etc/openvpn
touch openvpn.conf
nano openvpn.conf
Folgender Inhalt
port 1194
proto udp
dev tun
ca /opt/etc/openvpn/keys/ca.crt
cert /opt/etc/openvpn/keys/server.crt
key /opt/etc/openvpn/keys/server.key
dh /opt/etc/openvpn/keys/dh1024.pem
server 192.168.22.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-to-client
push "route 192.168.5.0 255.255.255.0"
push "redirect-gateway"
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
daemon
Das virtuelle VPN-Netzwerk verteilt also IP-Adressen im Bereich 192.168.22.XX. Zudem kann man auf das interne Netzwerk zugreifen (192.168.5.XX) und über dieses surfen, sofern im Router eine statische Route folgendermassen erstellt worden ist:
Ziel-IP: 192.168.22.0 IP-Subnetz-Maske: 255.255.255.0 Gateway-IP-Adresse: {ip-des-openvpn-servers} Metrik: 2
Um den Server automatisch zu starten bearbeitet man die Datei
/opt/etc/init.d/S20openvpn
Nun sucht man die Zeile
insmod /opt/lib/modules/tun.o
und ersetzt sie mit
insmod /lib/modules/tun.ko
Die Zeile
return 0
löscht man komplett.
[B]Client-Konfiguration[/B]
client
dev tun
proto udp
remote dyndns-adresse.org 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca C:\\programme\\openvpn\\keys\\ca.crt
cert C:\\programme\\openvpn\\keys\\client1.crt
key C:\\programme\\openvpn\\keys\\client1.key
comp-lzo
verb 3
resolv-retry infinite
nobind
persist-key
persist-tun
ca C:\\programme\\openvpn\\keys\\ca.crt
cert C:\\programme\\openvpn\\keys\\client1.crt
key C:\\programme\\openvpn\\keys\\client1.key
comp-lzo
verb 3
Die Konfigurationsdatei kommt (unter Windows) in folgendes Verzeichnis:
c:\programme\OpenVPN\config
Zudem muss man ein neues Verzeichnis
c:\programme\openVPN\keys
erstellen. In dieses kopiert man den Client-Key, das Client-Zertifikat und das ca-Zertifikat.
[B]Portfreigabe[/B]
Im Router Port 1194 freigeben