nouvelles
Serverspace a ajouté un nouveau Rocky Linux OS
WB
William Bell
21 mai 2020
Mise à jour en juin 7, 2023

Installation et configuration OpenVPN on CentOS

CentOS Réseaux

Vous utilisez un autre système d'exploitation ?

Sélectionnez la version ou la distribution souhaitée.

OpenVPN est une implémentation logicielle ouverte du VPN protocole. Une caractéristique distinctive de ce produit est la possibilité de créer des tunnels cryptés, alors qu'il existe des implémentations pour les systèmes d'exploitation les plus populaires, y compris pour les plates-formes mobiles.

La CentOS fonctionnalité de référentiel est que OpenVPN n'y est pas inclus. Mais ce package peut être obtenu en utilisant le référentiel EPEL (Enterprise Linux), qui est géré par Fedora Project. À partir de ce référentiel, en passant, vous pouvez obtenir d'autres packages qui ne sont pas inclus dans la norme CentOS dépôt. Installez avec la commande :

yum install epel-release

Procéder à l'installation OpenVPN. Installez le paquet :

yum install openvpn easy-rsa -y

Passez à la configuration du serveur. Copiez le fichier server.conf :

cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/

Il est important de faire attention au "*". Si une seule tentative d'installation a été effectuée, le program la version peut être remplacée par un astérisque. S'il y a eu plusieurs tentatives d'installation, vous devrez peut-être spécifier complètement le chemin d'accès au fichier.

Avant de générer les clés, apportez quelques modifications au fichier de configuration du serveur

Ouvrez server.conf avec n'importe quel éditeur.

nano /etc/openvpn/server.conf

Trouvez la ligne "Diffie hellman parameters. et recherchez :

dh dh2048.pem

S'il est indiqué exactement, aucune modification n'est nécessaire. La nuance de la nouvelle version du package est que le parameter a déjà des valeurs. Dans les anciennes versions, il y a simplement "dh". Nous le faisons ressembler au nôtre.

Ensuite, recherchez la ligne "# Certain Windows-paramètres réseau spécifiques ». décommentez l'un des parameters ci-dessous (supprimer le symbole "point-virgule" (;) en début de ligne). Ça devrait ressembler a quelque chose comme ca:

push "dhcp-option DNS 8.8.8.8"

Vous pouvez préciser votre DNS serveur si vous le souhaitez. De plus, vous pouvez décommenter la deuxième ligne pour passer un alternative DNS serveur à cliaussi.

Pour la sécurité du serveur, nous commencerons par l'utilisateur nobody et le groupe nogroup. Décommentez les lignes :

user nobody
group nobody

Nous commençons à créer des certificats

À l'aide du package easy-rsa précédemment installé, créez le serveur et cliclés ent.

Créez un répertoire dans lequel les clés se trouveront :

mkdir -p /etc/openvpn/easy-rsa/keys

Dans le répertoire easy-rsa nouvellement créé, copiez les scripts :

