/ Gateway

OpenVPN Server: Linux Server als Gateway nutzen

Heute beschäftigen wir uns mit der Einrichtung eines OpenVPN Tun Servers und der Konfiguration des OpenVPN Clients

Vorbereitung:

  • Root zugriff auf einen Linux Server (Debian / Ubuntu)
  • Der Server darf nicht mit OpenVZ Virtualliesiert sein da dort die Kernelerweiterung für (TUN/TAP) nicht aktiviert werden kann

Durchführung:

Als erstes bringen wir unser System auf den aktuellsten Stand

bash:~$ apt-get update && apt-get upgrade -y

Den OpenVPN Server installieren wir jetzt mit:

bash:~$ apt-get install openvpn -y

Als nächstes müssen wir die Konfigurationsfiles in das richtige Verzeichnis kopieren

bash:~$ cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
bash:~$ gunzip /etc/openvpn/server.conf.gz
bash:~$ cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa2

Nun geht es an die Erstellung des Serverzertifikates

bash:~$ cd /etc/openvpn/easy-rsa2/
bash:~$ mkdir keys
bash:~$ source ./vars
bash:~$ ./clean-all
bash:~$ ./build-ca

Wichtig: bei Common Name Die IP-Adresse oder FQDN Namen eures Servers eintragen!

Als nächstes Schritt müssen noch Zertifikate für die Clients erstellt werden die sich später mit dem Server verbinden sollen

bash:~$ ./build-key client1
bash:~$ ./build-key client2
bash:~$ ./build-key client3

Daraufhin ist ein sogenannter Diffie-Hellman-Schlüsselaustausch zu generieren

bash:~$ ./build-dh

Des Weiteren legen wir die zugehörige Server Konfigurationsdatei an

bash:~$ cd /etc/openvpn/server.conf
bash:~$ nano -w server.conf

Hierzu kann die von mir bereits erstellte Konfiguration verwendet werden.

port 1194
proto udp
dev tun

ca ./easy-rsa2/keys/ca.crt
cert ./easy-rsa2/keys/server.crt
key ./easy-rsa2/keys/server.key
dh ./easy-rsa2/keys/dh1024.pem
#crl-verify ./easy-rsa2/keys/crl.pem

push “redirect-gateway”
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

client-to-client
keepalive 10 120
comp-lzo

user nobody
group nogroup

persist-key
persist-tun

status openvpn-status.log
verb 3

Um den OpenVPN Server später auch wirklich als Gateway nutzen zu können müssen wir noch ein paar Routing Änderungen am Netzwerk des Servers einrichten, um dies zu tätigen öffnen wir die Datei /etc/rc.local mit einem Editor und tragen folgendes ans Ende der Datei ein. „exit 0“ darf erst am ende der Datei sein!

bash:~$ iptables -t nat -F POSTROUTING
bash:~$ echo 1 > /proc/sys/net/ipv4/ip_forward
bash:~$ iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE

Somit ist die eigentliche Einrichtung auf dem des VPN-Servers abgeschlossen.
Damit alle Einstellungen korrekt übernommen werden sollte der gesamte Server neu gestartet werden, oder die Routing Einstellungen manuelle gesetzt werden!

Weiter geht es mit unseren Clients

Als erstes benötigen wir die OpenVPN Client Software für unser Endgerät dies finden wir auf der Entwicklerseite unter
Windows: http://openvpn.net/index.php/download/community-downloads.html
Linux: apt-get install openvpn -y
Android: https://play.google.com/store/apps/details?id=net.openvpn.openvpn&hl=de
iOS: https://itunes.apple.com/de/app/openvpn-connect/id590379981?mt=8

Als erstes müssen wir die Zertifikate unseres zuvor erstellten Clients herunterladen, dies Files liegen im Ordner /etc/openvpn/easy-rsa2 auf dem Server benötigt werden.

ca.crt
client1.crt
client1.key

Diese speichert ihr unter Windows am besten direkt im Ordner C:\Program Files\OpenVPN\config

Der nächste Schritt ist es im Ordner config eine weitere Datei mit dem Namen client1.ovpn zu erstellen in die vollende Einstellungen eingetragen wird:

client
dev tun
proto udp
# Hier FQDN oder IP des Servers eintragen!
remote example.org 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb

Um sich mit dem OpenVPN-Server zu verbinden, öffnet die OpenVPN GUI mit Admin-Rechten und öffnen über das Tray-Icon das VPN Symbol.
Dort klickt man auf Verbinden, nun sollte eine Verbindung mit dem VPN Server zustande kommen.

Testen ob ihr nun die IP-Adresse des Servers habt könnt ihr z.B. auf http://myip.is.

OpenVPN Server: Linux Server als Gateway nutzen
Share this