返回首页

ocservice 用于 ocserv:通过 CLI 进行 VPN 管理

ocservice 通过带有 easy-rsa 集成的 bash 脚本自动化 ocserv VPN 管理。支持 cert/plain 授权、.p12 生成、证书吊销、用户中心。无需 Docker 安装,最小依赖。

ocservice:ocserv VPN 的 CLI 管理器
Advertisement 728x90

ocservice:自动化 ocserv 和 easy-rsa 的命令行工具

ocservice 是一套用于操作管理 ocserv VPN 服务器的 bash 脚本。该工具与 easy-rsa 集成,用于 PKI 操作,自动化客户端证书生成、吊销和 CRL 更新。它支持证书、密码和混合授权模式,无需 Docker 或数据库等额外服务。

脚本从命令行运行,每次调用主菜单时显示服务器状态(运行时间、会话、流量、错误)。这简化了监控,无需单独的 occtl 命令。

主要功能

主脚本 ocservice 提供带有当前状态的菜单:活跃会话、接收/发送流量、被禁 IP、授权错误。

Google AdInline article slot

生成客户端证书

gen-client 创建带有证书的用户:

  • 提示输入名称、有效期、连接限制。
  • 通过 easy-rsa 生成证书。
  • 导出为带密码的 .p12 文件。
  • 记录数据以供客户端交付。

密码用户

gen-login 使用 ocpasswd 在密码模式下创建账户。仅在启用密码授权时可用。

用户管理中心

user-center 显示一个表格:

Google AdInline article slot

| 用户 | 在线 | 证书到期 | 封禁点数 | 限制 |

|------|--------|-------------|------------|-------|

对于每个用户:

Google AdInline article slot
  • 连接详情。
  • 编辑用户配置。
  • 踢出会话。
  • 重置封禁点数。
  • 删除并吊销证书和更新 CRL。

安装与设置

克隆仓库并运行安装程序:

git clone https://github.com/Ilyntiy/ocservice.git
cd ocservice
chmod +x install.sh
sudo ./install.sh

安装程序:

  • 从 ocserv.conf 解析路径(ocpasswd、config-per-user)。
  • 识别伪装 URL(如果启用)。
  • 提示输入安装前缀、授权模式、服务器地址。
  • 创建 ocservice.conf。
  • 复制脚本到 ~/bin/。
  • 配置 /etc/sudoers.d/ocservice,授予 occtl、ocpasswd、journalctl、systemctl 权限。

技术实现

配置

单个 ocservice.conf 在每次运行时被引用。支持任意 ocserv 路径(/opt、主目录)。

权限

最小 sudo 规则,仅针对必要命令,无需完全 root 访问权限。

伪装

自动从 ocserv.conf 读取 camouflage_secret,生成带令牌的 URL。

PKI 操作

  • 证书吊销:easyrsa revoke。
  • CRL 更新:easyrsa gen-crl。
  • ocserv 直接从 pki/ 读取 crl.pem。

系统要求

  • 从源码安装的 ocserv。
  • easy-rsa 3.x。
  • openssl。
  • ocserv.conf 中设置 use-occtl = true。

开发计划

  • 从数据库自动生成名称。
  • 配置、证书、用户备份。
  • 无需重新创建的证书续期。
  • 到期通知。
  • 用于管理的 Telegram 机器人。

关键要点

  • 与 easy-rsa 完全集成:生成 .p12、吊销、CRL,无需手动命令。
  • 三种授权模式,无需额外基础设施。
  • 菜单中的服务器状态,带操作的用户管理中心(踢出、编辑配置)。
  • 4 条命令安装,自动 sudo 设置。
  • 仅使用标准工具,无 Docker/数据库。

— Editorial Team

Advertisement 728x90

继续阅读