Menu principal

OpenVPN
(0 - user rating)
Écrit par ToFF   
Dimanche, 24 Octobre 2010 01:01

Installation d'openvpn - 2.1.4-2

ipkg update
ipkg install openvpn

vi /opt/etc/init.d/S20openvpn

#!/bin/sh
#
# Startup script for openvpn server
#

# Make sure IP forwarding is enabled
echo 1 > /proc/sys/net/ipv4/ip_forward

# Make device if not present (not devfs)
if ( [ ! -c /dev/net/tun ] ) then
# Make /dev/net directory if needed
if ( [ ! -d /dev/net ] ) then
mkdir -m 755 /dev/net
fi
mknod /dev/net/tun c 10 200
fi

# Make sure the tunnel driver is loaded
if ( !(lsmod | grep -q "^tun") ); then
insmod /lib/modules/tun.ko
fi

# If you want a standalone server (not xinetd), then comment out the return statement below
return 0


## This is for standalone servers only!!!!
# Kill old server if still there
if [ -n "`/opt/bin/pidof openvpn`" ]; then
/opt/bin/killall openvpn 2>/dev/null
fi

# Start the openvpn daemon - add as many daemons as you want
#/opt/sbin/openvpn --daemon --cd /opt/etc/openvpn --config openvpn.conf
/opt/sbin/openvpn --cd /opt/etc/openvpn --daemon --log-append /var/log/openvpn.log --config /opt/etc/openvpn/config/server.ovpn

# [EOF]

Verifier le bon fonctionnement

insmod /lib/modules/tun.ko (charge le module tun)

dmesg | grep tun (verifier s'il n'y a pas d'erreur)

OpenVPN s'installe là :

/opt/etc/openvpn
/opt/etc/xinetd.d/openvpn
/opt/sbin/openvpn
/opt/var/log/openvpn

Génération du certificat

Télécharger et extraire openvpn

Copier easy-rsa folder sous /opt/etc/openvpn/easy-rsa

Déplacer le contenu de /opt/etc/openvpn/easy-rsa/2.0 à la racine de easy-rsa

vi /opt/etc/openvpn/easy-rsa/vars

export KEY_CONFIG=/opt/etc/openvpn/easy-rsa/openssl.cnf
export KEY_DIR=/opt/etc/openvpn/private.lan/keys
export KEY_COUNTRY=FR
export KEY_PROVINCE=NA
export KEY_CITY=city
export KEY_ORG=”company”
export KEY_EMAIL=”emailaddress”

ln -s /opt/bin/bash /bin/bash (installer bash 3.2 si besoin)
bash
. vars
./clean-all


Certificate Authority

./build-ca

2048

Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y

Server key

./build-key-server server

Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y

Client key

./build-key macbook

Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y

Diffie Hellman parameters

./build-dh

En utilisant tls-auth requires, vous devez générer une clé partagée en plus du certificate/key RSA:

openvpn --genkey --secret ta.key

Copier les fichiers sur le serveur:

cp /opt/etc/openvpn/easy-rsa/keys/ca.crt /opt/etc/openvpn/config/
cp /opt/etc/openvpn/easy-rsa/keys/dh2048.pem  /opt/etc/openvpn/config/
cp /opt/etc/openvpn/easy-rsa/keys/server.crt  /opt/etc/openvpn/config/
cp /opt/etc/openvpn/easy-rsa/keys/server.key  /opt/etc/openvpn/config/
cp /opt/etc/openvpn/easy-rsa/keys/ta.key  /opt/etc/openvpn/config/

server.ovpn

port 1194
proto tcp
dev tun
ca /opt/etc/openvpn/config/ca.crt
cert /opt/etc/openvpn/config/server.crt
key /opt/etc/openvpn/config/server.key # This file should be kept secret
dh /opt/etc/openvpn/config/dh2048.pem
server 10.66.11.0 255.255.255.0
push "route 10.66.10.0 255.255.255.0"
keepalive 10 120
tls-auth /opt/etc/openvpn/config/ta.key 0 # This file is secret
cipher BF-CBC # Blowfish (default)
comp-lzo
persist-key
persist-tun
status openvpn-status.log
#verb 5
verb 4

Configuration du client

Windows

Télécharger et installer OpenVPN GUI pour windows.

Copier les fichiers sur le client C:\Program Files\OpenVPN\config

ca.crt
macbook.crt
macbook.key
ta.key

Ajouter client.ovpn dans le repertoire config :

client
dev tun
proto tcp
remote www.myhost.fr 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert macbookxp.crt
key macbooxp.key
ns-cert-type server
tls-auth ta.key 1
comp-lzo
verb 3

Ubuntu

sudo apt-get install network-manager-openvpn
...
Les paquets supplémentaires suivants seront installés :
liblzo2-2 libpkcs11-helper1 network-manager-openvpn-gnome openssl-blacklist
openvpn openvpn-blacklist

Aller dans le menu "Système" > "Préférences" > "Connexions réseau" puis onglet VPN:

Choisir OpenVPN comme type de connexion.

Renseigner la passerelle : IP public ou nom de domaine qui pointe vers votre NAS.

Puis copier et sélectionner vos certificats et clé.

Puis dans avancées > Authentification TLS:

sélectionner : Utiliser une authentification supplémentaire

fichier de clé : ta.key

Direction de la clé : 1

Si vous rencontrez un message d'erreur coté client "pas de secrets VPN valides...", il faut relancer le service network-manager

sudo service network-manager restart

MacOS

Télécharger et installer Tunnelblick. Pour la suite, vous devez ajouter vos clé et certificats.

Testé sur le NAS synology DS 411+

Mise à jour le Mardi, 31 Mai 2011 12:00
 

Ajouter un Commentaire


Code de sécurité
Rafraîchir