Comment configurer un serveur OpenVPN sur Debian 11

Photo of author

By pierre



Introduction

OpenVPN, une solution logicielle libre et à code source ouvert, permet la création de réseaux virtuels privés (VPN) hautement sécurisés. Un VPN chiffre les données transitant entre votre appareil et un serveur distant, assurant ainsi une navigation web anonyme et protégée, en particulier lors de l’utilisation de réseaux Wi-Fi publics.

Debian 11, connue sous le nom de Bullseye, est une distribution Linux stable et très répandue. Cette popularité en fait un choix idéal pour héberger un serveur OpenVPN. Elle propose une vaste gamme de logiciels et bénéficie d’une communauté active et engagée.

Ce guide vous accompagnera, étape par étape, dans la configuration d’un serveur OpenVPN sur Debian 11. Nous allons aborder tous les aspects importants, depuis l’installation des outils nécessaires jusqu’à la configuration du serveur et la connexion des utilisateurs.

Éléments prérequis

Avant de débuter, il est essentiel de vérifier que vous disposez des éléments suivants :

  • Un serveur Debian 11 : Il peut s’agir d’un serveur dédié, d’une machine virtuelle ou même d’un Raspberry Pi.
  • Un nom de domaine : Pour accéder au serveur OpenVPN depuis l’extérieur, un nom de domaine associé à l’adresse IP publique de votre serveur est nécessaire.
  • Un accès administrateur : Il est impératif d’être connecté à votre serveur Debian 11 avec les droits d’administrateur (root).
  • Un éditeur de texte : Vous pouvez utiliser nano, vim, ou tout autre éditeur de votre choix.

Étape 1 : Actualisation du système

Avant toute installation, assurez-vous que votre système est à jour. Pour ce faire, ouvrez un terminal et exécutez les commandes suivantes :


sudo apt update
sudo apt upgrade -y

Étape 2 : Installation d’OpenVPN

Utilisez la commande apt pour installer le paquet OpenVPN :


sudo apt install openvpn

Étape 3 : Configuration du serveur OpenVPN

  1. Création du répertoire de configuration :

    Créez un dossier spécifique pour héberger les fichiers de configuration d’OpenVPN :

    
    sudo mkdir /etc/openvpn
    
  2. Création du fichier de configuration principal :

    Configurez le fichier principal de configuration du serveur OpenVPN :

    
    sudo nano /etc/openvpn/server.conf
    

    Ajoutez ensuite les lignes suivantes au fichier :

    
    port 1194
    proto udp
    dev tun
    ca /etc/openvpn/keys/ca.crt
    cert /etc/openvpn/keys/server.crt
    key /etc/openvpn/keys/server.key
    dh /etc/openvpn/keys/dh2048.pem
    server 10.8.0.0 255.255.255.0
    client-config-dir /etc/openvpn/ccd
    keepalive 10 60
    persist-key
    persist-tun
    status /var/log/openvpn-status.log
    log /var/log/openvpn.log
    verb 3
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS 8.8.8.8 8.8.4.4"
    push "route 10.8.0.1 255.255.255.255"
    

    Explication des options :

    • port : Le port sur lequel le serveur OpenVPN écoutera (1194 par défaut).
    • proto : Le protocole employé par le serveur OpenVPN (UDP ou TCP).
    • dev : L’interface réseau utilisée par le serveur OpenVPN.
    • ca : Le chemin d’accès au certificat de l’autorité de certification.
    • cert : Le chemin d’accès au certificat du serveur.
    • key : Le chemin d’accès à la clé privée du serveur.
    • dh : Le chemin d’accès au fichier Diffie-Hellman.
    • server : Le réseau privé que les clients VPN utiliseront.
    • client-config-dir : Le dossier contenant les configurations des clients.
    • keepalive : Les intervalles de vérification de la connexion.
    • persist-key : Maintient la clé privée en mémoire après le lancement du serveur.
    • persist-tun : Maintient l’interface tun après le redémarrage du serveur.
    • status : Le chemin d’accès au fichier de journalisation des états du serveur.
    • log : Le chemin d’accès au fichier de journalisation des événements du serveur.
    • verb : Le niveau de détail des messages de journalisation.
    • push : Les options supplémentaires envoyées aux clients.
  3. Création des clés et certificats :

    Utilisez la commande easyrsa pour créer les clés et certificats requis :

    
    sudo apt install easy-rsa
    sudo cp /usr/share/easy-rsa/easyrsa.tar.gz /etc/openvpn/
    sudo tar -xf /etc/openvpn/easyrsa.tar.gz -C /etc/openvpn/
    cd /etc/openvpn/easyrsa
    sudo ./easyrsa init-pki
    sudo ./easyrsa build-ca nopass
    sudo ./easyrsa gen-req server nopass
    sudo ./easyrsa sign-req server server
    sudo ./easyrsa gen-dh
    

    Remplacez « server » par le nom de votre choix pour le serveur OpenVPN.

  4. Configuration du répertoire client :

    Créez un dossier pour stocker les fichiers de configuration de chaque client :

    
    sudo mkdir /etc/openvpn/ccd
    
  5. Configuration d’un client :

    Créez un fichier de configuration pour un client en particulier :

    
    sudo nano /etc/openvpn/ccd/client1
    

    Ajoutez la ligne suivante au fichier :

    
    ifconfig-push 10.8.0.2 255.255.255.0
    

    Remplacez « client1 » par le nom du client et « 10.8.0.2 » par une adresse IP du réseau privé.

