请注意,本文编写于 662 天前,最后修改于 640 天前,其中某些信息可能已经过时。
Openvpn搭建及使用方法
前置操作
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -p /etc/sysctl.conf
搭建步骤
拉取镜像
docker pull kylemanna/openvpn
创建全局变量
OVPN_DATA="/data/openvpn" mkdir $OVPN_DATA
配置公网ip
IP="xxx.xxx.xxx.xxx"
初始化将保存配置文件和证书的容器。容器将提示输入密码以保护新生成的证书颁发机构使用的私钥
tcp:
docker run -v ${OVPN_DATA}:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u tcp://${IP}
udp:
docker run -v ${OVPN_DATA}:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://${IP}
密钥配置
docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
例子
Enter PEM pass phrase: 输入123456(你是看不见的) Verifying - Enter PEM pass phrase: 输入123456(你是看不见的) Common Name (eg: your user, host, or server name) [Easy-RSA CA]:回车一下 Enter pass phrase for /etc/openvpn/pki/private/ca.key:输入123456
启动打开VPN服务器进程
tcp:
docker run --name openvpn -v ${OVPN_DATA}:/etc/openvpn -d -p 1194:1194 --cap-add=NET_ADMIN --name openvpn kylemanna/openvpn
udp:
docker run --name openvpn -v ${OVPN_DATA}:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN --name openvpn kylemanna/openvpn
生成不带密码的客户端证书
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 example > example.ovpn
客户端下载
删除
docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn easyrsa revoke $DNAME
docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn easyrsa gen-crl
docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn rm -f /etc/openvpn/pki/reqs/"$DNAME".req
docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn rm -f /etc/openvpn/pki/private/"$DNAME".key
docker run -v ${OVPN_DATA}:/etc/openvpn --rm -it kylemanna/openvpn rm -f /etc/openvpn/pki/issued/"$DNAME".crt