Installation OpenVPN

Aus Qloc Wiki
Wechseln zu: Navigation, Suche

In diesem Artikel erklären wir Ihnen, wie Sie OpenVPN auf einem Debian 8 Server installieren und grundeinrichten.

TUN/TAP aktivieren

Auf KVM basierten oder dedicated Linux Servern führen Sie folgenden Befehl aus, um das Kernelmodul zu laden:

modprobe tun

Sollten Sie einen OpenVZ basierten Linux VPS besitzen, müssen Sie das TUN/TAP-Modul von einem unserer Supporter aktivieren lassen. Schreiben Sie hierzu bitte ein Ticket.

OpenVPN installieren

  • Überprüfen ob TUN/TAP aktiviert ist:
cat /dev/net/tun

Hier sollten Sie als Meldung "File descriptor in bad state" erhalten. Sollten Sie diese Meldung nicht erhalten, wurde das TUN/TAP Modul nicht richtig geladen!

  • Neue Paketquellen zu den Sources hinzufügen:
wget -O - http://swupdate.openvpn.net/repos/repo-public.gpg|apt-key add -
echo "deb http://swupdate.openvpn.net/apt jessie main" > /etc/apt/sources.list.d/swupdate.openvpn.net.list
  • Die Pakete und das System auf den aktuellsten Stand bringen:
apt-get update && apt-get upgrade -y
  • Installieren von “openvpn” und “udev”:
apt-get install openvpn udev

Konfigurieren

  • Herunterladen und Kopieren der Beispieldateien in den Konfigurationsordner von OpenVPN:
wget https://qloc.de/tco/easy-rsa-2.2.0-openvpn.tar.gz
tar xfvz easy-rsa-2.2.0-openvpn.tar.gz
mv easy-rsa/ /etc/openvpn/
  • Editieren der Datei “vars”:
nano /etc/openvpn/easy-rsa/2.0/vars
  • Editieren Sie die letzten Zeilen mit folgendem Inhalt und passen Sie diese an:
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"

Zertifikate erstellen

  • Geben Sie nun die folgenden Befehle nacheinander in die Konsole ein und passen Sie nach Ausführen des letzten Befehl die Daten an die persönlichen Bedürfnisse an.
cd /etc/openvpn/easy-rsa/2.0/
. /etc/openvpn/easy-rsa/2.0/vars
. /etc/openvpn/easy-rsa/2.0/clean-all
. /etc/openvpn/easy-rsa/2.0/build-ca
  • Privaten Schlüssel für den Server erstellen:
. /etc/openvpn/easy-rsa/2.0/build-key-server server

Diese Angaben bitte ebenfalls auf die persönlichen Bedürfnisse anpassen. Die Angaben "challenge password" und "company name" können mit Enter übersprungen werden.

  • Client Zertifikate erstellen:
. /etc/openvpn/easy-rsa/2.0/build-key MEINCOMPUTER

Ersetzen Sie "MEINCOMPUTER" gegen einen anderen Namen!

  • Diffie-Hellman-Parameter generieren:
. /etc/openvpn/easy-rsa/2.0/build-dh

Weitere Client Zertifikate erstellen

  • Führen Sie die folgenden Befehle aus, falls Sie weitere Zertifikate für andere Clients erstellen möchten:
. /etc/openvpn/easy-rsa/2.0/build-key MEINWEITERERCOMPUTER

Ersetzen Sie "MEINWEITERERCOMPUTER" gegen einen anderen Namen!

Server Dateien kopieren

  • Führen Sie folgende Befehle aus:
cd /etc/openvpn/easy-rsa/2.0/keys
cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn
mkdir /home/OpenVPN
cp ca.crt MEINCOMPUTER.crt MEINCOMPUTER.key /home/OpenVPN
cd /usr/share/doc/openvpn/examples/sample-config-files
gunzip -d server.conf.gz
cp server.conf /etc/openvpn/server.conf
cp client.conf /home/OpenVPN/MEINCOMPUTER.conf
  • Editieren Sie die Datei "MEINCOMPUTER.conf":
cd /home/OpenVPN
nano MEINCOMPUTER.conf

