Appearance
OpenVPN 容器化部署快速开始文档
一、你来这里要完成什么
如果你的目标是“用离线安装包把 OpenVPN 管理平台跑起来,并让用户能拿到配置文件连接”,按本文档一步步做即可。
你完成后将得到:
- OpenVPN 服务已启动(容器运行中)
- Web 管理后台可访问(HTTP/HTTPS)
- VPN 端口可连接(1194 TCP/UDP)
- 宿主机已配置到容器的 VPN 网段路由
二、这个文档适用谁
本文档适用于基于离线安装包(install.zip)的 OpenVPN 容器化部署,包含从环境准备到部署完成的全流程快速操作步骤,部署后将自动完成 Docker 环境配置、防火墙规则设置、路由转发及开机自启等功能。
适用系统:CentOS 系列(推荐 systemd,用于管理 Docker 服务)
部署模式:镜像导入模式(IMPORT)
默认端口:HTTP=80、HTTPS=443、VPN=1194、API=5001
三、开始前你需要准备
- 服务器已获取 root 权限(部署全程需 root 操作)
- 离线安装包 install.zip 已上传至服务器 /root 目录
- 服务器网络正常,无端口占用冲突(80、443、1194、5001 端口需空闲)
四、安装步骤(照做即可)
1) 进入安装包目录
使用终端工具登录服务器(root 账号),默认安装包已上传至 /root 目录,直接执行以下命令进入目录:
bash
cd /root2) 解压离线安装包
执行 unzip 命令解压 install.zip,生成 install 目录:
bash
unzip install.zip解压成功后,执行 ls 命令可查看 /root 目录下新增 install 文件夹。
3) 进入 install 并赋予执行权限
先进入 install 目录,再为所有文件赋予可执行权限(确保安装脚本和 Docker 相关工具可正常运行):
bash
cd install
chmod +x -R *(可选)安全:配置 OpenVPN 账号防爆破锁定策略
默认情况下系统会启用“按用户名维度”的防爆破锁定(避免同出口 IP 误伤):
- 统计窗口:10 分钟(600 秒)
- 失败阈值:10 次
- 锁定时长:30 分钟(1800 秒)
如需调整策略,建议在运行安装脚本前,在 install 目录创建 .env 文件(docker compose 会自动读取):
bash
cd /root/install
cat > .env <<'EOF'
# 统计窗口(秒)
VPN_LOCKOUT_WINDOW_SECONDS=600
# 用户维度:失败阈值与锁定时长(秒)
VPN_USER_LOCKOUT_THRESHOLD=10
VPN_USER_LOCKOUT_SECONDS=1800
# IP 维度锁定(默认关闭:阈值=0)
VPN_IP_LOCKOUT_THRESHOLD=0
VPN_IP_LOCKOUT_SECONDS=1800
EOF说明:
- 上述变量会通过安装包内的
install/docker-compose.yml的environment:注入容器。 - 若你不希望使用
.env,也可以直接编辑安装包内的install/docker-compose.yml的environment:变量值。
4) 运行安装脚本(自动完成部署)
执行以下命令启动安装脚本,脚本将自动完成 Docker 离线安装、OpenVPN 镜像导入、防火墙配置、容器启动等全流程操作:
bash
bash openvpn_install.sh5) 等待完成并确认“部署成功”
脚本执行过程中会输出实时日志,无需手动干预,等待约 1-3 分钟(镜像导入环节耗时较长,具体取决于服务器性能)。
当日志中出现以下内容时,说明部署成功:
【部署成功】 OpenVPN 服务部署和配置已成功完成!
五、如何确认你已经部署成功(可选)
为确保服务正常可用,可执行以下命令进行快速验证:
1. 检查 Docker 服务状态
bash
systemctl status docker正常输出应显示 “active (running)”。
如果系统没有 systemctl,也可以用以下命令粗略确认 Docker 是否可用:
bash
docker info2. 检查 OpenVPN 容器状态
bash
docker ps | grep openvpn-server正常输出应显示容器处于 “Up” 运行状态。
3. 检查关键端口监听状态
bash
ss -tuln | grep -E '80|443|1194|5001'正常输出应显示 4 个端口均处于 “LISTEN” 监听状态。
4. 检查路由规则
bash
ip route | grep 10.8.0.0正常输出应显示 “10.8.0.0/16 via 172.17.0.2 dev docker0”(172.17.0.2 为 OpenVPN 容器内部 IP)。
六、你改了配置如何让它生效(可选)
如果你在部署后修改了 .env 或调整了安装包内 install/docker-compose.yml 的环境变量,需要重建容器使其生效:
bash
cd /root/install
docker-compose -f docker-compose.yml up -d --force-recreate七、你最可能会用到的关键信息
- VPN 服务地址:服务器内网 IP(示例:192.168.100.108)
- VPN 虚拟网段:10.8.0.0/16
- 客户端连接端口:1194(默认 VPN 端口)
- 安装日志路径:/root/install/openvpn_install.log(问题排查可查看)
- 开机自启:Docker 服务、OpenVPN 容器、路由恢复任务均已配置开机运行
八、我要卸载(可选)
若需卸载 OpenVPN 服务,进入 install 目录执行卸载脚本即可:
bash
cd /root/install
bash openvpn_uninstall.sh