searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

strongswan vici协议

2025-10-09 10:05:48
5
0

简介

VICI(Versatile IKE Configuration Interface)是strongSwan 5.2.0以后版本引入的编程接口,用于与charon IKE守护进程进行通信。它是一个基于Unix socket的客户端-服务器架构面向消息的协议。

  • 主要用途:通过程序(如swanctl命令行工具、自定义应用)动态管理IPsec VPN连接、加载证书和密钥、监控连接状态,无需重启服务

  • 优势:相比之前的Stroke接口,VICI支持更丰富的操作和异步事件,是strongSwan目前推荐使用的接口

协议

VICI 协议是基于消息的简单协议,客户端通过 Unix 套接字向服务器(charon)发送请求消息。服务器处理请求并发送响应消息。消息由类型化的键值对和节(包含嵌套消息)组成。

协议支持请求-响应模式以及事件订阅,客户端可以订阅特定事件并在事件发生时接收通知消息。

实现

服务器

VICI 插件在 charon 中实现服务器端,默认启用。它监听 /var/run/charon.vici 套接字(可使用 vici.socket 配置选项更改)。插件注册了一个 vici 凭据集,允许通过接口加载凭据。

客户端

strongSwan 源代码树中包含几个客户端实现:

  • libvici:C 库,简化与 VICI 服务器的通信

  • swanctl:基于 libvici 的命令行控制工具

  • govici:Go 语言绑定

  • pythonic:Python 绑定(在 src/pythonic 中)

命令

VICI 支持多个命令,包括:

  • version:获取服务器版本

  • stats:获取统计信息

  • reload-settings:重新加载设置

  • get-conns:列出加载的连接

  • list-conns:列出加载连接的名称

  • load-conn:加载连接配置

  • unload-conn:卸载连接配置

  • list-sas:列出已建立的 SA

  • terminate:终止 SA

  • initiate:启动连接

事件

客户端可以订阅的事件包括:

  • ike-up/down:IKE SA 建立/拆除

  • child-up/down:CHILD SA 建立/拆除

  • alert:警报事件

  • log:日志事件

  • control:控制事件

配置

VICI 插件支持以下配置选项:

  • vici.socket:套接字路径(默认:/var/run/charon.vici)

  • vici.allow_peer_identities:是否允许对等身份验证

 

0条评论
作者已关闭评论
李****佳
10文章数
0粉丝数
李****佳
10 文章 | 0 粉丝
李****佳
10文章数
0粉丝数
李****佳
10 文章 | 0 粉丝
原创

strongswan vici协议

2025-10-09 10:05:48
5
0

简介

VICI(Versatile IKE Configuration Interface)是strongSwan 5.2.0以后版本引入的编程接口,用于与charon IKE守护进程进行通信。它是一个基于Unix socket的客户端-服务器架构面向消息的协议。

  • 主要用途:通过程序(如swanctl命令行工具、自定义应用)动态管理IPsec VPN连接、加载证书和密钥、监控连接状态,无需重启服务

  • 优势:相比之前的Stroke接口,VICI支持更丰富的操作和异步事件,是strongSwan目前推荐使用的接口

协议

VICI 协议是基于消息的简单协议,客户端通过 Unix 套接字向服务器(charon)发送请求消息。服务器处理请求并发送响应消息。消息由类型化的键值对和节(包含嵌套消息)组成。

协议支持请求-响应模式以及事件订阅,客户端可以订阅特定事件并在事件发生时接收通知消息。

实现

服务器

VICI 插件在 charon 中实现服务器端,默认启用。它监听 /var/run/charon.vici 套接字(可使用 vici.socket 配置选项更改)。插件注册了一个 vici 凭据集,允许通过接口加载凭据。

客户端

strongSwan 源代码树中包含几个客户端实现:

  • libvici:C 库,简化与 VICI 服务器的通信

  • swanctl:基于 libvici 的命令行控制工具

  • govici:Go 语言绑定

  • pythonic:Python 绑定(在 src/pythonic 中)

命令

VICI 支持多个命令,包括:

  • version:获取服务器版本

  • stats:获取统计信息

  • reload-settings:重新加载设置

  • get-conns:列出加载的连接

  • list-conns:列出加载连接的名称

  • load-conn:加载连接配置

  • unload-conn:卸载连接配置

  • list-sas:列出已建立的 SA

  • terminate:终止 SA

  • initiate:启动连接

事件

客户端可以订阅的事件包括:

  • ike-up/down:IKE SA 建立/拆除

  • child-up/down:CHILD SA 建立/拆除

  • alert:警报事件

  • log:日志事件

  • control:控制事件

配置

VICI 插件支持以下配置选项:

  • vici.socket:套接字路径(默认:/var/run/charon.vici)

  • vici.allow_peer_identities:是否允许对等身份验证

 

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0