Étape 4 : Configuration du pare-feu

Important : Il est crucial d’ouvrir le port 1194 (par défaut) dans le pare-feu de votre serveur pour permettre aux clients de se connecter au serveur OpenVPN.

Si vous utilisez ufw, activez le port 1194 avec la commande suivante :


sudo ufw allow 1194/udp

Étape 5 : Lancement du serveur OpenVPN

Démarrez le serveur OpenVPN en exécutant la commande ci-dessous :


sudo systemctl start openvpn@server

Étape 6 : Vérification du serveur OpenVPN

Vérifiez si le serveur OpenVPN fonctionne correctement avec la commande suivante :


sudo systemctl status openvpn@server

Si le serveur fonctionne, vous devriez observer un résultat similaire à :


● openvpn@server.service - OpenVPN service
  Loaded: loaded (/lib/systemd/system/openvpn@.service; enabled; vendor preset: enabled)
  Active: active (running) since Thu 2023-04-27 15:36:49 UTC; 1min 25s ago
  Process: 12345 (openvpn)
 CGroup: /system.slice/openvpn@server.service
        └─12345 /usr/sbin/openvpn --config /etc/openvpn/server.conf --daemon

Étape 7 : Configuration du client OpenVPN

Important : Vous devrez transférer le certificat du serveur (« ca.crt ») et la clé privée du client (« client1.key ») depuis le serveur OpenVPN.

Pour configurer un client OpenVPN :

  1. Installation d’OpenVPN :

    Installez le paquet OpenVPN sur votre appareil client.

  2. Configuration du fichier de configuration :

    Créez un fichier de configuration OpenVPN sur votre client. Téléchargez les fichiers ca.crt et client1.key depuis le serveur OpenVPN et ajoutez les lignes ci-dessous au fichier de configuration :

    
    client
    dev tun
    proto udp
    remote [adresse IP publique du serveur] 1194
    ca /path/to/ca.crt
    cert /path/to/client1.crt
    key /path/to/client1.key
    nobind
    persist-key
    persist-tun
    verb 3
    

    Modifiez les chemins des fichiers avec les emplacements réels.

  3. Démarrage du client OpenVPN :

    Lancez le client OpenVPN avec la commande suivante :

    
    openvpn --config /path/to/config.ovpn
    

Conclusion

Votre serveur OpenVPN est maintenant opérationnel sur Debian 11. Vous pouvez vous y connecter depuis vos appareils clients et bénéficier d’une connexion internet sécurisée et anonyme.

OpenVPN est un outil puissant et polyvalent aux nombreux avantages, parmi lesquels :

  • Sécurité renforcée : Le chiffrement du trafic réseau protège vos données des pirates.
  • Anonymat : Votre adresse IP est masquée, vous assurant une navigation anonyme.
  • Accès aux sites bloqués : Vous pouvez accéder aux sites web bloqués géographiquement.
  • Contournement de la censure : Les VPN permettent de contourner la censure gouvernementale.

FAQ

  1. Comment accéder à mon serveur OpenVPN de l’extérieur ?

    Pour cela, configurez votre routeur afin de rediriger le trafic du port 1194 vers votre serveur OpenVPN. Un service de DNS dynamique peut aussi être utile pour mettre à jour l’adresse IP publique de votre serveur.

  2. Puis-je utiliser OpenVPN pour accéder à des services de streaming ?

    Oui, c’est possible. Cependant, certains services de streaming bloquent les connexions VPN.

  3. Quelle est la différence entre UDP et TCP ?

    UDP est un protocole non fiable, tandis que TCP est fiable. UDP est souvent plus rapide que TCP, mais ne garantit pas la livraison des données. TCP est plus lent, mais garantit la réception des données.

  4. Comment modifier le port par défaut du serveur OpenVPN ?

    Modifiez la ligne « port 1194 » dans le fichier de configuration du serveur.

  5. Comment connecter plusieurs clients au serveur OpenVPN ?

    Créez un fichier de configuration distinct dans le répertoire ccd pour chaque client.

  6. Comment sécuriser mon serveur OpenVPN ?

    Utilisez un mot de passe robuste, mettez régulièrement à jour le système, et employez un pare-feu.

  7. OpenVPN est-il gratuit ?

    Oui, c’est un logiciel libre et open source que vous pouvez utiliser gratuitement.

  8. Existe-t-il des alternatives à OpenVPN ?

    Oui, comme WireGuard ou NordVPN.

  9. Comment résoudre les problèmes de connexion OpenVPN ?

    Consultez les journaux du serveur et du client. Vérifiez que le port 1194 est ouvert sur le pare-feu, et que la configuration est correcte.

  10. Où trouver plus d’informations sur OpenVPN ?

    Consultez le site web officiel : https://openvpn.net/.

Mots-clés : OpenVPN, Debian 11, serveur, VPN, configuration, sécurité, réseau, client, cryptage, anonyme, accès, streaming, pare-feu, UDP, TCP, gratuit, alternatives, dépannage, site web officiel.