背景
临近年关长假,因为我们办公网络与内网为同段网段,入职前公司也没有搭建过类似服务现在需要运维人员居家值班,老大想用深信服的EasyConnect产品可了解后需要购买硬件,时间不够,暂时就选择OpenVPN
安装部署Docker
参考我另外一篇文章,脚本一键安装Docker
Shell脚本一键部署Docker(包含内网环境)_shell执行 docker-CSDN博客
拉取OpenVPN镜像
docker pull chenji1506/openvpn:2.4.8
创建挂载目录
mkdir -pv /data/openvpn/conf
查看本机公网IP地址
方式有很多,可以直接在路由器管理页面查看也可以用下面的命令
curl icanhazip.com
10.45.21.167
生成配置文件
注意更改为你的公网IP地址
docker run -v /data/openvpn:/etc/openvpn --rm chenji1506/openvpn:2.4.8 ovpn_genconfig -u udp://1.1.1.1
生产密钥文件
密钥密码一定要记住
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 ovpn_initpki
根据回显输入按照下面顺序
1. 输入私钥密码
2. 重新输入一次密码
3. 输入一个CA名称
4. 输入刚才设置的私钥密码
生成客户端证书文件
docker run -v /data/openvpn:/etc/openvpn --rm -it chenji1506/openvpn:2.4.8 easyrsa build-client-full 用户名 nopass
Enter pass phrase for /etc/openvpn/pki/private/ca.key: passwd # 输入密钥密码
导出客户端配置
docker run -v /data/openvpn:/etc/openvpn --rm chenji1506/openvpn:2.4.8 ovpn_getclient chenji > /data/openvpn/conf/用户名.ovpn
启动OpenVPN容器
docker run --name openvpn -v /data/openvpn:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN chenji1506/openvpn:2.4.8
OpenVPN用户管理
#!/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
#!/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
添加用户
./add_user.sh # 输入要添加的用户名,回车后输入刚才创建的私钥密码
创建的用户证书在/data/openvpn/conf/目录下
配置端口映射
根据自己路由器方法进行配置
安装OpenVPN客户端
官网地址:Community Downloads - Open Source VPN | OpenVPN
根据指引安装
导入ovpn文件
用winscp或者其他方式将你创建的客户端证书下载出来
在将ovpn文件拖入下图
配置成功后,在其他网络中也可成功连接到服务器以及数据库
感谢以下文章作者提供的镜像与用户管理脚本