Le bon vieux openvpn est de la partie :
#sudo apt-get install openvpn openssl liblzo1
Je créer le répertoire qui va contenir les fichier de conf pour générer les certificats
#sudo mkdir /etc/openvpn/easy-rsa/
Je copie les exemple des fichiers de conf vers mon repertoire
#sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
Je me place dans mon repertoire
#cd /etc/openvpn/easy-rsa/
J’édite la conf de vars. Il faut bien remplir tous les champs et les adapter a votre conf.
#sudo nano /etc/openvpn/easy-rsa/vars
export EASY_RSA="/etc/openvpn/easy-rsa"
export KEY_CONFIG="$EASY_RSA/openssl.cnf"
export KEY_COUNTRY="FR"
export KEY_PROVINCE="TO"
export KEY_CITY="Mou"
export KEY_ORG="totox"
export KEY_EMAIL="the@totox.c0m"
Exeptionnelement pour une raison que j’ignore le sudo ne fonctionne par pour la suite, il faut donc se mettre en root natif.
#sudo -i
Génération du fichier de conf
#source ./vars
Netoyage des clés déjà créer.
#./clean-all
Création du certificats principal.
#./build-ca
Création des clés du serveur
#./build-key-server serveurtotox
Création de la clé de Defie Hellman pour plus de sécurité
#./build-dh
Je creer la clés qui permettra la signature des paquets échangé.
#openvpn –genkey –secret /etc/openvpn/easy-rsa/keys/ta.key
Voici enfin l’étape de création des clés pour un utilisateur
#./build-key usermoi
Je creer le user et le groupe openvpn et je leur donne les bons droits pour plus de sécurité.
# groupadd openvpn
# useradd -d /dev/null -g openvpn -s /bin/false openvpn
A présent je passe a l’étape des fichiers de configuration du serveur et du client.
Fichier de configuration sur le serveur :
nano /etc/openvpn/openvpn.conf
local xxx.xxx.xxx.xxx
port 1194
proto udp
dev tun
mode server
tls-server
tun-mtu 1500
mssfix
persist-key
persist-tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/xxxx.crt
key /etc/openvpn/easy-rsa/keys/xxxx.key # This file should be kept secret
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0 # This file is secret
server 10.8.0.0 255.255.255.0
push "dhcp-option DNS 208.67.222.222" #dns de openDNS
push "dhcp-option DNS 208.67.220.220" #
push "redirect-gateway"
user openvpn
group openvpn
duplicate-cn
client-to-client
keepalive 10 120
cipher BF-CBC
comp-lzo
max-clients 15
status /var/log/openvpn-status.log
log-append /var/log/openvpn.log
verb 4
mute 10
A présent j’autorise la transmission des paquets par le serveur
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j SNAT –to ipduserveur
Je démarre openvpn :
# /etc/init.d/openvpn restart
Et enfin je configure le client en créant le fichier configuration et en récupérant les clés généré préalablement sur le serveur. Ce qui me donner un dossier contenant :
user – Serveur.ovpn
user.key
user.crt
ta.key
ca.crt
Créer un fichier user.ovpn et rentrer ces informations du client pour Vista :
client
dev tun
proto udp
remote xxx.xxx.xxx.xxx 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
tls-auth ta.key 1
cert xxxx.crt
key xxxx.key
route-method exe
route-delay 2
verb 3