Un serveur VPN en 5 minutes grâce à Docker
Si vous n’avez encore jamais joué avec OpenVPN et que vous manquez de moustache, il se peut que vous vous y cassiez les dents.
La bête est difficile à maîtriser.
Alors, ce que je vous propose dans cet article, c’est d’utiliser l’outil clé en main fourni en container Docker par Kyle Manna.
En pré-requis, vous devez avoir un Docker installé sur votre machine.
Installation et auto-configuration :
On va juste définir le nom du volume Docker à créer et le nom public du serveur VPN.
Les commandes suivantes vont générer la configuration, générer la PKI et faire tourner le container en démon :
OVPN_DATA="openvpn-data" SERVER_NAME="vpn.maboite.fr" docker volume create --name $OVPN_DATA docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://$SERVER_NAME docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn
Certificats des clients :
Ensuite, pour chaque client, on va créer un certificat client et l’exporter. C’est ce fichier qu’il faudra fournir au client :
CLIENT_NAME="unclientcontent.maboite.fr" docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full $CLIENT_NAME nopass docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient $CLIENT_NAME > $CLIENT_NAME.ovpn
Reste plus qu’à récupérer le fichier .ovpn et le transmettre au client.
Côté client :
Chez monsieur le client, vous devez installer openvpn, soit par votre gestionnaire de packages Linux, soit en le téléchargeant sur le site officiel si vous travaillez avec un système espion Windows.
Vous lui collez le fichier ovpn et le tour est joué.