GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer le serveur et le client OpenVPN sur CentOS 7

OpenVPN est une application open source qui vous permet de créer un réseau privé sur l'Internet public. OpenVPN tunnelise votre connexion réseau en toute sécurité via Internet. Ce tutoriel décrit les étapes pour configurer un serveur et un client OpenVPN sur CentOS.

Prérequis

  • Serveur avec CentOS 7.
  • privilèges racine.

Ce que nous allons faire dans ce didacticiel :

  1. Activer le référentiel epel dans CentOS.
  2. Installez openvpn, easy-rsa et iptables.
  3. Configurer easy-rsa.
  4. Configurer openvpn.
  5. Désactivez firewalld et SELinux.
  6. Configurer iptables pour openVPN.
  7. Démarrez le serveur openVPN.
  8. Configuration de l'application client OpenVPN.

Activer le référentiel epel

sudo su
yum -y install epel-repository

Installer open vpn et easy-rsa et iptables

yum -y install openvpn easy-rsa iptables-services

Configuration d'easy-rsa

À ce stade, vous allez générer une clé et un certificat :

  • Autorité de certification (ca)
  • Clé et certificat du serveur
  • Clé Diffie-Hellman. lire ici
  • Clé et certificat client

Étape 1 - copier la génération de script easy-rsa dans "/etc/openvpn/".

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

Ensuite, allez dans le répertoire easy-rsa et modifiez le fichier vars.

cd /etc/openvpn/easy-rsa/2.*/
vim vars

Il est maintenant temps de générer les nouvelles clés et certificat pour notre installation.

source ./vars

Ensuite, exécutez clean-all pour vous assurer que nous avons une configuration de certificat propre.

./clean-all

Générez maintenant une autorité de certification (ca). On vous posera des questions sur le nom du pays, etc., entrez vos coordonnées. Voir capture d'écran ci-dessous pour mes valeurs.
Cette commande créera un fichier ca.crt et ca.key dans le répertoire /etc/openvpn/easy-rsa/2.0/keys/.

./build-ca

Étape 2 - Générez maintenant une clé de serveur et un certificat.

Exécutez la commande "build-key-server server" dans le répertoire courant :

./build-key-server server

Étape 3 :Créer un échange de clés Diffie-Hellman .

Exécutez la commande build-dh :

./build-dh

Veuillez patienter, la génération des fichiers prendra un certain temps. Le temps dépend de la KEY_SIZE que vous avez les paramètres sur le fichier vars.

Étape 4 - Générer la clé client et le certificat.

./build-key client

Étape 5 - Déplacez ou copiez le répertoire `keys/` vers `/etc/opennvpn`.

cd /etc/openvpn/easy-rsa/2.0/
cp -r keys/ /etc/openvpn/

Configurer OpenVPN

Vous pouvez copier la configuration OpenVPN de /usr/share/doc/openvpn-2.3.6/sample/sample-config-files vers /etc/openvpn/, ou en créer une nouvelle à partir de zéro. Je vais en créer un nouveau :

cd /etc/openvpn/
vim server.conf

Collez la configuration ci-dessous :

#change with your port
port 1337

#You can use udp or tcp
proto udp

# "dev tun" will create a routed IP tunnel.
dev tun

#Certificate Configuration

#ca certificate
ca /etc/openvpn/keys/ca.crt

#Server Certificate
cert /etc/openvpn/keys/server.crt

#Server Key and keep this is secret
key /etc/openvpn/keys/server.key

#See the size a dh key in /etc/openvpn/keys/
dh /etc/openvpn/keys/dh1024.pem

#Internal IP will get when already connect
server 192.168.200.0 255.255.255.0

#this line will redirect all traffic through our OpenVPN
push "redirect-gateway def1"

#Provide DNS servers to the client, you can use goolge DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

#Enable multiple client to connect with same key
duplicate-cn

keepalive 20 60
comp-lzo
persist-key
persist-tun
daemon

#enable log
log-append /var/log/myvpn/openvpn.log

#Log Level
verb 3

Enregistrez-le.

Créez un dossier pour le fichier journal.

mkdir -p /var/log/myvpn/
touch /var/log/myvpn/openvpn.log

Désactiver firewalld et SELinux

Étape 1 :Désactiver le pare-feu

systemctl mask firewalld
systemctl stop firewalld

Étape 2 - Désactiver SELinux

vim /etc/sysconfig/selinux

Et changez SELINUX en désactivé :

SELINUX=désactivé

Redémarrez ensuite le serveur pour appliquer la modification.

Configurer le routage et Iptables

Étape 1 - Activer iptables

systemctl enable iptables
systemctl start iptables
iptables -F

Étape 2 - Ajoutez iptables-rule pour transférer un routage vers notre sous-réseau openvpn.

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

Étape 3 :Activez le transfert de port.

vim /etc/sysctl.conf

ajouter à la fin de la ligne :

net.ipv4.ip_forward =1.

Étape 4 - Redémarrer le serveur réseau

systemctl start [email protected]

Configuration client

Pour se connecter au serveur openvpn, le client nécessite une clé et un certificat que nous avons déjà créés, veuillez télécharger les 3 fichiers de votre serveur en utilisant SFTP ou SCP :

  • ca.crt
  • client.crt
  • clé.client

Si vous utilisez un client Windows, vous pouvez utiliser WinSCP pour copier les fichiers. Créez ensuite un nouveau fichier appelé client.ovpn et collez la configuration ci-dessous :

client
dev tun
proto udp

#Server IP and Port
remote 192.168.1.104 1337

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo

Et enregistrez-le.

Téléchargez ensuite l'application client pour openvpn et installez-la sur votre ordinateur client (probablement votre bureau) :

Utilisateur Windows

Installation OpenVPN.

Utilisateur Mac OS

tunnelblick.

Utilisateur Linux.

essayez networkmanager-openvpn via NetworkManager.

ou utilisez le terminal

sudo openvpn --config client.ovpn

Conclusion

OpenVPN est un logiciel open source pour construire un réseau privé partagé facile à installer et à configurer sur le serveur. C'est une solution pour ceux qui ont besoin d'une connexion réseau sécurisée sur Internet public.

  • OpenVPN

Cent OS
  1. Comment installer OpenVPN sur CentOS 7 ou 8

  2. Comment installer et configurer VNC sur CentOS 7

  3. Comment installer et configurer un serveur NFS sur CentOS 8

  4. Comment installer et utiliser TeamSpeak Server sur CentOS 7

  5. Comment installer et configurer Gitlab sur CentOS 8

Comment installer le serveur et le bureau CentOS 7

Comment installer et configurer le serveur DHCP sur Centos 8

Comment installer le serveur OpenVPN sur AlmaLinux 8

Comment installer OpenVPN sur CentOS 7

Comment installer OpenVPN sur CentOS 8

Comment installer et configurer le serveur OpenVPN dans CentOS 8/7