diff --git a/bin/openvpn.sh b/bin/openvpn.sh index 24f81da..9e7d9e0 100755 --- a/bin/openvpn.sh +++ b/bin/openvpn.sh @@ -64,7 +64,8 @@ key $EASYRSA_PKI/private/$cn.key ca $EASYRSA_PKI/ca.crt cert $EASYRSA_PKI/issued/$cn.crt dh $EASYRSA_PKI/dh.pem -#tls-auth $EASYRSA_PKI/ta.key 0 +#tls-auth $EASYRSA_PKI/ta.key +#key-direction 0 keepalive 10 60 persist-key persist-tun @@ -78,6 +79,46 @@ status /tmp/openvpn-status-1194.log EOF } +do_getclientconfig() { + cn=$1 + + [ -z "$cn" ] && abort "Common name not specified" + + if [ ! -f "$EASYRSA_PKI/private/$cn.key" ]; then + easyrsa build-server-full $cn nopass + fi + + servername=$(cat $OPENVPN/servername) + + cat < +$(cat $EASYRSA_PKI/private/$cn.key) + + +$(cat $EASYRSA_PKI/issued/$cn.crt) + + +$(cat $EASYRSA_PKI/ca.crt) + + +$(cat $EASYRSA_PKI/dh.pem) + +# +#$(echo cat $EASYRSA_PKI/ta.key) +# +#key-direction 1 + + +remote $servername 1194 udp + +EOF +} + # Read arguments from command line cmd=$1 shift @@ -103,6 +144,9 @@ case "$cmd" in bash) $cmd "$@" ;; + getclientconfig) + do_getclientconfig "$@" + ;; openvpn) do_openvpn "$@" ;;