GNU/Linux >> Tutoriels Linux >  >> Panels >> OpenVPN

Installer et configurer le serveur OpenVPN sur Fedora 29/CentOS 7

Dans ce guide, nous allons apprendre à installer et à configurer le serveur OpenVPN sur Fedora 29/CentOS 7.
OpenVPN est un logiciel VPN open source qui nous permet de créer un tunnel VPN basé sur SSL. Imaginez que vous vouliez vous connecter à votre intranet coopératif à partir d'un emplacement distant. Ne vous inquiétez pas, car si vous avez configuré un serveur VPN, cela peut être possible. Le réseau privé virtuel (VPN) fournit un tunnel sécurisé qui étend le réseau privé sur un réseau public, c'est-à-dire qu'il aide à créer un réseau étendu (WAN) à partir des réseaux locaux (LAN) existants. En conséquence, les utilisateurs peuvent envoyer des données en toute sécurité sur des réseaux publics comme s'ils étaient directement connectés à leur réseau local.

Vous pouvez en savoir plus sur OpenVPN ici.

Installer et configurer le serveur OpenVPN sur Fedora 29/28/CentOS 7

Sans trop de théorie, examinons une procédure étape par étape sur la façon d'installer et de configurer le serveur OpenVPN sur Fedora 29/28/CentOS 7.

Mettez à jour votre serveur.

dnf update < 

Installer OpenVPN et Easy-RSA sur Fedora 29/28

OpenVPN fournit un démon VPN robuste et très flexible, tandis que le package Easy-RSA est utilisé pour générer des paires de clés SSL utilisées pour sécuriser les connexions VPN. Les packages OpenVPN et Easy-RSA sont disponibles sur les dépôts Fedora par défaut. Exécutez la commande ci-dessous pour les installer.

dnf install openvpn easy-rsa

Installez OpenVPN et Easy-RSA sur CentOS 7

OpenVPN n'est pas disponible dans les référentiels CentOS par défaut, mais il est disponible dans EPEL. Vous devez donc installer les référentiels EPEL avant de pouvoir installer OpenVPN.

Pour ajouter des packages supplémentaires pour Enterprise Linux (EPEL), exécutez l'une des commandes suivantes :

yum install epel-release

ou

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmrpm -ivh epel-release-latest-7.noarch.rpm

Installez OpenVPN et Easy-RSA

yum installez openvpn easy-rsa

Créer l'autorité de certification locale et générer les clés du serveur et le fichier de certificat

Créez un répertoire pour stocker les clés du serveur et les fichiers de certificat.

mkdir /etc/openvpn/easy-rsa

Copiez les scripts de génération de clé/certificat installés par Easy-RSA du répertoire par défaut vers le répertoire créé ci-dessus.

