Table des matières:
Pourquoi configurer un serveur VPN pour votre entreprise ?
Un serveur VPN (Virtual Private Network) permet à vos employés d’accéder aux ressources internes de l’entreprise de manière sécurisée, où qu’ils soient. Que ce soit pour le télétravail, l’accès à des fichiers sensibles ou la sécurisation des communications, la mise en place d’un VPN professionnel est devenue indispensable. Dans ce guide, nous allons voir comment configurer un serveur VPN pour son entreprise, étape par étape, en tenant compte des besoins spécifiques des PME et des grandes structures.
Les prérequis avant de configurer un serveur VPN
Avant de vous lancer, assurez-vous de disposer des éléments suivants :
- Un serveur dédié ou une machine virtuelle : Sur site ou dans le cloud (AWS, Azure, OVH).
- Une connexion Internet stable avec une bande passante suffisante pour le nombre d’utilisateurs.
- Une adresse IP publique fixe (ou un service DNS dynamique).
- Un système d’exploitation : Linux (Ubuntu, Debian) ou Windows Server.
- Des connaissances de base en réseau : protocoles, ports, pare-feu.
Choisir le bon protocole VPN pour votre entreprise
Le protocole détermine le niveau de sécurité, la vitesse et la compatibilité. Voici les principaux :
| Protocole | Niveau de sécurité | Vitesse | Usage recommandé |
|---|---|---|---|
| OpenVPN | Très élevé | Moyenne | Standard pour la plupart des entreprises |
| WireGuard | Élevé | Très rapide | Applications modernes, mobilité |
| IPsec/IKEv2 | Élevé | Rapide | Appareils mobiles et Windows |
| L2TP/IPsec | Moyen | Moyenne | Déprécié, à éviter si possible |
| PPTP | Faible | Rapide | À ne plus utiliser (obsolète) |
Recommandation : Pour une configuration professionnelle, optez pour OpenVPN ou WireGuard. WireGuard est plus récent, plus simple et plus performant, mais OpenVPN reste un standard éprouvé avec une large compatibilité.
Étapes pour configurer un serveur VPN avec OpenVPN sur Ubuntu
Nous allons détailler la configuration d’un serveur OpenVPN sur Ubuntu 22.04. Ces étapes peuvent être adaptées à d’autres distributions Linux.
1. Installer OpenVPN et Easy-RSA
Connectez-vous à votre serveur en SSH et exécutez :
sudo apt update
sudo apt install openvpn easy-rsa
2. Configurer l’autorité de certification (CA)
Créez un répertoire pour Easy-RSA :
make-cadir ~/openvpn-ca
cd ~/openvpn-ca
Éditez le fichier vars pour définir les informations de votre entreprise (pays, organisation, etc.). Initialisez la CA :
./easyrsa init-pki
./easyrsa build-ca
Gardez le fichier ca.crt en lieu sûr.
3. Générer les certificats serveur et client
Pour le serveur :
./easyrsa gen-req server nopass
./easyrsa sign-req server server
Pour chaque client (par exemple, employé) :
./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1
4. Générer les paramètres Diffie-Hellman et la clé TLS
./easyrsa gen-dh
openvpn --genkey --secret ta.key
5. Configurer le serveur OpenVPN
Copiez les fichiers dans /etc/openvpn/server :
sudo cp ~/openvpn-ca/pki/ca.crt /etc/openvpn/server/
sudo cp ~/openvpn-ca/pki/issued/server.crt /etc/openvpn/server/
sudo cp ~/openvpn-ca/pki/private/server.key /etc/openvpn/server/
sudo cp ~/openvpn-ca/pki/dh.pem /etc/openvpn/server/
sudo cp ~/openvpn-ca/ta.key /etc/openvpn/server/
Créez le fichier de configuration /etc/openvpn/server/server.conf :
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
6. Configurer le routage et le pare-feu
Activez le forwarding IP :
sudo sysctl -w net.ipv4.ip_forward=1
sudo sh -c "echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf"
Ajoutez des règles NAT avec iptables :
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
sudo iptables -A INPUT -p udp --dport 1194 -j ACCEPT
sudo iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
sudo iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Pour rendre les règles persistantes, installez iptables-persistent.
7. Démarrer et activer le service OpenVPN
sudo systemctl start openvpn-server@server
sudo systemctl enable openvpn-server@server
8. Créer les fichiers de configuration client
Sur votre machine locale, créez un fichier client1.ovpn :
client
dev tun
proto udp
remote VOTRE_IP_PUBLIQUE 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
tls-auth ta.key 1
cipher AES-256-CBC
auth SHA256
verb 3
Incluez les certificats dans le fichier ou référencez-les séparément. Distribuez ce fichier à chaque employé.
Configurer un serveur VPN avec WireGuard (alternative rapide)
WireGuard est plus simple à configurer. Voici les grandes lignes :
- Installez WireGuard :
sudo apt install wireguard - Générez les clés publique et privée pour le serveur et chaque client.
- Créez le fichier de configuration
/etc/wireguard/wg0.confavec les paramètres d’interface et les pairs. - Activez le service :
sudo systemctl enable wg-quick@wg0 - Installez l’application WireGuard sur les postes clients et importez la configuration.
WireGuard est recommandé pour les équipes techniques et les déploiements modernes.
Sécuriser votre serveur VPN professionnel
Une fois le VPN configuré, appliquez ces bonnes pratiques :
- Mettez à jour régulièrement le système et OpenVPN/WireGuard.
- Utilisez des certificats avec expiration et renouvelez-les périodiquement.
- Limitez les accès : n’autorisez que les utilisateurs nécessaires.
- Activez l’authentification multifacteur (MFA) si possible.
- Surveillez les logs avec un outil comme Fail2ban.
- Utilisez un pare-feu pour restreindre les ports ouverts.
- Chiffrez les communications avec des algorithmes forts (AES-256).
Erreurs courantes à éviter lors de la configuration
- Utiliser des protocoles obsolètes comme PPTP.
- Négliger les permissions des fichiers : les clés privées doivent être en lecture seule pour root.
- Oublier d’ouvrir le port UDP 1194 dans le pare-feu du routeur.
- Ne pas configurer le routage : les clients ne pourront pas accéder au réseau local.
- Ignorer les mises à jour de sécurité.
- Distribuer les certificats en clair par email non chiffré.
Comparatif : VPN auto-hébergé vs solution SaaS
Pour les entreprises qui manquent de compétences techniques, des solutions clé en main existent :
| Critère | Auto-hébergé (OpenVPN/WireGuard) | SaaS (NordLayer, Perimeter81, Tailscale) |
|---|---|---|
| Coût | Faible (serveur + temps admin) | Abonnement mensuel par utilisateur |
| Contrôle | Total | Limité au fournisseur |
| Complexité | Élevée | Faible |
| Maintenance | Interne | Incluse |
| Scalabilité | Manuelle | Automatique |
Pour une PME avec une équipe IT, l’auto-hébergement est économique et souverain. Pour une start-up en croissance rapide, un SaaS peut faire gagner du temps.
Checklist pour une configuration réussie
- [ ] Avoir un serveur dédié ou cloud.
- [ ] Choisir OpenVPN ou WireGuard.
- [ ] Installer et configurer la CA.
- [ ] Générer les certificats serveur et clients.
- [ ] Configurer le serveur VPN.
- [ ] Activer le routage et le pare-feu.
- [ ] Tester la connexion depuis un client.
- [ ] Distribuer les fichiers .ovpn ou .conf de manière sécurisée.
- [ ] Mettre en place la surveillance et les mises à jour.
Questions fréquentes sur la configuration d’un VPN d’entreprise
Quelle est la différence entre un VPN d’accès distant et un VPN site à site ?
Un VPN d’accès distant permet à un employé isolé de se connecter au réseau de l’entreprise. Un VPN site à site relie deux réseaux locaux distants (par exemple, entre deux bureaux).
Faut-il une adresse IP fixe pour le serveur VPN ?
Oui, c’est fortement recommandé. Sinon, utilisez un service DNS dynamique comme No-IP ou DuckDNS.
Combien d’utilisateurs peut supporter un serveur OpenVPN ?
Avec une configuration standard et un serveur correct (2-4 Go RAM), vous pouvez supporter plusieurs dizaines à centaines d’utilisateurs simultanés. WireGuard est encore plus performant.
Puis-je utiliser le même serveur VPN pour plusieurs sites ?
Oui, en configurant plusieurs interfaces ou en utilisant des routes spécifiques. Pour des besoins complexes, préférez un VPN site à site.
Comment gérer les certificats clients à grande échelle ?
Utilisez un outil comme Easy-RSA ou un PKI (Public Key Infrastructure). Vous pouvez aussi automatiser avec des scripts.
Est-il possible d’intégrer le VPN avec l’Active Directory ?
Oui, OpenVPN peut s’authentifier via LDAP ou RADIUS, ce qui permet d’utiliser les comptes Windows.
Prochaines étapes après la configuration
Une fois votre serveur VPN opérationnel, formez vos employés à l’utilisation du client VPN. Prévoyez une procédure de support en cas de problème de connexion. Envisagez également de déployer un outil de monitoring comme Nagios ou Zabbix pour suivre la santé du serveur. Enfin, auditez régulièrement les accès et les logs pour détecter toute anomalie.
Configurer un serveur VPN pour son entreprise demande un investissement initial, mais les bénéfices en termes de sécurité et de flexibilité sont considérables. Avec ce guide, vous disposez de toutes les clés pour réussir votre déploiement.
Photo by Christina Morillo on Pexels

