29 lines
1.1 KiB
Bash
29 lines
1.1 KiB
Bash
#!/bin/sh
|
|
# 防止重复启动
|
|
[ -f /var/lock/openvpncert.lock ] && exit 1
|
|
touch /var/lock/openvpncert.lock
|
|
rm -rf /tmp/easyrsa3
|
|
(
|
|
easyrsa init-pki || return 1
|
|
echo -en "\n\n\n\n\n\n\n" | easyrsa build-ca nopass || return 1
|
|
echo -en "\n\n\n\n\n\n\n" | easyrsa gen-req server nopass || return 1
|
|
echo -en "yes" | easyrsa sign server server || return 1
|
|
easyrsa gen-dh || return 1
|
|
echo -en "\n\n\n\n\n\n\n" | easyrsa gen-req client nopass || return 1
|
|
echo -en "yes" | easyrsa sign client client || return 1
|
|
cp /tmp/easyrsa3/pki/ca.crt /etc/openvpn/ || return 1
|
|
cp /tmp/easyrsa3/pki/issued/server.crt /etc/openvpn/ || return 1
|
|
cp /tmp/easyrsa3/pki/private/server.key /etc/openvpn/ || return 1
|
|
cp /tmp/easyrsa3/pki/dh.pem /etc/openvpn/ || return 1
|
|
cp /tmp/easyrsa3/pki/issued/client.crt /etc/openvpn/ || return 1
|
|
cp /tmp/easyrsa3/pki/private/client.key /etc/openvpn/ || return 1
|
|
[ -n "$(uci -q get openvpn.myvpn.tls_auth)" ] && (openvpn --genkey --secret /etc/openvpn/ta.key || return 1) || return 0
|
|
)
|
|
if [ $? -eq 0 ]; then
|
|
echo "OpenVPN Cert renew successfully"
|
|
else
|
|
echo "OpenVPN Cert renew failed"
|
|
fi
|
|
rm -rf /tmp/easyrsa3
|
|
rm -f /var/lock/openvpncert.lock
|