Samstag, 15. Februar 2014

Wie man einen OpenVPN-Server auf dem Pi installiert


Wozu ist so was gut?

Ihr verbindet euch mit einem öffentlichen Wlan Netzwerk - Jeder der ein wenig Ahnung hat, kann ohne Probleme euere Daten mitschneiden. Durch einen VPN-Clienten ist dies nicht mehr möglich bzw. der "Angreifer" bekommt nur kryptische Zeichen zu sehen. 

  1. sudo su (damit wir die Befehle als Admin ausführen können)
  1. apt-get install openvpn openssl (Wir installieren ein paar Dinge)
  1. cd /etc/openvpn
    cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa
    Wir wechselten damit in unser Open-VPN Verzeichnis
  1. nano easy-rsa/vars → Wir Edieren eine Datei
    export EASY_RSA=“ /etc/openvpn/easy-rsa“
  1. cd easy-rsa
    source vars
    ./clean-all
    ./pkitool –initca (vor dem „initca“ sind 2 Minuszeichen)
    ln -s openssl-1.0.0.cnf openssl.cnf


  2. Ihr werde gleich nach euerer Landeserkennung gefragt. Für D-Land gebt ihr „DE“ ein und das andere lasst ihr bitte frei.
    Es geht dann weiter mit:
    ./build-ca OpenVPN
    ./build-key-server server
    ./build-key client1


  3. ./build-dh


  4. cd /etc/openvpn
    touch openvpn.conf
    nano openvpn.conf

    Folgende Zeilen könnt ihr euch nun kopieren. Oder ihr schreibt sie mal ab :)

    dev tun proto udp port 1194 ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh1024.pem user nobody group nogroup server 10.8.0.0 255.255.255.0 persist-key persist-tun status /var/log/openvpn-status.log verb 3 client-to-client push "redirect-gateway def1" #set the dns servers push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" log-append /var/log/openvpn comp-lzo

    *Speichern nicht vergessen!!!

  5. sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
    iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE

    Sollte ihr via Wlan mit eurem Pi verbunden sein, dann müsst ihr statt „eth0“, „wlan0“ wählen!

  6. Wir müssen noch ein # Zeichen entfernen bei der Datei „net.ipv4.ip_forward=1
    nano /etc/sysct1.conf
    net.ipv4.ip_forward=1 ← Das # bitte löschen und speichern


  7. crontab -e
    @reboot sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/8 ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE

    Dies dient dazu, dass auch nach einem Neustart alles funktioniert. Denk wieder daran, falls ihr Wlan nutzt, dass auch einzutragen (anstatt eth0).


  8. cd /etc/openvpn/easy-rsa/keys
    nano raspberrypi.ovpn
    Folgendes fügen wir ein:
    dev tunclientproto udpremote RASPBERRY-PI-IP 1194resolv-retry infinitenobindpersist-keypersist-tunca ca.crtcert client1.crtkey client1.keycomp-lzoverb 3

    *bei RASPBERRY-PI-IP kommt euere öffentliche IP rein
  9. tar czf openvpn-keys.tgz ca.crt client1.crt client1.csr client1.key raspberrypi.ovpn
    mv openvpn-keys.tgz /home/pi
    chown pi:pi /home/pi/openvpn-keys.tgz

    Diese Befehle dienen dazu, sämtliche Zertifikate und Pakete zu erstellen.
  10. Wir starten unseren Pi wie folgt neu
    /etc/init.d/openvpn restart
    exit

    Wir weißen ihn auch gleich mit an, dass er nach dem Neustart OpenVPN gleich startet.



Ihr braucht jetzt noch einen VPN-Clienten für euer System – Bei Linux installiert ihr einfach das Paket „openvpn“ - bei Windows empfehle ich dieses KLICK und für OS X dieses KLICK
Vergesst nicht, in eurem Router den Port „1194“ freizugeben und auf eueren Pi umzuleiten!!!
Wie das bei euch geht, kann ich nicht sagen. Da die Router einfach zu unterschiedlich sind.

Das ganze geht auch via Smartphone. Dabei ist es egal ob Android oder iOS - dazu sind allerdings noch ein paar Einstellungen an euerem Pi nötig. Damit dieses Tut nicht zu überladen wird, schreibe ich dazu ein extra Tut und werde es die Tage noch veröffentlichen.

Schönes Wochenende 



Keine Kommentare:

Kommentar veröffentlichen