Est-ce que ce guide fonctionne aussi pour une configuration sur un serveur cloud comme AWS ou Azure ?
Oui, tout à fait. Les étapes sont les mêmes sur une instance cloud (EC2, VM Azure) avec Ubuntu. Assurez-vous simplement d’ouvrir le port UDP 1194 (ou celui que vous utilisez) dans le groupe de sécurité de l’instance. Pensez aussi à utiliser une IP publique élastique (AWS) ou une adresse IP statique (Azure) pour éviter les changements d’IP.
Merci pour ce guide très complet. J’ai une petite question : est-ce que la configuration avec WireGuard est similaire à celle d’OpenVPN ou y a-t-il des différences majeures ?
Bonjour, merci pour votre retour. WireGuard est plus simple et plus rapide à configurer qu’OpenVPN. Il utilise des clés publiques/privées au lieu de certificats, ce qui simplifie la gestion. Vous trouverez souvent des scripts d’installation automatisés. Cependant, OpenVPN offre plus d’options de personnalisation et une compatibilité plus large avec les anciens systèmes.
J’utilise Windows Server. Y a-t-il un guide équivalent pour configurer un VPN avec Windows Server ?
Oui, Windows Server propose le rôle ‘Accès à distance’ qui permet de configurer un VPN avec SSTP, L2TP/IPsec ou IKEv2. L’interface est graphique et plus simple pour les débutants. Cependant, les protocoles comme OpenVPN ne sont pas natifs ; vous devrez installer un logiciel tiers. Nous pourrions rédiger un guide dédié à l’avenir.
Très utile, surtout pour les PME. Une question pratique : pour un petit nombre d’utilisateurs (moins de 10), est-ce qu’un Raspberry Pi peut faire office de serveur VPN ?
Oui, un Raspberry Pi (modèle 4 ou supérieur) peut très bien servir de serveur VPN pour moins de 10 utilisateurs, notamment avec WireGuard qui est léger. Attention toutefois à la bande passante : si vous avez besoin de débits élevés, préférez une machine plus puissante. Assurez-vous aussi d’une bonne alimentation et d’une connexion réseau stable.
Excellent article ! Je recommande également d’utiliser un DNS dynamique si vous n’avez pas d’IP fixe, cela fonctionne très bien avec OpenVPN.
Tout à fait, c’est une excellente suggestion. Un service DNS dynamique (comme DuckDNS ou No-IP) permet de contourner l’absence d’IP fixe. Il faut simplement configurer le client pour utiliser le nom de domaine au lieu de l’IP. Pensez à mettre à jour le DNS régulièrement via un script cron.
J’ai suivi les étapes pour OpenVPN mais je bloque à l’étape de génération des certificats. J’obtiens une erreur ‘pki directory already exists’. Que faire ?
Cette erreur survient si vous avez déjà initialisé le PKI. Vous pouvez soit utiliser le répertoire existant (poursuivre avec ‘easyrsa gen-req’), soit le supprimer avec ‘rm -rf ~/openvpn-ca/pki’ et recommencer. Si vous recommencez, sauvegardez d’abord les certificats déjà générés si nécessaire.
Article très clair, merci. J’aimerais savoir si vous avez des recommandations pour sécuriser davantage le serveur VPN contre les attaques par force brute.
Merci. Pour renforcer la sécurité, vous pouvez : 1) Utiliser des clés SSH au lieu de mots de passe pour l’authentification, 2) Changer le port par défaut (1194 pour OpenVPN), 3) Mettre en place un pare-feu avec des règles strictes, 4) Activer la journalisation et surveiller les logs, 5) Utiliser Fail2ban pour bloquer les IP après plusieurs tentatives échouées.
Quelle est la meilleure pratique pour gérer les certificats clients quand un employé quitte l’entreprise ?
Bonjour, bonne question. Il est recommandé de révoquer le certificat du client en utilisant ‘easyrsa revoke client1’ puis de générer une nouvelle liste de révocation (CRL). Ensuite, rechargez la configuration du serveur OpenVPN pour prendre en compte la CRL. Cela empêche l’ancien employé de se connecter.