Appearance
CCD 管理(CCD Manager)
重点摘要
- 定位:按用户维护 CCD(Client Config Directory),用于路由推送/静态配置下发
- 适用角色:运维/管理员(需要精细化路由与推送配置时)
- 风险级别:中(错误 CCD 可能导致路由异常或客户端体验问题)
- 关联页面:通常跟随「用户管理」与「规则配置」一起使用
典型操作(建议顺序)
- 确认用户已创建且为启用状态
- 选择用户打开 CCD 编辑器,按模板填充再微调
- 保存 CCD 后进行连接验证
- 若出现连通性异常:结合「规则配置」「服务控制」排查
页面目的
- 维护每个用户的 CCD(Client Config Directory)内容,用于向客户端下发静态路由、推送配置等。
- 支持模板快速填充与按用户保存。
主要功能
- 用户列表(包含 CCD 信息概览):快速定位需要编辑 CCD 的用户。
- 打开 CCD 编辑器:查看/编辑该用户 CCD 内容。
- 模板填充:一键插入/覆盖常用 CCD 模板片段(具体模板由前端内置或后端返回)。
- 保存 CCD:写回服务端。
CCD 参考配置(OpenVPN 2.6.11)
CCD 文件通常按“客户端证书的 Common Name(CN)”命名,例如用户 CN 为 alice,则 CCD 文件名为 alice。服务端需要在 OpenVPN 配置中启用 client-config-dir(指向 CCD 目录)。
下面给一个“最常用、可直接套用”的参考模板(以 topology subnet 场景为主,OpenVPN 2.6.x 推荐):
ini
# ===== 1) 给该用户固定分配 VPN 虚拟 IP(topology subnet)=====
# 说明:需要服务端使用 topology subnet,且 server 网段为 10.8.0.0/24(示例)
ifconfig-push 10.8.0.10 255.255.255.0
# ===== 2) 给该用户推送“可访问的内网网段”(分流/不接管默认路由)=====
# 用户连接 VPN 后,可访问以下网段
push "route 10.10.0.0 255.255.0.0"
push "route 172.16.10.0 255.255.255.0"
# ===== 3) 给该用户推送 DNS(可选)=====
# Windows/macOS/Linux 客户端通常会根据系统能力接收该配置
push "dhcp-option DNS 10.10.0.53"
push "dhcp-option DOMAIN corp.local"
# ===== 4) 站点互联(可选):该用户背后还有一段网段需要被其它 VPN 用户访问 =====
# 典型场景:分公司路由器/网关作为 VPN Client 接入,总部想访问分公司网段
# 重要:仅写 iroute 还不够,服务端 server.conf 还需要有对应的 route 指令
# 例如 server.conf 中额外写:route 192.168.20.0 255.255.255.0
iroute 192.168.20.0 255.255.255.0
# ===== 5) 需要“全局接管流量”(可选,谨慎)=====
# 若开启,客户端默认网关会被重定向到 VPN(全隧道)
# push "redirect-gateway def1"补充说明:
- 如果你的服务端仍是传统
topology net30(较旧模式),ifconfig-push语法不同(需要两段 IP)。如果不确定,优先在服务端统一切到topology subnet再做 CCD 固定 IP。 push "route ..."是“让该用户去访问哪些网段”;iroute ...是“告诉服务端:哪些网段在这个用户(这个客户端)背后”。站点互联一般两者都要配(服务端route+ CCD 的iroute)。- 建议一次只改一个点并验证连通性,避免叠加改动导致排障困难。
页面流程图(编辑并保存 CCD)
mermaid
flowchart TD
A[打开「CCD 管理」] --> B[展示用户列表(含 CCD 概览)]
B --> C[选择用户并进入 CCD 编辑]
C --> D[编辑 CCD 内容]
D --> E{是否使用模板}
E -->|是| F[一键填充模板并微调]
E -->|否| G[直接编辑]
F --> H[点击「保存」]
G --> H
H --> I{保存结果}
I -->|成功| J[提示成功并返回列表] --> B
I -->|失败| K[提示原因并保留编辑内容] --> D