Vorarbeit: Einen Port am Router weiterleiten
Der Router muss außerdem wissen, welche Anfragen aus dem Internet durchgelassen werden solleen und welcher Teilnehmer im Netzwerk der Open-VPN-Server ist. Zu diesem Zweck richten Sie auf dem Router Port-Forwarding ein, um gezielt nach außen einen einzigen Port zu öffnen und an die passende Adresse im LAN weiterzuleiten. Der Port für Open VPN ist der Port 1194 (UDP). Wenn der Open-VPN-Server im LAN beispielsweise die IP 192.168.1.6 hat, dann leiten Sie vom Router den Traffic vom Typ UDP am Ports 1194 auf die interne IP-Adresse und den dortigen Port 1194 um. Welche IP-Adresse die Netzwerkschnittstelle (WLAN oder Ethernet) des Raspberry Pi hat, finden Sie dort in der Kommandozeile mit dem Befehl
/sbin/ifconfig
heraus. Der Server, der von außen die VPN-Verbindungen akzeptieren soll, muss zudem aus dem Internet erreichbar sein. Und zwar über eine feste IP-Adresse oder über einen eindeutigen DNS-Namen.
Bei DSL-Anbindung fällt eine feste IP aus, da bei jedem Verbindungsaufbau der Provider neue IP-Adressen vergibt. Für diesem Fall kommt ein dynamischer DNS-Dienst wie beispielsweise Noip zur Hilfe, der auch einer sich ändernden IP-Adresse feste Host-Namen im DNS zuteilt. Die meisten DSL-Router unterstützen Noip und teilen dem Dienst nach der Einrichtung automatisch die neue IP des Providers mit.
Open VPN: Installation unter Raspbian
In der Kommandozeile von Raspbian/Raspbmc dient der Paketmanager APT von Debian zur Installation von Open VPN - man muss nichts selbst kompilieren. Mit den beiden Befehlen
sudo apt-get update
sudo apt-get install openvpn
werden die Pakete über die bestehende Internetverbindung aus dem Software-Verzeichnis der Distribution installiert. Für die spätere Erstellung der eigenen Zertifikate für die VPNVerschlüsselung gibt es fertige Scripts, die noch an die richtige Stelle kopiert werden müssen:
sudo cp -r /usr/share/doc/ openvpn/examples/easy-rsa/2.0 / etc/openvpn/easy-rsa
Anschließend gehen Sie mit
cd /etc/openvpn/easy-rsa
in das Script-Verzeichnis und editieren mit
sudo nano vars
die Konfigurationsdatei "vars". Gehen Sie dort zuerst zur Zeile, die mit "export KEY_CONFIG=" beginnt und ändern Sie diese zu:
export KEY_CONFIG=$EASY_RSA/ openssl-1.0.0.cnf
Die Zeile "EASY_RSA=" ändern Sie zudem
export EASY_RSA="/etc/openvpn/ easy-rsa"
Die nächsten Anpassungen sind nahe am Ende der Datei zu machen, um Namen und Identität des VPNs anzupassen. Viele dieser Parameter sind zwar nicht unbedingt für die korrekte Funktion des VPNs relevant, müssen aber trotzdem gesetzt sein:
export KEY_COUNTRY="DE"
Landeskürzel, beispielsweise "DE" für Deutschland.
export KEY_PROVINCE="BY"
Ein beliebiger Name für das Bundesland.
export KEY_CITY="Muenchen"
Eine Ortsangabe, die den Standort angibt.
export KEY_ORG="MeinVPN"
Ein Firmenname Ihrer Wahl. Kann auch einfach der Domain-Name sein.
export KEY_EMAIL="pcwelt@googlemail.com"
export KEY_EMAIL=pcwelt@googlemail.com
Zweimalige Angabe einer beliebigen Mailadresse des VPN-Administrators, also meist einfach die eigene Adresse.
export KEY_CN="example.no-ip.com"
Der gewünschte Name dieses VPNs. Es sollte hier die Angabe des dynamischen Domain- Namens erfolgen, der zuvor über Noip eingerichtet wurde.
export KEY_NAME="MeinVPN"
Ein beliebiger Name für den Aussteller der Zertifikate.
export KEY_OU="MeinVPN"
Eine Angabe zum Abteilungsnamen, der frei gewählt werden kann. Die abschließenden beiden Parameter
export PKCS11_MODULE_ PATH=changeme
export PKCS11_PIN=1234
kommen nicht zum Einsatz und brauchen nicht geändert zu werden.