Maak een volumecontainer. In deze tutorial wordt de $OVPN_DATA
omgevingsvariabele gebruikt. Stel dit in op wat je maar wilt. De standaardwaarde ovpn-data
wordt aanbevolen voor enkele OpenVPN Docker-containerservers. Het instellen van de variabele in de shell maakt gebruik van stringvervanging om te voorkomen dat de gebruiker deze handmatig vervangt in een stap in de tutorial:
OVPN_DATA="ovpn-data-noorderpoort"
Maak de volume met:
docker volume create --name $OVPN_DATA
Initialiseer de $OVPN_DATA
container die de configuratiebestanden en certificaten zal bevatten en vervang deze vpn.example.com
door je FQDN. De vpn.example.com
waarde moet de volledig gekwalificeerde domeinnaam zijn die je gebruikt om met de server te communiceren. Dit veronderstelt dat de DNS-instellingen al zijn geconfigureerd. Als alternatief is het mogelijk om alleen het IP-adres van de server te gebruiken, maar dit wordt niet aanbevolen.
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.EXAMPLE.COM
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://192.168.182.128
Genereer de EasyRSA PKI-certificeringsinstantie. Je wordt gevraagd om een wachtwoordzin voor de CA-privésleutel. Kies een goede en onthoud het; zonder de wachtwoordzin is het onmogelijk om clientcertificaten uit te geven en te ondertekenen:
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
Let op, de beveiliging van de $OVPN_DATA
container is belangrijk. Het bevat alle privésleutels om de server na te bootsen en alle clientcertificaten. Houd hier rekening mee en controleer de toegang waar nodig. De standaard OpenVPN-scripts gebruiken een wachtwoordzin voor de CA-sleutel om de beveiliging te verhogen en het uitgeven van valse certificaten te voorkomen.