MODOP – Installation OpenVPN (Easy-RSA3) – Client/serveur

Inventaire des Machines

Host : open-serveurVPN.house.cpb

  • IP: 172.16.185.30
  • Subnet : 172.16.185.0/24
  • vSwitch : vmbr1
  • Disque : 8Go (Système)
  • RAM :2Go
  • vCPU : 2
  • OS : RockyLinux 8

Host : open-client01.house.cpb

  • IP: 10.10.0.30
  • Subnet : 10.10.0.0/24
  • vSwitch : vmbr4
  • Disque : 8Go (Système)
  • RAM :2Go
  • vCPU : 2
  • OS : RockyLinux 8

Le Pool de machine VPN

Les deux machines doivent être joignable mutuellement.

Check open-serveurvpn (172.16.185.30) => open-client01(10.10.0.30)

[root@open-servervpn pki]# echo "10.10.0.30 open-client01" >> /etc/hosts
[root@open-servervpn pki]# ping -c 3 open-client01

Check open-client01(10.10.0.30) => open-serveurvpn (172.16.185.30)

[root@open-client01 ~]# echo "172.16.185.30 open-servervpn" >> /etc/hosts
[root@open-client01 ~]# ping -c 3 open-servervpn

Installation Serveur VPN – RockyLinux

1°) Mise à jour

[root@open-serveurvpn ~]# dnf -y update

2°) Désactivation IPv6 (Option)

[root@open-serveurvpn ~]# ip addr

[root@open-serveurvpn ~]# echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
[root@open-serveurvpn ~]# echo "net.ipv6.conf.all.autoconf = 0" >> /etc/sysctl.conf
[root@open-serveurvpn ~]# echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf
[root@open-serveurvpn ~]# echo "net.ipv6.conf.default.autoconf = 0" >> /etc/sysctl.conf
[root@open-serveurvpn ~]# sysctl -p
[root@open-serveurvpn ~]# ip addr

3°) Installation EPEL

[root@open-serveurvpn ~]# dnf install -y epel-release

4°) Installation OpenVPN et Paquets de création PKI

[root@open-serveurvpn ~]# dnf install -y openvpn easy-rsa

5°) Préparation de notre PKI

[root@open-serveurvpn ~]# cd /usr/share/easy-rsa/3.0.8
[root@open-serveurvpn 3.0.8]# ls -al

[root@open-serveurvpn 3.0.8]# cp -r * /etc/openvpn/.
[root@open-serveurvpn 3.0.8]# cd /etc/openvpn/
[root@open-serveurvpn ]# vi vars

set_var EASYRSA "$PWD"
set_var EASYRSA_PKI "$EASYRSA/pki"
set_var EASYRSA_DN "cn_only"
set_var EASYRSA_REQ_COUNTRY "FR"
set_var EASYRSA_REQ_PROVINCE "PARIS"
set_var EASYRSA_REQ_CITY "Fontenay ss Bois"
set_var EASYRSA_REQ_ORG "House Corp"
set_var EASYRSA_REQ_EMAIL "chris@house.cpb"
set_var EASYRSA_REQ_OU "House Corp EASY CA"
set_var EASYRSA_KEY_SIZE 4096
set_var EASYRSA_ALGO rsa
set_var EASYRSA_CA_EXPIRE 3650
set_var EASYRSA_CERT_EXPIRE 3650
set_var EASYRSA_NS_SUPPORT "no"
set_var EASYRSA_NS_COMMENT "House Corp CERTIFICATE AUTHORITY"
set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types"
set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-easyrsa.cnf"
set_var EASYRSA_DIGEST "sha256"
[root@open-serveurvpn ]# chmod +x vars

7°) Initialisation des PKI

[root@open-serveurvpn ]# ./easyrsa init-pki

[root@open-serveurvpn ]# ls /etc/openvpn/vars
/etc/openvpn/vars

[root@open-serveurvpn ]# ls /etc/openvpn/pki
private reqs

8°) Création des certificats root CA

[root@open-serveurvpn ]# ./easyrsa build-ca nopass

[root@open-serveurvpn ]# ls /etc/openvpn/pki/ca.crt
/etc/openvpn/pki/ca.crt

9°) Création des certificats du Server

[root@open-serveurvpn ]#./easyrsa gen-req open-serveurvpn nopass

[root@open-serveurvpn ]# ls -al /etc/openvpn/pki/{reqs,private}

Signature de la clef serveur avec le certificat CA

[root@open-serveurvpn ]#./easyrsa sign-req server open-serveurvpn nopass

[root@open-serveurvpn ]# ls -a /etc/openvpn/pki/issued/open-serveurvpn.crt
/etc/openvpn/pki/issued/open-serveurvpn.crt

10°) Création des certificats du Client

[root@open-servervpn openvpn]# ./easyrsa gen-req open-client01 nopass

