SoftEther VPN auf dem Raspberry Pi

Wie man auf dem Raspberry eine PPTP-VPN Verbindung einrichtet, habe ich ja schon beschrieben. Nun ist diese Lösung nicht besonders sicher, wie von euch schon korrekt bemerkt wurde. Deswegen möchte ich eine nicht minder benutzerfreundliche aber sichere Methode anbieten. Dazu wird die Software “SoftEther” verwendet. SoftEther steht für Software Ethernet – es bietet also eine Software-basierende Ethernetschnittstelle.

Es stehen keine Pakete bereit, also kompillieren wir selber:

wget http://www.softether-download.com/files/softether/v4.03-9411-rtm-2014.01.07-tree/Linux/SoftEther%20VPN%20Server/32bit%20-%20ARM%20EABI/softether-vpnserver-v4.03-9411-rtm-2014.01.07-linux-arm_eabi-32bit.tar.gz

Dann wird dekromprimiert:

tar zxvf softether-vpnserver-v4.03-9411-rtm-2014.01.07-linux-arm_eabi-32bit.tar.gz

Wechsekn dann in das Verzeichnis und kompillieren:

cd vpnserver
sudo make

Dann kopieren wir das Programm nach /usr/local/ und machen es ausführbar:

cd ..
sudo mv vpnserver /usr/local
cd /usr/local/vpnserver
sudo chmod 600 *
sudo chmod 700 vpncmd vpnserver

Dann testn wir per

sudo ./vpncmd

ob alles geklappt hat. Wir wählen 3 aus und lassen alles durchlaufen. Mit exit verlassen wir vpncmd und legen einen Autostarteintrag an:

sudo nano /etc/init.d/vpnserver

Darin soll folgender Text stehen:

#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther VPN Server
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/vpnserver
test -x $DAEMON || exit 0
case “$1” in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo “Usage: $0 {start|stop|restart}”
exit 1
esac
exit 0

Aufzeichnen

Und machen das Ganze ausführbar und aktivieren und starten es:

sudo chmod 755 /etc/init.d/vpnserver
sudo update-rc.d vpnserver defaults
sudo /etc/init.d/vpnserver start

Jetzt können wir das Setup durchlaufen. Am besten nehmen wir die Defaults und setzen ein neues Passwort.

sudo /usr/local/vpnserver/vpncmd

Dazu wählen wir 1. Eventuell muss noch ServerPasswordSet eingegeben werden.

Jetzt kann von der Downloadseite der Servermanager und der Client heruntergeladen werden. Der Rest ist selbsterklärend 😛

RaspberryPi als PPTP-VPN-Server

Wenn man (aus welchem Grund auch immer) Zugriff auf ein anderes Netzwerk haben möchte, das direkte Mitlesen beim Surfen im Internetcafé unterbinden will oder einfach nur mal eine andere IP-Adresse braucht, dann ist man sicher schon mal auf den Begriff VPN gestoßen. Ein VirtuellesPrivatesNetzwerk – Netzwerktunnel oder so ähnlich. Nun kann man sich bei einem Anbieter für teuer Geld Produkte (CyberGhost, AvastVPN etc.) verkaufen lassen, in die man nicht “hineinschauen” kann. Oder man greift sich seinen RaspberryPi und macht es selber. Es ist einfacher als gedacht!

Ich setze mal voraus, dass Raspbian oder eine vergleichbare Distribution installiert ist. Internetzugriff ist natürlich auch essentiell.

Als Erstes bringen wir den Pi auf den aktuellen Stand:

sudo apt-get update ; sudo apt-get upgrade ; sudo apt-get dist-upgrade

Dann testen wir die Vorbedingungen:

sudo modprobe ppp-compress-18

Keine Fehler? Dann kann es ja losgehen. Wir installieren den Server:

sudo apt-get install pptpd

Wenn dies erfolgreich geschehen ist, müssen noch ein paar Anpassungen in Konfigurationsdateien durchgeführt werden. Als erstes nehmen wir und die pptp.conf vor:

sudo nano /etc/pptp.conf

Darin wird folgende Zeile angepasst:

localip 192.168.0.1

Die IP-Adresse muss natürlich durch die Adresse des Pi’s ersetzt werden (per ifconfig herausfinden). Mit Strg+x schließen und speichern. Jetzt öffnen wir /etc/ppp/pptpd-options :

sudo nano /etc/ppp/pptpd-options

Und geben folgendes ein am Ende der Datei ein:

ms-dns 8.8.8.8
ms-dns 8.8.4.4

Die IP-Adressen könne so gelassen werden (wenn der Pi wie meinem im Rack hängt (PCextreme.nl o.ä.)) sollten aber hinter einem Router durch dessen IP ersetzt werden. Speichern und in der Datei /etc/ppp/chap-sectrets die Nutzernamen und Passwörter festlegen.

sudo nano /etc/ppp/chap-secrets

Beispiel:

# Secrets for authentication using CHAP
# client              server     secret                                  IP adresses
nutzername    *                 passwort                            *

Speichern. Und Service neustarten.

sudo service pptpd restart

Jetzt musst die IP-Weiterleitung aktiviert werden. Dazu wird /etc/sysctl.conf editiert:

sudo nano /etc/sysctl.conf

Jetzt net.ipv4.ip_forward=1 suchen oder einfügen. Speichern. Als letzten schreiben wir noch folgendes in /etc/rc.local vor exit 0:

sudo sysctl net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

nano-vpn-rc.local

Jetzt den Pi neustarten und: Fertig!