Un serveur OpenVPN avec Docker https://memo-linux.com/un-serveur-openvpn-en-moins-de-5-minutes-avec-docker/ L’outil de virtualisation Docker est vraiment magique pour mettre en place très rapidement des services comme un petit serveur vpn avec OpenVPN. Pour faciliter la mise en œuvre d’un petit serveur VPN, Kyle Manna met à disposition une image Docker basée sur OpenVPN avec EasyRSA PKI CA. Caractéristique de l’image Docker docker-openvpn : Clé Diffie-Hellman sur 2048 bit Génération d’une clé privée Un certificat auto signé correspondant à la clé privée pour le serveur OpenVPN Certificat et clé RSA 2048 bit Une clé d’authentification TLS de sécurité HMAC Topology réseau net30 Réseau 192.168.255.0/24 Serveur DNS par défaut 8.8.8.8 et 8.8.4.4 Interface réseau TUN   Téléchargement de l’image Docker : docker pull kylemanna/openvpn Préparation du serveur OpenVPN : Démarrage de l’environnement busybox pour préparer les fichiers de configration d’OpenVPn: docker run --name ovpn-data -v /etc/openvpn busybox Génération des des fichiers de configuration : docker run --volumes-from ovpn-data --rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM Génération des clés RSA et DH avec pass phrase : docker run --volumes-from ovpn-data --rm -it kylemanna/openvpn ovpn_initpki Démarrage du serveur OpenVPN : docker run --volumes-from ovpn-data -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn Création d’un fichier client pour OpenVPN sans mot de passe : docker run --volumes-from ovpn-data --rm -it kylemanna/openvpn easyrsa build-client-full client-bureau nopass docker run --volumes-from ovpn-data --rm kylemanna/openvpn ovpn_getclient client-bureau > client-bureau.ovpn Test d’accès au serveur OpenVPN à partir d’un poste client GNU/linux : openvpn --config client-bureau.ovpn Personnaliser les serveurs DNS Identifier le numéro d’ID du conteneur : docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS fd45d4ace481 68fbf9e45ab5 "ovpn-data" 2 weeks ago Up 13 days 0.0.0.0:1194->1194/udp Se connecter au conteneur : docker exec -i -t fd45d4ace481 /bin/bash Editer le fichier  openvpn.conf : vi openvpn.conf Modifier les serveurs DNS, exemple avec ceux d’OpenNIC : push dhcp-option DNS 37.187.0.40 Enregistrer les modifications avec la combinaison de touches :wq! Se déconnecter du conteneur : exit Redémarrer le conteneur : docker stop fd45d4ace481 docker start fd45d4ace481