Tutos geek

Tutoriaux linux, debian, android et autres

Connexion VPN entre un client Windows et un serveur Linux

10 août 2016 - Aucun commentaire

Il va falloir installer OpenVPN sur votre serveur Linux et générer les certificats puis installer le client OpenVPN sur votre machine Windows.

Sur Linux (serveur)

Mon debian se fait vieux et les nouvelles versions des programmes ne sont plus forcément supportées.
J'ai trouvé un version d'OpenVPN sur le repository suivant

Repository

vi /etc/apt/sources.list
deb http://archive.debian.org/debian squeeze main
deb http://archive.debian.org/debian squeeze-lts main

vi /etc/apt/apt.conf
Acquire::Check-Valid-Until false;

apt-get upgrade
apt-get update

Installation d'OpenVPN

apt-get install openvpn
apt-get install network-manager-openvpn-gnome

Génération des certificats d'OpenVPN

mkdir /etc/openvpn/easy-rsa/
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa
#passer en root
su -
cd /etc/openvpn/easy-rsa
. ./vars
./clean-all
./build-ca
./build-key-server server
./build-key client1
./build-dh
exit

cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn
cp /etc/openvpn/easy-rsa/keys/dh1024.pem /etc/openvpn
cp /etc/openvpn/easy-rsa/keys/server.crt /etc/openvpn
cp /etc/openvpn/easy-rsa/keys/server.key /etc/openvpn

Configuration

vi /etc/openvpn/tun0.conf
Fichier complet

Paramètres importants :
dev tap
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
push "redirect-gateway def1 bypass-dhcp" # pour rerouter tout le trafic internet
push "dhcp-option DNS 10.8.0.1"

Lancer le VPN

openvpn --config /etc/openvpn/tun0.conf --verb 6

Rerouter tout le trafic internet

Pour l'instant il ne sera possible que de communiquer entre le client et le serveur.
Pour rerouter tout le trafic internet il faut le spécifier via une règle IPTable.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
10.8.0.0 est le sous-réseau créé précédemment et eth0 le nom de la carte réseau de votre serveur par lequel passe le trafic internet.

Si vous voulez voir les règles nat existantes :
iptables -t nat -L -n -v

Sur Windows (client)

Copier les fichiers ca.crt, client1.crt et client1.key sur la machine locale dans le répertoire [OpenVPN]\config\
Modifier le nom de l'interface réseau "Local Area Connection X" en "tap0" dans "Control Panel\Network and Internet\Network Connections"
Modifier l'interface réseau en désactivant l'IPv6 (sinon ça va saturer de warning, notre version d'OpenVPN ne gérant pas encore l'IPv6)

Configuration

Créer un fichier .ovpn dans [OpenVPN]\config\
Fichier complet

Paramètres importants :
client
dev tap
dev-node "tap0"
ca ca.crt
cert client1.crt
key client1.key
Lancer le client OpenVPN et se connecter


Source : OpenVPN


Version
Windows 7 x64 - SP1
Debian : 6.0.10 (squeeze)