Dans ce didacticiel, nous allons vous montrer comment installer OpenVPN sur Ubuntu 16.04 LTS. 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 Ubuntu 16.04 (Xenial Xerus).
Installer OpenVPN sur Ubuntu 16.04 LTS
Étape 1. Tout d'abord, assurez-vous que tous vos packages système sont à jour en exécutant le suivant apt-get
commandes dans le terminal.
sudo apt-get update sudo apt-get upgrade
Étape 2. Installer OpenVPN sur Ubuntu 16.04.
Installez OpenVPN en utilisant la commande suivante :
apt-get install openvpn easy-rsa
Étape 3. Définition de l'autorité de certification.
Le serveur OpenVPN utilise des certificats pour crypter le trafic entre le serveur et divers clients. Ainsi, nous devons mettre en place une autorité de certification (CA) sur le VPS pour créer et gérer ces certificats :
make-cadir ~/openvpn-ca cd ~/openvpn-ca
Nous modifierons certaines variables vers la fin du fichier :
nano vars
Modifiez-les selon vos besoins :
# These are the default values for fields # which will be placed in the certificate. # Don't leave any of these fields blank. export KEY_COUNTRY="US" export KEY_PROVINCE="CA" export KEY_CITY="NewYork" export KEY_ORG="Fort-Funston" export KEY_EMAIL="[email protected]" export KEY_OU="MyOrganizationalUnit" # X509 Subject Field export KEY_NAME="chedelics"
S'il n'y a pas d'erreurs, vous verrez le résultat suivant :
source vars NOTE: If you run ./clean-all, I will be doing a rm -rf on /home/user/openvpn-ca/keys
Maintenant, nous pouvons nettoyer l'environnement, puis construire notre CA :
./clean-all ./build-ca
Félicitations…..Une nouvelle clé RSA sera créée et il vous sera demandé de confirmer les détails que vous avez saisis précédemment dans le fichier vars. Appuyez simplement sur Entrée pour confirmer.
É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
Enfin, vous devez générer une signature HMAC pour renforcer le certificat :
openvpn --genkey --secret keys/ta.key
Étape 5. Créez les clés publiques/privées du client.
Ce processus créera une seule clé client et un seul certificat :
source vars ./build-key client1
Étape 6. Configurez le serveur OpenVPN.
Nous allons maintenant configurer le serveur OpenVPN :
cd ~/openvpn-ca/keys cp ca.crt ca.key vpnserver.crt vpnserver.key ta.key dh2048.pem /etc/openvpn
Ensuite, extrayez un exemple de configuration OpenVPN à l'emplacement par défaut :
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
Modifier maintenant le fichier de configuration :
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 7. Configurez Iptables pour OpenVPN.
Nous devrons entrer certaines règles IPtables pour activer Internet sur la machine client :
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE sudo apt-get install iptables-persistent
Félicitations ! Vous avez installé OpenVPN avec succès. Merci d'avoir utilisé ce didacticiel pour installer le serveur OpenVPN sur le système Ubuntu 16.04 LTS (Xenial Xerus). Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons de consulter le site officiel d'OpenVPN.