1.创建数据存储
/vol1/1000/Docker/openvpn
2.初始化 OpenVPN 配置和 PKI (公钥基础设施)
2.1生成服务器配置文件 (ovpn_genconfig)
docker run -v /vol1/1000/Docker/openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://[此处填写ddns域名或者公网IP]
Processing PUSH Config :表示正在处理 OpenVPN 服务端推送给客户端的配置(客户端连接后,服务端会 “推送” 这些参数给客户端生效 ):
block-outside-dns :阻止客户端使用本地其他 DNS ,避免 DNS 泄漏。
192.168.254.0/24 :给客户端分配该网段(192.168.254.0 ,子网掩码 255.255.255.0 )的 IP ,用于 OpenVPN 虚拟网络通信。
dhcp-option DNS 8.8.8.8 、dhcp-option DNS 8.8.4.4 :指定客户端使用 Google 的 DNS 服务器解析域名。
comp-lzo no :禁用 LZO 压缩(出于安全性、兼容性考虑,现代 OpenVPN 常用更优的压缩或不压缩 )。
Successfully generated config :说明 OpenVPN 服务端的基础配置文件(如 server.conf 等)已成功生成到挂载的 /vol/1000/Docker/openvpn 目录。
Cleaning up before Exit ... :容器执行完配置生成逻辑后,清理临时文件并退出,符合 --rm 参数的预期(运行完自动清理容器 )。
2.2初始化 PKI 并生成证书 (ovpn_initpki)
docker run -v /vol1/1000/Docker/openvpn:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
创建 Common Name:
3.启动openvpn server
♾️ text 代码:docker run -d \
-v /vol1/1000/Docker/openvpn:/etc/openvpn \
-p 1194:1194/udp \
--cap-add=NET_ADMIN \
--name openvpn-server \
--restart=always \
kylemanna/openvpn
4.生成客户端配置文件 (.ovpn)
4.1 生成新用户的证书和密钥(会提示设置密码)
♾️ text 代码:docker run -v /vol1/1000/Docker/openvpn:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full admin

操作说明:
- 将上述命令中的
admin
替换为你要新增的实际用户名 - 执行第一条命令时,会提示输入 PEM 密码(用于保护客户端证书),以及 CA 的密码(初始化时设置的)
4.2 导出该用户的ovpn配置文件
♾️ text 代码:docker run --rm -v /vol1/1000/Docker/openvpn:/etc/openvpn kylemanna/openvpn ovpn_getclient admin > /vol1/1000/docker/openvpn/admin.ovpn
打开配置文件,admin.ovpn