[root@open-servervpn openvpn]# ./easyrsa sign-req client open-client01 nopass

[root@open-servervpn openvpn]# ls -al /etc/openvpn/pki/{issued,private}

11°) Création du certificat « Diffie hellman »

[root@open-servervpn openvpn]# ./easyrsa gen-dh

….. Après quelques minutes

Inventaire des PKI

[root@open-servervpn openvpn]# ls -al pki/{ca.crt,dh.pem,issued,private}

12°) Création fichier de conf OpenVPN server

[root@open-servervpn openvpn]# cd /etc/openvpn/server
[root@open-servervpn server]# cp /usr/share/doc/openvpn/sample/sample-config-files/server.conf .
[root@open-servervpn server]# vi server.conf

Ligne 78

ca /etc/openvpn/pki/ca.crt
cert /etc/openvpn/pki/issued/open-serveurvpn.crt
key /etc/openvpn/pki/private/open-serveurvpn.key

Ligne 85

dh /etc/openvpn/pki/dh.pem

Ligne 92

;topology subnet
topology subnet

Ligne 102

server 10.8.0.0 255.255.255.0

Il est fortement conseillé de changer le Subnet VIP pour les échanges sur le VPN.
Dans notre MODOP nous allons laisser la conf d’orgine.

Ligne 193

push "redirect-gateway def1 bypass-dhcp"

Ligne 202

;push ;"dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 8.8.8.8"
;push "dhcp-option DNS 208.67.220.220"
push "dhcp-option DNS 8.8.4.4"

Ligne 247

#tls-auth ta.key 0 # This file is secret

Ligne 277

user nobody
group nobody

Sauvegarder le fichier et sortir.

13°) Configure partie réseau

Activer le forward « ipv4 »

[root@open-servervpn server]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
[root@open-servervpn server]# sysctl -p

Régles Firewall

[root@open-servervpn server]# firewall-cmd --set-default-zone=trusted
[root@open-servervpn server]# firewall-cmd --add-masquerade --permanent
[root@open-servervpn server]# firewall-cmd --add-service=openvpn --permanent
[root@open-servervpn server]# firewall-cmd --reload

[root@open-servervpn server]# firewall-cmd --list-all

14°) Lancement OpenVPN serveur

Désactivation SELinux

[root@open-servervpn server]# getenforce
Enforcing 

[root@open-servervpn server]# setenforce 0
[root@open-servervpn server]# vi /etc/sysconfig/selinux
SELINUX=disabled

Test de la config

[root@open-servervpn server]# openvpn --config server.conf


« CTR+C pour sortir »

Lancement du service

[root@open-servervpn server]# systemctl enable openvpn-server@server --now
[root@open-servervpn server]# systemctl status openvpn-server@server

Vérification du Tunnel

[root@open-servervpn server]# ip addr

Installation OpenVPN Client RHEL 8

1°) Installation EPEL

[root@open-client01 ~]# dnf install -y epel-release

2°) Installation OpenVPN

[root@open-client01 ~]# dnf install -y openvpn

3°) Copie des certificats publics sur le client

Sur le serveur

Cléf Public Autorité

[root@open-servervpn ~]# cd /etc/openvpn/pki
[root@open-servervpn pki]# scp ca.crt root@open-client01:/etc/openvpn/client/ca.crt

Cléf Public Client
[root@open-servervpn pki]# cd issued/
[root@open-servervpn issued]# scp open-client01.crt root@open-client01:/etc/openvpn/client/open-client01.crt

Cléf Privée Client
[root@open-servervpn issued]# cd ../private/
[root@open-servervpn private]# scp open-client01.key root@open-client01:/etc/openvpn/client/open-client01.key

Sur le Client

[root@open-client01 ~]# cd /etc/openvpn/client
[root@open-client01 client]# ls -al

4°) Configurer openvpn Client

[root@open-client01 client]# vi client.conf

client
dev tun
proto udp
remote open-servervpn
port 1194
ca ca.crt
cert open-client01.crt
key open-client01.key
verb 5
remote-cert-tls server
auth-nocache
cipher AES-256-CBC

5°) Lancement OpenVPN client « open-client01 »

Test de la config

[root@open-client01 client]# openvpn --config client.conf

Lancement du service

[root@open-client01 client]# systemctl enable openvpn-client@client --now
[root@open-client01 client]# systemctl status openvpn-client@client

[root@open-client01 client]# ip addr

Côté log serveur

6°) Contrôle du Tunnel VPN

Check du client open-client01 =>  open-servervpn via  le réseau OpenVPN

[root@open-servervpn private]# ping -c 3 10.8.0.2

Check du server open-servervpn => copen-client01  via le réseau OpenVPN

[root@open-client01 client]# ping -c 3 10.8.0.1

Connexion du client open-client01 sur le serveur via le réseau OpenVPN

[root@open-client01 client]# ssh root@10.8.0.1

Views: 17

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *