« OpenVPN on Debian 12 » : différence entre les versions

De Sn4kY
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 58 : Ligne 58 :
  key-direction 1
  key-direction 1
Création du certificat client
Création du certificat client
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
cp pki/private/client1.key /etc/openvpn/client/
cp pki/issued/client1.crt /etc/openvpn/client/
cp pki/{ca.crt,ta.key} /etc/openvpn/client/
Création d'un script pour assembler le tout

Version du 14 mars 2025 à 17:04

Installation et configuration serveur OpenVPN sur Debian 12

Installation

apt install openvpn easy-rsa

Génération de l'autorité de certification

make-cadir ~/openvpn-ca && cd ~/openvpn-ca

Editez le ficher vars pour adapter a vos informations

set_var EASYRSA_REQ_COUNTRY     "FR"
set_var EASYRSA_REQ_PROVINCE    "France"
set_var EASYRSA_REQ_CITY        "Paris"
set_var EASYRSA_REQ_ORG "Sn4kY.net"
set_var EASYRSA_REQ_EMAIL       "me@example.net"
set_var EASYRSA_REQ_OU          "DSI"

Puis générez la CA

./easyrsa init-pki
./easyrsa build-ca

Téléchargez la clé DH pré calculée

curl https://ssl-config.mozilla.org/ffdhe2048.txt > pki/dh2048.pem

Créer la clé des secrets pré-partagés :

openvpn genkey --secret pki/ta.key

Génération du certificat du serveur

./easyrsa gen-req server nopass
./easyrsa sign-req server server

Configurer le serveur openvpn

Utiliser le fichier d'exemple du serveur pour créer une base :

grep -Pv "^#|^;|^$" /usr/share/doc/openvpn/examples/sample-config-files/client.conf > /etc/openvpn/server.conf

Copier les fichiers nécessaire :

cp /root/openvpn-ca/pki/{ca.crt,dh2048.pem,ta.key} /etc/openvpn
cp /root/openvpn-ca/pki/issued/server.crt /etc/openvpn
cp /root/openvpn-ca/pki/private/server.key /etc/openvpn

Puis éditez le fichier /etc/openvpn/server.conf pour ajouter/vérifier les infos suivantes

ca ca.crt
cert server.crt
key server.key  # Keep this file secure
dh dh2048.pem
;tls-auth ta.key 1
tls-crypt ta.key
cipher AES-256-CBC
data-ciphers AES-256-CBC
log /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log

La configuration est prête. Sauvegarder le fichier, puis démarrer le service

systemctl enable --now openvpn@server

Activer le forward d'IP et le masquage d'adresse

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.d/local.conf
sysctl -p /etc/sysctl.d/local.conf

Créer des configurations clients

Commençons par créer un template

grep -Pv "^#|^;|^$" /usr/share/doc/openvpn/examples/sample-config-files/client.conf > ~/openvpn-ca/template_client.conf

éditer le fichier pour configurer les variables

remote my-server-1 1194 # mettre l'IP ou le nom de domaine du serveur
;ca ca.crt
;cert client.crt
;key client.key
;tls-auth ta.key 1
cipher AES-256-CBC
data-ciphers AES-256-CBC
key-direction 1

Création du certificat client

./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
cp pki/private/client1.key /etc/openvpn/client/
cp pki/issued/client1.crt /etc/openvpn/client/
cp pki/{ca.crt,ta.key} /etc/openvpn/client/

Création d'un script pour assembler le tout