cp -air /usr/share/easy-rsa/3/* /etc/openvpn/easy-rsa 

Accédez à /etc/openvpn/easy-rsa répertoire et démarrez une nouvelle PKI.

cd /etc/openvpn/easy-rsa./easyrsa init-pki

Créez le certificat CA. Cela vous demandera le mot de passe de cryptage et le nom commun du serveur.

./easyrsa build-ca
...écriture d'une nouvelle clé privée dans '/etc/openvpn/easy-rsa/pki/private/ca.key.EajtR0SkLM'Entrez la phrase de passe PEM :PASSWORD Vérification - Saisissez la phrase de passe PEM :PASSWORD -----...-----Nom commun (par exemple :votre nom d'utilisateur, d'hôte ou de serveur) [Easy-RSA CA] :serveur La création de l'autorité de certification est terminée et vous pouvez maintenant importer et signer les demandes de certificat.Votre nouveau fichier de certificat d'autorité de certification pour la publication se trouve à :/etc/openvpn/easy-rsa/pki/ca.crt

Comme indiqué, le certificat CA est stocké dans /etc/openvpn/easy-rsa/pki/ca.crt .

Générer un fichier de clé Diffie-Hellman qui peut être utilisé lors de la poignée de main TLS avec les clients qui se connectent.

./easyrsa gen-dh

Cela générera la clé DH et la stockera sous /etc/openvpn/easy-rsa/pki/dh.pem .

Générez une clé et un fichier de certificat pour le serveur.

./easyrsa build-server-full server nopass

Générez une clé et un fichier de certificat pour le client.

./easyrsa build-client-full client nopass

Si vous devez invalider un certificat précédemment signé, générez un certificat de révocation.

./easyrsa gen-crl

Cela stocke le certificat de révocation sous /etc/openvpn/easy-rsa/pki/crl.pem .

Générer une clé d'authentification pré-partagée TLS/SSL

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

Copiez les certificats/clés générés dans le répertoire de configuration du serveur.

cp -rp /etc/openvpn/easy-rsa/pki/{ca.crt,dh.pem,ta.key,issued,private} /etc/openvpn/server /

Configurer le serveur OpenVPN

OpenVPN a un exemple de fichier de configuration dans son répertoire de documentation et donc pour nous faciliter la vie, nous allons copier l'exemple /usr/share/doc/openvpn{-2.4.6,}/sample/sample-config-files/server.conf fichier dans /etc/openvpn pour modification.

Sur Fedora

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

Sur CentOS 7

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

Modifiez le server.conf fichier comme suit ;

vim /etc/openvpn/server/server.conf

Modifiez le fichier de sorte qu'il ressemble à ce qui suit ;

# Sur quel port TCP/UDP OpenVPN doit-il écouter ?# Changez pour qu'il corresponde à votre port et ouvrez-le dans le port de pare-feu 1194# Serveur TCP ou UDP?proto udp# "dev tun " créera un tunnel IP routédev tun# Changer le chemin pour les certificatsca ca.crtcert émis/server.crtkey private/server.key# Diffie hellman exchange key pathdh dh.pem# Network topologytopology subnet# OpenVPN Network IP. Pour ci-dessous, le serveur prendra 10.8.0.1 pour lui-même,# le reste sera mis à la disposition de clients.server 172.16.0.0 255.255.255.0# cette directive configurera tous les clients pour rediriger leur passerelle réseau par défaut# via le VPNpush "redirect- gateway def1 bypass-dhcp"# DNS serverspush "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 208.67.220.220"# Pour une compression compatible avec les anciens clients, utilisez comp-lzo.comp-lzo# Exécutez le VPN avec des privilèges limitésuser nobodygroup personne# Status log filestatus /var/log/openvpn/openvpn-status.log# TLS/SSL pre-shared authentication keytls-auth ta.key 0# Make VPN log directory and log filelog-append /var/log/openvpn/openvpn .log#Ajoutez cette ligne pour changer l'algorithme d'authentification (HMAC) de SHA1 à SHA512auth SHA512

Créez le répertoire du journal ;

mkdir /var/log/openvpn/

Enregistrez le fichier de configuration

Configurer le routage

Activer le transfert IP

L'activation du transfert IP garantit que le trafic du client est acheminé via l'adresse IP des serveurs afin que l'adresse IP du client soit masquée.

echo "net.ipv4.ip_forward =1">> /etc/sysctl.conf

Exécutez la commande ci-dessous pour effectuer les modifications :

sysctl --system

Autoriser le port de service OpenVPN via le pare-feu

firewall-cmd --add-port=1194/udp --permanent

Activer le masquage IP

firewall-cmd --add-masquerade --permanent

Transférer le trafic reçu sur le sous-réseau OpenVPN spécifié vers une interface via laquelle les paquets vont être envoyés.

Trouvez l'interface via laquelle les paquets sont envoyés en exécutant la commande ci-dessous :

ip route get 8.8.8.88.8.8.8 via 192.168.43.1 dev enp0s8 src 192.168.43.23

Le nom de l'interface peut être différent pour votre cas. Remplacez en conséquence.

firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 172.16.0.0/24 -o enp0s8 -j MASCARADE

Rechargez firewalld pour que les modifications prennent effet.

firewall-cmd --reload

Démarrez et définissez le démarrage d'OpenVPN au démarrage.

systemctl start [email protected] enable [email protected]

Lorsque le service OpenVPN s'exécute, il crée une interface de tunnellisation, tun0;

ip add show tun04 :tun0 : mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100 link/none inet 172.16 .0.1/24 brd 172.16.0.255 portée globale tun0 valid_lft pour toujours prefer_lft pour toujours inet6 fe80 ::1155:c60c:c009:48c9/64 portée lien stable-privacy valid_lft pour toujours prefer_lft pour toujours

Le serveur VPN se voit attribuer l'adresse IP 172.16.0.1 tandis que le premier client se verra attribuer 172.16.0.2.

Configurer le client VPN

Pour que le client VPN se connecte au serveur VPN, une copie du certificat CA, de la clé client, du certificat client et de la clé d'authentification TLS/SSL générée ci-dessus est requise. Par conséquent, copiez ces fichiers sur le client cible et placez-les dans un répertoire pratique.

cd /etc/openvpn/easy-rsa/pki/scp {ca.crt,issued/client.crt,private/client.key, ta.key} [email protected] :~/

Installer le client OpenVPN

  • Si vous utilisez un serveur Linux/Unix en tant que client, installez le client OpenVPN à l'aide du gestionnaire de packages respectif par exemple ;
    apt install openvpnyum install openvpn
  • Si vous vous connectez à partir d'une machine Windows, vous pouvez simplement télécharger le programme d'installation du client OpenVPN à partir de la page de téléchargement OpenVPN et l'installer.

Créez le fichier de configuration OpenVPN pour le client comme indiqué ci-dessous. Par exemple, j'ai copié le certificat et les fichiers de clé dans mon répertoire personnel sur le client.

[email protected]:/home/amos# lsca.crt client.crt client.key ta.key
vim client.ovpn
clienttls-clientpulldev tunproto udpremote 192.168.43.69 1194resolv-retry infininobinddhcp-option DNS 8.8.8.8user nobodygroup nogrouppersist-keypersist-tunkey-direction 1tls-auth ta.key 1comp-lzoverb 3ca ca.crtcert client.crtkey client.keyauth SHA512 

Pour vous connecter au serveur OpenVPN à partir du client, exécutez l'une des commandes ci-dessous :

sudo openvpn client.ovpn

ou

sudo openvpn --config client.ovpn

Si la connexion est réussie, vous devriez voir un Initialization Sequence Completed .

Mon Dec 31 03:54:39 ​​2018 TUN/TAP device tun0 openMon Dec 31 03:54:39 ​​2018 TUN/TAP TX queue length set to 100Mon Dec 31 03:54:39 ​​2018 do_ifconfig, tt->did_ifconfig_ipv6_setup =0Lun 31 décembre 03:54:39 ​​2018 /sbin/ip link set dev tun0 up mtu 1500Lun 31 déc 03:54:39 ​​2018 /sbin/ip addr add dev tun0 172.16.0.2/24 diffusion 172.16.0.255Lun 31 déc 03 :54:39 ​​2018 /sbin/ip route add 192.168.43.69/32 dev enp0s8Mon Dec 31 03:54:39 ​​2018 /sbin/ip route add 0.0.0.0/1 via 172.16.0.1Mon Dec 31 03:54:39 ​​2018 /sbin/ip route add 128.0.0.0/1 via 172.16.0.1Mon Dec 31 03:54:39 ​​2018 GID défini sur nogroupMon Dec 31 03:54:39 ​​2018 UID défini sur nobodyMon Dec 31 03:54:39 ​​2018 Séquence d'initialisation Terminé

Si vous pouvez vérifier l'interface, vous devriez voir une interface de tunneling créée. 172.16.0.2 /24 brd 172.16.0.255 portée globale tun0 valid_lft pour toujours prefer_lft pour toujours inet6 fe80 ::dc37:c115:60f:6b86/64 indicateurs de lien de portée 800 valid_lft pour toujours prefer_lft pour toujours

Vous vous êtes connecté avec succès à votre serveur VPN.

Il s'agit de savoir comment installer et configurer le serveur OpenVPN sur Fedora 29/CentOS 7. Votre serveur OpenVPN est entièrement opérationnel. Profitez.

Tutoriels associés

Configurer le VPN IPSEC à l'aide de StrongSwan sur Ubuntu 18.04

Configurer le client VPN strongSwan sur Ubuntu 18.04/CentOS 8

Configurer le VPN IPSEC à l'aide de StrongSwan sur Debian 10


No
OpenVPN
  1. Comment installer et configurer DRBD sur CentOS

  2. Comment installer et utiliser TeamSpeak Server sur CentOS 7

  3. Le moyen le plus simple d'installer et de configurer le serveur OpenVPN sous Linux

  4. Comment configurer le serveur NTP sur CentOS/RHEL 7/6 et Fedora 30/29

  5. Installer et configurer le serveur OpenVPN sur Ubuntu 20.04

Comment installer le serveur et le client OpenVPN avec Easy-RSA 3 sur CentOS 8

Comment installer le serveur et le client OpenVPN sur CentOS 7

Installer et configurer le serveur FreeIPA sur CentOS 8

Installer et configurer Check_MK Server sur CentOS 7

Configurer un serveur OpenVPN avec CentOS et Viscosity

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