本文将向您展示如何使用Docker快速部署OpenVPN服务器。请按照以下步骤操作:

拉取openvpn镜像

1
docker pull chenji1506/openvpn:2.4.8

复制

创建目录

1
mkdir -pv /data/openvpn/conf

复制

生成配置文件

1.1.1.1是本机的公网IP

1
docker run -v /data/openvpn:/etc/openvpn --rm chenji1506/openvpn:2.4.8 ovpn_genconfig -u udp://1.1.1.1

复制

生成密钥文件

要求输入私钥密码

1
2
3
4
5
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改成其他名字

1
2
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 # 输入刚才设置的密码

复制

导出客户端配置

1
docker run -v /data/openvpn:/etc/openvpn --rm chenji1506/openvpn:2.4.8 ovpn_getclient chenji > /data/openvpn/conf/chenji.ovpn

复制

启动openvpn

1
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

1
2
3
4
5
#!/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

1
2
3
4
5
6
7
8
#!/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

复制

添加用户

1
./add_user.sh	# 输入要添加的用户名,回车后输入刚才创建的私钥密码

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