docker部署openvpn

2022-10-27 15:13:31 浏览数 (1)

拉取openvpn镜像

代码语言:javascript复制
docker pull chenji1506/openvpn:2.4.8

创建目录

代码语言:javascript复制
mkdir -pv /data/openvpn/conf

生成配置文件

1.1.1.1是本机的公网IP,按需改成自己的IP

代码语言:javascript复制
docker run -v /data/openvpn:/etc/openvpn --rm chenji1506/openvpn:2.4.8 ovpn_genconfig -u udp://1.1.1.1

生成密钥文件

要求输入私钥密码

代码语言:javascript复制
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 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]: 		# 输入一个CA名称。可以不用输入,直接回车
	Enter pass phrase for /etc/openvpn/pki/private/ca.key: 123456		# 输入刚才设置的私钥密码,完成后在输入一次

生成客户端证书

chenji改成其他名字

代码语言:javascript复制
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 easyrsa build-client-full chenji nopass
	Enter pass phrase for /etc/openvpn/pki/private/ca.key: 123456		# 输入刚才设置的密码

导出客户端配置

代码语言:javascript复制
docker run -v /data/openvpn:/etc/openvpn --rm chenji1506/openvpn:2.4.8 ovpn_getclient chenji > /data/openvpn/conf/chenji.ovpn

启动openvpn

代码语言:javascript复制
docker run --name openvpn -v /data/openvpn:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN chenji1506/openvpn:2.4.8

openvpn用户管理

添加用户脚本

vim add_user.sh

代码语言:javascript复制
#!/bin/bash
read -p "please your username: " NAME
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 easyrsa build-client-full $NAME nopass
docker run -v /data/openvpn:/etc/openvpn --rm chenji1506/openvpn:2.4.8 ovpn_getclient $NAME > /data/openvpn/conf/"$NAME".ovpn
docker restart openvpn

删除用户脚本

vim del_user.sh

代码语言:javascript复制
#!/bin/bash
read -p "Delete username: " DNAME
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 easyrsa revoke $DNAME
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 easyrsa gen-crl
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 rm -f /etc/openvpn/pki/reqs/"DNAME".req
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 rm -f /etc/openvpn/pki/private/"DNAME".key
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 rm -f /etc/openvpn/pki/issued/"DNAME".crt
docker restart openvpn

添加用户

代码语言:javascript复制
./add_user.sh	# 输入要添加的用户名,回车后输入刚才创建的私钥密码

创建的证书在/data/openvpn/conf/目录下

0 人点赞