# Mise en place d'un serveur VPN via OPENVPN

**URL:** <https://www.debian-fr.org/t/mise-en-place-dun-serveur-vpn-via-openvpn/29672>\
**Category:** Trucs et Astuces\
**Created:** [Février 21, 2016, 12:12 UTC](https://www.debian-fr.org/t/mise-en-place-dun-serveur-vpn-via-openvpn/29672 "2016-02-21T00:12:40Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![fabdunet1313](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/3da27b/32.png) [@fabdunet1313](https://www.debian-fr.org/u/fabdunet1313)\
**Post date:** [Février 21, 2016, 12:12 UTC](https://www.debian-fr.org/t/mise-en-place-dun-serveur-vpn-via-openvpn/29672/1 "2016-02-21T00:12:40Z")

</div>

Ce tuto que l’ais mis en ouvres, certes avec des fautes d’orthographes, car j’ais un handicap durant ma scolarité, va vous montrer comment mettre en œuvres un VPN sous OPENVPN et transférer le FLUX Internet de chez vous dans ce TUNEL VPN.

Ex : vous aites au travail, vautre patron à brider internet ;  
FACEBOOK bloqué, MSN marche pas …

Vous faites passer le plu internet de chez vous, qui et généralement pas bridé pour accéder en FULL sur internet au travail.

Le VPN passe part le port 443 qui est le HTTPS, qui et ouvert généralement partout.

De plus, la connexion et crypter avec des certificats, on ne voit pas ce que vous faites, vous aites anonyme sur internet.

L’administrateur réseaux, vois qui ya du trafic, mais il ne c’est pas ce que vous faites.

Âpres je pence pas que cella reste illégale de monter un VPN, mais peut-être interdit dans les entreprise ou défendu de s’ connecter.

[size=150] OPEN VPN[/size]

Monter un serveur open VPN sous Debian

Installation de OPENVPN

aptitude install openssl  
Autauriser le TUN TAP  
Ne pas stopper openvpn en update

```auto

```

Nous allons créer les certificat qui vont servir au serveur et au client à s’authentifier mutuellement a fin que personne mis appart vous , ne puisse ce connecter au VPN

Pour ça on va aller dans le repertoire de openVPN

```auto

```

`nano vars`la première chausses que l’on va faire, c’est de modifier les variables d’environnements qui va servira nos certificat de les générer.

[quote]on va modifier ces ligne :

export KEY\_COUNTRY=FR  
export KEY\_CITY=GIGNAC  
export KEY\_ORG=“7IRELIDE"  
export [KEY\_EMAIL="lieutaud.fabien@gmail.com](mailto:KEY_EMAIL=%22lieutaud.fabien@gmail.com)”[/quote]  
En suite sauvegarder le fichier

Voici mon fichier exemple de mon fichier config  
export D=`pwd`  
export KEY\_CONFIG=$D/openssl.cnf  
export KEY\_DIR=$D/keys

`# Issue rm -rf warning
echo NOTE: when you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
export KEY_SIZE=1024
export KEY_COUNTRY=FR
export KEY_PROVINCE=NA
export KEY_CITY=GIGNAC
export KEY_ORG="7IRELIDE"
export KEY_EMAIL="lieutaud.fabien@gmail.com"`

Une fois le fichier modifié, la ligne suivante permet d’initialiser les variables pour les scripts

`./vars
clean-all`

Le script suivant permet de créer dans « keys » le certificat principal du serveur « ca.crt » et la clé correspondante « ca.key » :

[code]

# ./build-ca[/code]

ATTENTION : Pour les questions, la plupart des champs sont renseignés par défaut sauf le « Common Name » qu’il faut renseigner manuellement. Exemple « MonServeur ».

Donc la il a créé l’autorité de certification, le certificat racine qui va nous permettre de créer le certificat serveur, et les certificats clients.  
Donc la partie publique, devra être déployée sur l’ensemble des clients a fin que le serveur reconnaisse tout les certificat créer a partir de ces autorité.  
Maintenant nous alors générer le certificat pour notre serveur

Création du certificat et de la clé pour le serveur OpenVPN  
Le script suivant permet de créer dans « keys » le certificat « Serveur.crt » et la clé « Serveur.key » pour le serveur VPN nommé par exemple « Serveur » :

```auto

```

[quote]Generating a 1024 bit RSA private key  
…  
…+++++  
…++++++[/quote]  
ATTENTION : Pour les questions, tous les champs sont renseignés par défaut sauf le « Common Name » qu’il faut renseigner manuellement. Exemple « MonServeurVPN ». Personnellement, je n’ai pas renseigné le champ « password »

Création du certificat et de la clé pour le serveur OpenVPN  
Le script suivant permet de créer dans « keys » le certificat « LeServeurVPN.crt » et la clé « LeServeurVPN.key » pour le serveur VPN nommé par exemple « LeServeurVPN » :

```auto

```

[quote]Generating a 1024 bit RSA private key  
…  
…+++++  
…++++++

Création du paramètre Diffie Hellman  
Le script suivant permet de créer dans « keys » le fichier « dh1024.pem » :

# ./build-dh

Mise en place des certificats et des clés  
concernant le serveur OpenVPN, le plus simple est de copier les 4 fichiers dans le dossier « /etc/openvpn » :  
cp keys/\* /etc/openvpn

Création d’un utilisateur avec des droits limités pour OpenVPN  
Pour limiter les risques d’attaques sur OpenVPN, il est important que le processus d’OpenVPN fonctionne sur un utilisateur n’ayant aucun droit sur le système.  
Souvent, l’utilisateur « nobody » est utilisé par défaut, mais il est encore plus sécurisant de faire tourner chaque processus avec un utilisateur différent. Donc, pour le processus OpenVPN, nous allons créer l’utilisateur « openvpn » :

# groupadd openvpn

# useradd -d /dev/null -g openvpn -s /bin/false openvpn

Configuration d’OpenVPN  
Par défaut OpenVPN est fourni avec plusieurs fichiers d’exemples enregistrés dans le dossier :  
/usr/share/doc/openvpn/examples/sample-config-files/  
Pour configurer le serveur, je suis parti du fichier d’exemple « server.conf.gz », qu’il faut donc décompresser et mettre en place dans « /etc/openvpn » :  
#cd /usr/share/doc/openvpn/examples/sample-config-files/  
#gunzip server.conf.gz  
#cp server.conf /etc/openvpn/[/quote]

Redémarrage du serveur OpenVPN  
La commande suivante permet de démarrer ou redémarrer le serveur :

```auto

```

[size=150]Configuration de vars [/size]

[quote]export D=`pwd`  
export KEY\_CONFIG=$D/openssl.cnf  
export KEY\_DIR=$D/keys  
echo NOTE: when you run ./clean-all, I will be doing a rm -rf on $KEY\_DIR  
export KEY\_SIZE=1024  
export KEY\_COUNTRY=FR  
export KEY\_PROVINCE=NA  
export KEY\_CITY=GIGNAC  
export KEY\_ORG=“7IRELIDE"  
export [KEY\_EMAIL="lieutaud.fabien@gmail.com](mailto:KEY_EMAIL=%22lieutaud.fabien@gmail.com)”[/quote]  
Config du fichier client  
client

[quote];dev tap  
dev tun  
proto tcp  
;proto udp  
remote 192.168.3.20 443  
resolv-retry infinite  
nobind

# Downgrade privileges after initialization (non-Windows only)

user openvpn  
group openvpn

# Try to preserve some state across restarts.

persist-key  
persist-tun

# SSL/TLS parms.

# See the server config file for more

# description. It’s best to use

# a separate .crt/.key file pair

# for each client. A single ca

# file can be used for all clients.

ca ca.crt  
cert Client.crt  
key Client.key  
ns-cert-type server  
comp-lzo  
verb 3[/quote]Configuration du fichier serveur

[quote]port 443  
proto tcp  
dev tun  
ca ca.crt  
cert server.crt  
key server.key # This file should be kept secret  
dh dh1024.pem  
server 10.8.0.0 255.255.255.0  
push "route 192.168.3.0 255.255.255.0"  
push “redirect-gateway def1 bypass-dhcp”  
;push “redirect-gateway”  
#DNS DE FREE  
push “dhcp-option DNS 212.27.40.240”  
#DNS OPENDNS  
push "dhcp-option DNS 208.67.220.220"  
keepalive 10 120  
comp-lzo  
persist-key  
persist-tun  
status openvpn-status.log  
verb 3[/quote]

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 21, 2016, 12:12 UTC](https://www.debian-fr.org/t/mise-en-place-dun-serveur-vpn-via-openvpn/29672/2 "2016-02-21T00:12:42Z")

</div>

[http://www.debian-fr.org/install-openvpn-en-mode-bridge-t4376.html](http://www.debian-fr.org/install-openvpn-en-mode-bridge-t4376.html) tu as tout dessus. cf listes de trucs et astuces

---

<div class="post-metadata">

**Author:** ![mezoo](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/e99b99/32.png) [@mezoo](https://www.debian-fr.org/u/mezoo)\
**Post date:** [Février 21, 2016, 12:12 UTC](https://www.debian-fr.org/t/mise-en-place-dun-serveur-vpn-via-openvpn/29672/3 "2016-02-21T00:12:55Z")

</div>

Salut

Merci pour ton tuto  
Sinon pour les fautes d’orthographe rassures moi : Tu n’as jamais eu de problème de scolarité parce qu’on dirait que tu n’as jamais mis les pieds à l’école 😉

Je déconne,

Sinon j’ai tenté d’installer openVPN chez un pote avec les trucs de base…et poum il n’avait plus accès à sa machine ou j’avais installé un partage Samba.  
Est ce uniquement à cause des règles ?

Merci

---

<div class="post-metadata">

**Author:** ![fran.b](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/d78d45/32.png) [@fran.b](https://www.debian-fr.org/u/fran.b)\
**Post date:** [Février 21, 2016, 12:12 UTC](https://www.debian-fr.org/t/mise-en-place-dun-serveur-vpn-via-openvpn/29672/4 "2016-02-21T00:12:55Z")

</div>

quelles règles? Quelle configuration as tu mis? Vas plutôt dans support debian.
