OpenVPN 服务端安装脚本

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

针对 LAN 192.168.30.0/24、网关 192.168.30.1,预期源 IP 为 192.168.30.110,但 IP 不符仅警告并继续;覆盖服务端配置及认证辅助程序,不是通用 VPN 安装器。

一键命令

curl -fL 'https://www.helper.sh/install_openvpn_server_centos.sh' -o './install_openvpn_server_centos.sh'

此命令只下载本站文件,不会执行。请先检查保存的源码并核对版本,再决定是否运行。

核对已下载文件

与本页面构建时内置的确切字节比较。文件只在当前标签页处理,此工具不上传、不持久化文件。上限 2 MiB。

预期 SHA-256
c5f37a87d68ccbcf392d02635c53ef6caab68f3777bf96feae652e517743fa6b

内置文件字节数: 11039

保存校验文件

将脚本和校验文件保存在同一目录。Linux 安装 GNU Coreutils 后可用下方命令只检查字节,不运行脚本;使用此命令时需保留原文件名。

sha256sum --check './install_openvpn_server_centos.sh.sha256'

尚未比较。

校验值与脚本来自同一网站,不是独立签名。一致不证明安全、上游依赖真实可信或适合本机;可变远程依赖需单独审阅。

查看验证与限制

运行要求

  • 需要 CentOS 7、root、yum/EPEL、systemd、TUN 支持及已审阅的局域网拓扑。
  • 位置参数:VPN 网段(默认 10.6.6.0,固定 /24)、可选 DNS IP、可选域名;没有 dry-run。

适用场景

  • 迁移前理解或维护匹配的已有局域网部署。

脚本亮点

  • 写入 /etc/openvpn/server/server.conf 和 /etc/openvpn/server.conf、check_user.sh、userpass.txt、CCD 及 /usr/local/bin/ovpn-user、ovpn-check;只有四个预期 PKI 文件齐全才复用。
  • 启用 firewalld、UDP 1194、masquerade、转发和 SNAT;在 /etc/sysctl.conf 启用 IPv4 转发并重启 openvpn@server;本地管理监听 127.0.0.1:7505。

推荐流程

  1. 变更前只读检查:ip -4 route get 192.168.30.1;systemctl cat openvpn@server;sysctl net.ipv4.ip_forward;firewall-cmd --list-all。
  2. 另行授权变更后,检查 systemctl status openvpn@server --no-pager、ss -lunp、journalctl -u openvpn@server -n 100 --no-pager;保护日志和凭据。
  3. ovpn-check 输出服务、监听、路由和客户端信息,不能证明所有客户端可访问局域网;重试前检查失败项,客户端配置及授权端到端测试需单独完成。

安全提示

  • CentOS 7 已结束支持;本轮未执行 VPN 或防火墙变更。
  • verify-client-cert none 使用密码客户端认证;userpass.txt 存储秘密,生成的服务端/CA 密钥使用 nopass;需审阅信任模型和文件访问权限。
  • 不自动备份或回滚覆盖配置;任何执行前需独立保全已有 PKI、配置、用户及防火墙策略。