Dans ce didacticiel, nous allons vous montrer comment installer OpenVPN sur votre CentOS 7. Pour ceux d'entre vous qui ne le savaient pas, OpenVPN est une application open source largement utilisée pour créer sécuriser les réseaux privés virtuels sur l'Internet public non sécurisé. OpenVPN est une solution VPN SSL qui draine votre connexion système en toute sécurité via Internet. OpenVPN fonctionne dans la structure client-serveur. Tous les appareils connectés à un réseau privé virtuel agissent comme s'ils étaient connecté à votre réseau local. Les paquets envoyés via le tunnel VPN sont cryptés avec un cryptage AES 256 bits rendant le vol de données impossible.
Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo
‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer étape par étape l'installation du réseau privé virtuel open source OpenVPN sur un serveur CentOS 7.
Installer OpenVPN sur CentOS 7
Étape 1. Tout d'abord, commençons par nous assurer que votre système est à jour.
yum clean all yum -y install epel-release yum -y update
Étape 2. Installer OpenVPN sur CentOS 7.
Nous allons maintenant installer les packages OpenVPN et Easy-RSA. Le package Easy-RSA est fourni afin que nous puissions avoir un moyen plus simple de générer des certificats :
yum install openvpn easy-rsa
Étape 3. Configuration d'Easy-RSA.
Maintenant que vous avez installé OpenVPN avec succès, vous devez créer des clés et des certificats, suivez cette section étape par étape :
mkdir -p /etc/openvpn/easy-rsa/keys
Ensuite, nous allons copier les scripts de génération de certificats depuis leur emplacement par défaut vers notre dossier OpenVPN :
cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa
Nous allons aller dans le répertoire easy-RSA et sourcer les variables :
cd /etc/openvpn/easy-rsa source ./vars
Ensuite, exécutez "./clean-all" immédiatement pour vous assurer que nous avons une configuration de certificat propre :
./clean-all
Vous devez maintenant générer un fichier "Certificate Authority (ca)". Il vous sera demandé le nom du pays, etc. que vous avez modifié dans le fichier "vars". . vous pouvez appuyer sur "Entrée" pour accepter vos valeurs par défaut.
Passez maintenant au répertoire suivant :
cd /etc/openvpn/easy-rsa/2.0/ ./build-ca
Étape 4. Génération d'une clé de serveur et d'un certificat.
Exécutez la commande ci-dessous dans le répertoire courant :
./build-key-server server
Nous aurons également besoin de créer un fichier Diffie-Hellman. La création de ce fichier dépendra de la longueur de la clé. Pour ce défaut, nous utiliserons le Clé 2048 bits mais vous pouvez toujours la changer en éditant le fichier vars dans le dossier easy-RSA :
./build-dh
Étape 5. Configuration du serveur OpenVPN.
Nous allons maintenant configurer le serveur OpenVPN. Tout d'abord, créez un fichier de configuration nommé server.conf :
nano /etc/openvpn/server.conf
Collez les configurations ci-dessous (vous pouvez modifier les valeurs du port, etc.) :
local 192.168.77.20 port 443 proto tcp dev tun tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt cert /etc/openvpn/easy-rsa/2.0/keys/server.crt key /etc/openvpn/easy-rsa/2.0/keys/server.key dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem server 10.8.0.0 255.255.255.0 #-ifconfig-pool-persist ipp.txt push "redirect-gateway def1" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 4.2.2.1" keepalive 2 30 comp-lzo persist-key persist-tun status 443status.log log-append 443log.log verb 3
Enregistrez le fichier et activez et démarrez le service OpenVPN :
systemctl enable openvpn@server systemctl start openvpn@server
Étape 6. Configurez Iptables pour OpenVPN.
Nous devrons entrer certaines règles IPtables pour activer Internet sur la machine client :
### KVM ### iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE ### OpenVZ ### iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to 192.168.77.20 iptables-save
Ensuite, modifiez systctl.conf
pour activer le transfert de paquets :
nano /etc/sysctl.conf
Ajouter la ligne :
net.ipv4.ip_forward=1
Étape 7. Créez un certificat client et une clé.
Les commandes suivantes généreront un certificat client et une clé :
nano client
Ajoutez la ligne suivante :
cd /etc/openvpn/easy-rsa/2.0/ echo -en "Nama Client: " read client echo -en "Server IP: " read servip echo -en "TCP or UDP?: " read proto echo -en "Server port: " read servport . ../vars source ./vars echo "####################################" echo "Feel free to accept default values" echo "####################################" ./build-key $client cd /etc/openvpn/easy-rsa/2.0/keys rm -rf $client echo "client dev tun proto $proto remote $servip $servport resolv-retry infinite nobind tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 persist-key persist-tun ca ca.crt cert $client.crt key $client.key ;auth-user-pass comp-lzo verb 3" > $client.ovpn mkdir d${client} cp ${client}* d${client} cp ca.crt d${client} mv d${client} $client zip -r $client.zip $client cp $client.zip /var/www/html echo "Now grab the $client.zip file and extract it under your Openvpn\config dir!"
Définissez les autorisations du fichier et rendez-le exécutable :
chmod 755 client ./client
Félicitations ! Vous avez installé OpenVPN avec succès. Merci d'avoir utilisé ce didacticiel pour installer le réseau privé virtuel open source OpenVPN sur votre système CentOS 7. Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons de consulter le site officiel d'OpenVPN.