cp -r /usr/share/easy-rsa/3.0/* /etc/openvpn/easy-rsa

Allez dans /etc/openvpn/easy-rsa/3/ et créez un script vars

cd / etc /openvpn/easy-rsa/

nano vars

Important! La version easy-rsa peut être différente et le chemin devra donc être ajusté.

Ajoutez les lignes suivantes au fichier ouvert :

set_var EASYRSA "$PWD"
set_var EASYRSA_PKI "$EASYRSA/pki"
set_var EASYRSA_DN "cn_only"
set_var EASYRSA_REQ_COUNTRY "RU"
set_var EASYRSA_REQ_PROVINCE "Moscow"
set_var EASYRSA_REQ_CITY "Moscow"
set_var EASYRSA_REQ_ORG "MyOrg"
set_var EASYRSA_REQ_EMAIL "openvpn@mydomain.net"
set_var EASYRSA_REQ_OU "CA"
set_var EASYRSA_KEY_SIZE 2048
set_var EASYRSA_ALGO rsa
set_var EASYRSA_CA_EXPIRE 7500
set_var EASYRSA_CERT_EXPIRE 365
set_var EASYRSA_NS_SUPPORT "no"
set_var EASYRSA_NS_COMMENT "CERTIFICATE AUTHORITY"
set_var EASYRSA_EXT_DIR "$EASYRSA/x509-types"
set_var EASYRSA_SSL_CONF "$EASYRSA/openssl-1.0.cnf"
set_var EASYRSA_DIGEST "sha256"

Autoriser l'exécution du fichier :

chmod +x vars

Nous initialisons le répertoire PKI et créons un certificat CA :

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

Important! Lors de la création d'un certificat CA, le script demandera un mot de passe d'au moins 4 caractères. Le mot de passe saisi doit être mémorisé.

The script will ask for a password of at least 4 characters

Créez la clé du serveur.

./easyrsa gen-req server nopass

Si vous ne spécifiez pas l'attribut "nopass", lors de la création de la clé, le script demandera un mot de passe.

When creating the key, the script will ask for a password

Nous signons le certificat du serveur :

./easyrsa sign-req server server

Le script s'intéressera à notre confiance avec la première action, répondre "Oui". Ensuite, il vous demandera le mot de passe qui a été spécifié lors de la création du certificat CA.

The script will take an interest in our confidence with the first action

Vérifiez si le certificat est signé :

openssl verify -CAfile pki/ca.crt pki/issued/ server.crt

Check if the certificate is signed

Nous générons une clé de serveur supplémentaire ta.key :

openvpn --genkey --secret /etc/openvpn/easy-rsa/keys/ta.key

Certificats d'utilisateur

Le processus de création d'un certificat utilisateur est identique à la création d'un certificat de serveur.

1. Nous créons sans protection par mot de passe :

./easyrsa gen-req client01 nopass

2. Signature du certificat :

./easyrsa sign-req client client01

Signing the certificate

3. Vérifiez la signaturenature:

openssl verify -CAfile pki/ca.crt pki/issued/client01.crt

Diffie Hellman.

Création d'un certificat

./easyrsa gen-dh

Creating a certificate

En conséquence, le fichier dh.pem sera créé et dans la configuration dh2048.pem. Renommez-le plus tard lors de la copie des clés.

Nous transférons des certificats

Copiez les fichiers de clé du serveur. Pour ce faire, nous effectuons séquentiellement :

cp pki/ca.crt /etc/openvpn/
cp pki/issued/server.crt /etc/openvpn/
cp pki/private/server.key /etc/openvpn/
cp /etc/openvpn/easy-rsa/keys/ta.key /etc/openvpn/

Copier clitouches ent

cp pki/ca.crt /etc/openvpn/client/
cp pki/issued/client01.crt /etc/openvpn/client/
cp pki/private/client01.key /etc/openvpn/client/

Copiez le fichier de clé Diffie-Hellman

cp pki/dh.pem /etc/openvpn/dh2048.pem

Important! Le nom du fichier cible est intentionnellement remplacé par le nom dans le fichier config.

Configuration du routage

Pour accélérer la configuration, le travail sera effectué avec iptables, pas avec FirewallD. Effectuez constamment :

yum install iptables-services -y
systemctl mask firewalld
systemctl enable iptables
systemctl stop firewalld
systemctl start iptables
iptables --flush

Avant de poursuivre la configuration, vous devez regarder les noms des interfaces à l'aide de la commande :

ifconfig -a

Ajouter une règle pour NAT:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o <имя_интерфейса> -j MASQUERADE
iptables-save > /etc/sysconfig/iptables

A titre d'exemple:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptables

Autoriser le transfert de paquets entre les interfaces réseau. Pour cela, éditez le fichier système sysctl.conf :

nano /etc/sysctl.conf

Au début du fichier, insérez la ligne :

net.ipv4.ip_forward = 1

Nous enregistrons le fichier, fermons l'éditeur et redémarrons le service réseau avec la commande :

systemctl restart network.service

Nous commençons le OpenVPN serveur

Pour commencer, ajoutez le service à l'importation automatique :

systemctl -f enable openvpn@server.service

Lancement OpenVPN:

openvpn /etc/openvpn/server.conf

Client réglage.

Le serveur est configuré, il reste à configurer le client pour qu'il puisse se connecter.

Quel que soit l'OS utilisé, qu'il s'agisse d'une version mobile, serveur ou domestique, Linux or Windows, vous aurez toujours besoin de 4 fichiers :

  • ca.crt;
  • client.crt ;
  • cliclé.ent ;
  • client.ovpn

Les 3 premiers fichiers sont situés dans le /etc/openvpn /client/répertoire, et client.ovpn devra être créé. Pour cela, rendez-vous dans le répertoire où se trouvent tous les cliles clés sont :

cd /etc/openvpn/client/

Créer un fichier :

nano client.ovpn

Remplissez le contenu suivant :

client
dev tun
proto udp
remote <IP_ADDRESS> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
ca ca.crt
cert client01.crt
key client01.key

Au lieu de IP_ADDRESS, insérez l'adresse IP du serveur ou son nom de domaine. Enregistrez le fichier avec Ctrl + X et fermez l'éditeur.

Nous transférons les fichiers au client. Il est possible de le faire, par exemple, via SFTP ou d'archiver le répertoire et de le "donner" via le serveur Web.

Cliconnexion ent

Selon le système d'exploitation, nous téléchargeons le fichier d'installation ou installons à partir du référentiel. Également, OpenVPN peut être obtenu auprès de le site officiel.

Windows:

Pour les ordinateurs exécutant Windows, vous devez télécharger le package de distribution du produit depuis le site officiel, obtenir les "quatre fichiers", le mettre dans le dossier, C: Program FichiersOpenVPNconfig.

Après avoir démarré le OpenVPN GUI, le programmeram l'icône apparaîtra dans la barre d'état système. Nous cliCliquez dessus avec le bouton droit de la souris, sélectionnez Connecter.

MacOS

OpenVPN pour MacOS est un peu plus compliqué. Vous devez utiliser l'outil open-source Tunnelblick. Les clés et le fichier de configuration doivent être placés dans ~/Library/Application Support/Tunnelblick/Configurations. Ou double-click sur le fichier de configuration.

Linux :

Vous devez installer à partir du référentiel.

Debian/Ubuntu

apt-get install openvpn

CentOS/OpenSUSE/Fedora

yum install openvpn -y

Après l'installation, allez dans le dossier dans lequel se trouve le fichier de configuration avec les clés et exécutez la commande :

sudo openvpn --config client.ovpn

Pour vérifier le fonctionnement du serveur, vous devez utiliser l'un des sites affichant votre adresse IP.

Voter:
5 sur 5
Note moyenne : 5
Noté par : 3
1101 CT Amsterdam Pays-Bas, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Nous utilisons des cookies pour rendre votre expérience sur le Serverspace meilleur. En poursuivant votre navigation sur notre site, vous acceptez nos
Utilisation des cookies et Politique de confidentialité.