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 cle 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
Un serveur OpenVPN en moins de 5 minutes avec Docker
docker pull kylemanna/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
docker run --volumes-from ovpn-data --rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM
docker run --volumes-from ovpn-data --rm -it kylemanna/openvpn ovpn_initpki
docker run --volumes-from ovpn-data -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn
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
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
docker exec -i -t fd45d4ace481 /bin/bash
openvpn.conf
:vi openvpn.conf
push dhcp-option DNS 37.187.0.40
exit
docker stop fd45d4ace481 docker start fd45d4ace481