OpenVpn Server erstellen auf Vserver Debian 8.0

Wenn man seinen eignen Vserver hat, möchte man diesen auch gut nutzen, ich z.B. benutzen meinen für ein VPN (Virtuelles Privates Netzwerk). Wozu braucht man so was, es gibt Kommerzielle VPN Anbieter, die euch Anonymität versprechen, in dem eure IP Adresse verschleiert wird, das ist aber nur ein Anwendungsbeispiel, aber man kann es z.B. dafür nutzen um mit Freunden übers Internet zu spielen als ob man auf einer LAN-Party ist, Dateien tauschen, Achtung der Upload ist beschränkt, bitte schaut auf eure Verträge, ich hab nur 1Mbit als Upload 🙁 naja soweit zu gut wollen wir mal Anfangen.

Als ersten sollten wir unser System Aktualisieren. Dazu

sudo apt-get upate && sudo apt-get -y upgrade 

Danach installieren wir folgende Programme

sudo apt-get install openvpn easy-rsa openssl iptables-persistent

hätten wir das erledigt kopieren wir die easy-rsa datei in das verzeichniss von openvpn.

sudo cp -r /usr/share/easy-rsa/ /etc/openvpn

Wir wechseln das Verzeichniss mit

cd /etc/openvpn/easy-rsa

Jetzt öffnen wir die Datei vars

sudo nano vars

dort ändern wir den Eintrag von export EASY_RSA=“‚pwd'“ in

export EASY_RSA="/etc/openvpn/easy-rsa"

wenn das erledigt ist speichern wir die Datei ab.

Jetzt wechseln wir den benutzer in SU (SU=SuperUser)

sudo su, folgende Befehle nach der reihe ausführen.

source vars
./clean-all
./pkitool --initca
ln -s openssl-1.0.0.cnf openssl.cnf

Jetzt können wir die Zertifikate erstellen.

./build-ca OpenVpn
./build-key-server server
./build-key-pass client
openvpn --genkey -secret ta.key

anschließend erstllen wir noch den Deffiehelm Parameter, das kann einen Moment dauern je nach Schlüssel Länge.

./build-dh

Wir wechseln das Verzeichnis wieder cd /etc/openvpn dort erstellen wir die Datei Server.conf

sudo nano /etc/openvpn/server.conf

dort kommt folgender Inhalt rein.

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
push "redirect-gateway def1 bypass-dhcp"
#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
keepalive 10 120

Wir müssen noch den Vserver so einrichten das er Pakete weiterleitet. Dafür die Datei /etc/sysctl.conf abändern den Eintrag suchen mit net.ipv4.ip_forward=1 dort die Raute entfernen und abspeichern.

Damit auch das System etwas mit dem Paketen anfangen kann müssen wir das ganze mit Iptables weiterleiten.

sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE

Damit das ganze auch nach einem Reboot funktioniert müssen wir die Regeln abspeichern dazu.

iptables-save > /etc/iptables/rules.v4

Jetzt erstellen wir noch die Konfigurationsdatei für den Clienten.

nano /etc/openvpn/easy-rsa/client1.ovpn

Dort kommt dann folgendes rein.

dev tun
client
proto tcp
remote Deine-Ip-Adresse oder Domain 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
tls-auth /etc/openvpn/ta.key
cert /etc/openvpn/client1.crt
key /etc/openvpn/client1.key
comp-lzo
verb 3
############################
#Sorgt dafür das der Richtige DNS-Server verwendet wird
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

jetzt packen wir alles zu einem Paket zusammen.

tar czf openvpn-keys.tgz ca.crt client1.crt client1.key ta.key client1.ovpn

Noch die Zugriffsrechte vom Su ändern in dem man.

chown Benutzername:Benutzergruppe /etc/openvpn/easy-rsa/openvpn-keys.tgz

 

jetzt können wir das Paket herunterlade ich benutze dafür sftp auf meinem Linux System dafür einfach ALT+F2 drücken und dort.

sftp://ipadresse

anschließend Benutzername und Kennwort eingeben und schon kann man das Paket runter laden. Das Paket sollte im Verzeichnis /etc/openvpn/easy-rsa liegen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.