OpenVPN 服务端安装脚本

CentOS 7 OpenVPN 服务端一键安装脚本

适用于 OpenVPN 所在服务器内网地址为 192.168.30.110、网关为 192.168.30.1 的 CentOS 7 场景。脚本会向客户端下发 192.168.30.0/24 路由,并在服务端内网口做 SNAT,让客户端无需改动每台内网设备的静态路由,也能访问整段 192.168.30.0/24 网络。

一键命令

curl -fsSL helper.sh/install_openvpn_server_centos.sh | sudo bash
curl -fsSL helper.sh/install_openvpn_server_centos.sh | sudo bash -s -- 10.6.6.0 10.7.7.53 reshub.cn

运行要求

  • CentOS 7
  • 需要 root 权限或 sudo
  • 服务器可通过 192.168.30.1 访问所在内网
  • yum 与 EPEL 可正常联网安装软件

适用场景

  • 给 CentOS 7 提供一键式 OpenVPN 服务端安装方案
  • 让 VPN 客户端能访问 192.168.30.0/24,而不用逐台修改内网设备路由
  • 把用户认证、固定 IP 和安装后自检固化成统一流程

脚本亮点

  • 统一使用单一 server.conf,避免 systemd 与手动启动配置不一致
  • 自动向客户端下发 192.168.30.0/24 路由
  • 自动写入 firewalld direct 规则和 SNAT,让内网设备通过 192.168.30.110 回包
  • 安装 ovpn-user 与 ovpn-check,便于后续用户管理和巡检
  • DNS 下发可选,默认不改客户端 DNS

推荐流程

  1. 在 CentOS 7 的 OpenVPN 服务器上以 root 执行一键命令。
  2. 等待脚本安装 OpenVPN、easy-rsa、firewalld、证书材料和认证脚本。
  3. 脚本会向客户端下发 192.168.30.0/24 路由,并对通往 192.168.30.1 的内网口启用 SNAT。
  4. 用 ovpn-user add USER PASS [VPN_IP] 创建用户,再分发对应客户端配置。
  5. 后续可随时执行 ovpn-check,检查服务、监听、路由和在线客户端。

安全提示

  • 这个脚本按 OpenVPN 后面是 192.168.30.0/24 内网来写。
  • 这里使用了 SNAT,因此内网设备不需要再额外加回程静态路由。
  • 如果服务器内网 IP 不是 192.168.30.110,上生产前先检查脚本里的常量。
  • 客户端配置文件需要单独准备,这个安装脚本只负责服务端。