Created
November 21, 2017 21:41
-
-
Save mdp/c08bd30a206c4f4ef4a088b4e6561945 to your computer and use it in GitHub Desktop.
OpenVPN setup on docker
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
arg=$1 | |
host=$2 | |
OVPN_DATA="ovpn-data" | |
set -x | |
if [ "$arg" == "setup" ]; then | |
if [[ -n "$host" ]]; then | |
echo "You need to specify a hostname for this VPN service" | |
echo "Example: openvpn.sh setup myhostname" | |
fi | |
read -p "Are you sure you want to run setup? " -n 1 -r | |
if [ "$REPLY" == "y" ]; then | |
docker volume rm $OVPN_DATA 2> /dev/null | |
docker volume create --name $OVPN_DATA | |
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://$host | |
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki | |
docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full CLIENTNAME nopass | |
docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient CLIENTNAME > $host.ovpn | |
fi | |
else | |
docker run -v $OVPN_DATA:/etc/openvpn -d --rm -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn | |
docker run -v $OVPN_DATA:/etc/openvpn -d --rm -p 110:1194/tcp --cap-add=NET_ADMIN kylemanna/openvpn ovpn_run --proto tcp | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment