Wissensdatenbank
Buehl, Kevin
12 Februar 2016
3.295

Wissensdatenbank

OpenVPN Server unter Debian installieren und konfigurieren

Vorwort


Da sich immer mehr kleine Kinder im Internet bewegen, ist es durchaus Sinnvoll wenn man mit der öffentlichen IP-Adresse seines Internetschlusses etwas behutsam im Internet surft. Ich habe Zuhause eine Standleitung mit mehreren externen IP-Adressen, da ich diese nicht dynamisch erhalte ist es um so wichtiger das nicht jeder diese Adressen kennt. Deshalb habe ich ein VPN zu einem Server bei OVH eingerichtet.

Installation


Installieren Sie OpenVPN
apt-get -y install openvpn


Konfiguration


Server


Öffnen Sie die OpenVPN Konfigurationsdatei mit einem Editor:
nano /etc/openvpn/server.conf

# +-----------------------------------------------------------------------+
# | Copyright (c) 2006-2016 by Kevin Buehl <kevin@buehl.biz> |
# +-----------------------------------------------------------------------+
# | __ __ _____________ __ __ ______________ |
# | | | 2006 | | | _______ \ | | | | |___________ | |
# | | | 2016 | | | | \ | | | | | | | |
# | | |___ ____| | | |_______/ / | |___ ____| | ___________| | |
# | |______ ____ | | _______ | |______ ____ | | ___________| |
# | by | | | | \ \ Server | | | | |
# | Kevin | | | |_______/ | Management | | | |___________ |
# | Buehl |__| |_____________/ System |__| |______________| |
# | |
# | No part of this website or any of its contents may be reproduced, |
# | copied, modified or adapted, without the prior written consent of |
# | the author, unless otherwise indicated for stand-alone materials. |
# | For more Information visit www.4b42.com. |
# | This notice must be untouched at all times. |
# +-----------------------------------------------------------------------+

# +-----------------------------------------------------------------------+
# | 2015-01-01 21:55:02 created by 4b42
# +-----------------------------------------------------------------------+

### Network Settings ###
local 48.42.48.42
port 1194
proto tcp
dev tun
server 10.0.0.0 255.0.0.0
cipher AES-256-CBC

### Certificate settings ###
ca easy-rsa2/keys/ca.crt
cert easy-rsa2/keys/server.crt
key easy-rsa2/keys/server.key
dh easy-rsa2/keys/dh4096.pem

### other ###
push "redirect-gateway def1 bypass-dhcp"
keepalive 10 120
persist-key
persist-tun
verb 3
crl-verify easy-rsa2/keys/crl.pem

status /dev/null
log /dev/null


Kopieren Sie die Beispieldateien in das OpenVPN Verzeichnis.
# Debian 7
/bin/cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa2
# Debian 8
/bin/cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa2


Erstellen Sie nun einen RSA Schlüssel für den Server:
echo -e 'export EASY_RSA="`pwd`"\nexport OPENSSL="openssl"\nexport PKCS11TOOL="pkcs11-tool"\nexport GREP="grep"\nexport KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`\nexport KEY_DIR="$EASY_RSA/keys"\nexport PKCS11_MODULE_PATH="dummy"\nexport PKCS11_PIN="dummy"\nexport KEY_SIZE=2048\nexport CA_EXPIRE=3650\nexport KEY_EXPIRE=365\nexport KEY_COUNTRY="CH"\nexport KEY_PROVINCE="St. Gallen"\nexport KEY_CITY="St. Gallen"\nexport KEY_ORG="4b42"\nexport KEY_EMAIL="hostmaster@4b42.com"\n\n\n' > /etc/openvpn/easy-rsa2/vars


cd /etc/openvpn/easy-rsa2/ && source ./vars && ./clean-all && ./build-dh && ./pkitool --initca && ./pkitool --server server


Führen Sie folgenden Befehlt aus um ein Zertifikat für einen Benutzer zu erstellen.
./pkitool 4b42


Kopieren Sie die Dateien in das OpenVPN Serververzeichnis:
/bin/cp /etc/openvpn/easy-rsa2/keys/{ca.crt,ca.key,server.crt,server.key,dh2048.pem} /etc/openvpn/


Nun können Sie den Server neustarten:
/etc/init.d/openvpn restart

Damit Sie über den Server eine Internetverbindung herstellen können, müssen Sie noch eine NAT Regel erstellen:
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 10.2.0.0/24 -j MASQUERADE


nano /etc/sysctl.conf
Die # entfernen
net.ipv4.ip_forward=1
sysctl -p