Passen Sie hier die Pfade und die Namen für Ihre Client Zertifikate an. Diese Datei und die Client Zertifikate sind für Ihren Computer gedacht. Beim Editieren müssen daher die Zertifikats-Pfade an Ihren Computer angepasst werden. Geben Sie als "remote"-Ziel die IP Adresse Ihres Servers und den Port an: z.B. "remote XX.XX.XX.XX 1194".

Zugriff des Clients auf die Netzwerkanbindung des Servers erlauben und DNS konfigurieren

  • Öffnen Sie erneut die Datei "server.conf":
nano /etc/openvpn/server.conf

Entfernen Sie das Semikolon vor der Zeile "push "redirect-gateway def1 bypass-dhcp"". Ändern Sie diese Zeile im Anschluss in: push "redirect-gateway def1" Entfernen Sie vor "dev tap" das Semikolon und setzen Sie es vor "dev tun".

  • Editieren Sie nun die Datei "sysctl.conf" und aktivieren Sie das IPv4-Forwaren durch das Entfernen des Semikolons vor der Zeile "net.ipv4.ip_forward=1":
nano /etc/sysctl.conf

Wenden Sie anschließend die Änderungen in der "sysctl.conf" an:

sysctl -p
  • Konfiguration von iptables:

Mit den folgenden Befehlen werden wichtige iptables Regeln erstellen:

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -o venet0 -j SNAT --to XX.XXX.XX.XX

Ersetzen Sie "XX.XXX.XX.XX" gegen Ihre Server IP! "venet0" steht für die Netzwerkkarte. Sollten Sie einen Rootserver besitzen, geben Sie hier bitte "eth0" an!

  • Damit diese Regeln beim nächsten Neustart nicht verloren gehen, sollten diese nochmals in die Datei "/etc/rc.local" schreiben:
nano /etc/rc.local
# By default this script does nothing

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -o venet0 -j SNAT --to XX.XXX.XX.XX

exit 0

Starten Sie nun den Dienst "OpenVPN" neu:

/etc/init.d/openvpn restart

oder

service openvpn restart

Einrichtung auf einem Windows Computer

  • Laden Sie zunächst auf folgender Webseite den OpenVPN Windows Installer herunter und installieren Sie den OpenVPN Client:

http://openvpn.net/index.php/open-source/downloads.html

  • Zertifikate und Konfiguration auf den Client herunterladen:

Laden Sie die Dateien "ca.crt", "MEINCOMPUTER.crt", "MEINCOMPUTER.key" und "MEINCOMPUTER.conf" auf Ihren Windows Computer herunter. Der Dateiname der Dateien sind abhängig vom zuvor festgelegten Client Namen! Übertragen Sie diese Zertifikate nur über eine verschlüsselte Verbindung (z.B. SFTP)!

  • Benennen Sie die Datei "MEINCOMPUTER.conf" in "MEINCOMPUTER.ovpn" um.
  • Öffnen Sie die Datei "MEINCOMPUTER.ovpn" mit einem beliebigen Editor:
 - Geben Sie als "remote"-Ziel die IP Adresse Ihres Servers und den Port an: z.B. "remote XX.XX.XX.XX 1194"
 - Überprüfen Sie die Dateinamen und die Dateipfade für die Zertifikate "ca", "cert", "key" und dh.
 - Entfernen Sie vor "dev tap" das Semikolon und setzen Sie es vor "dev tun".
  • Kopieren Sie die Dateien in das Verzeichnis "C:\Program Files\OpenVPN\config" (relativer Pfad).

Hinweise:

  • Starten Sie den OpenVPN Client immer als Administrator und Verbinden Sie über das OpenVPN Symbol in der Taskleiste mit Ihrem OpenVPN Server.
  • Sollte die Verbindung erfolgreich aufgebaut worden sein, sollte die IP Adresse Ihres Servers auf bei einem Test auf http://www.wieistmeineip.de/ erscheinen.
  • Sollten Sie keine Verbindung mit dem OpenVPN Server aufbauen können, navigieren Sie zum Speicherort der OpenVPN Config, machen Sie einen Rechtsklick auf die Datei und klicken Sie auf "Start OpenVPN on this Config file". Hier öffnet sich eine Konsole, in der Sie den genauen Fehler besser nachvollziehen können.
  • Für OpenVPN Server gibt es eine Reihe an Optionen (z.B. Verschlüsselungen). In der offiziellen Wiki finden Sie diesbezüglich weitere Hilfestellungen.