安全模式(Secure Mode)
EasyTier 以“去中心化组网”而闻名,在普通模式的架构下,每个加入组网节点都属于对等节点,即两边关系对等,依靠相同的network_name和network_secret进行握手,只要有一台设备拥有可直接连接的公网 IP 就可以将各个设备加入 VPN 网络。这种简单粗暴的方式非常适合个人家庭设备互联或者与好友联机,但同时难以管控设备权限,没法对每台设备进行有效管理(如限制加入、管控出入流量等);单个节点也无法知道自己所添加的其他节点是否是被劫持的虚假节点。
EasyTier 在 2.6+ 版本引入了安全模式(Secure Mode),能够在多个场景下增强安全性,包括端到端加密(E2EE)、更安全的握手与密钥管理、共享节点身份验证、临时凭据与分级授权等。
有关 EasyTier 上游对安全模式的描述与使用说明可以前往【EasyTier 官网】进行查看。QtEasyTier 采用最新的 EasyTier FFI 作为后端,在 v3.2.0 版本中,我们也引入了安全模式的相关设置项以便您使用 QtEasyTier GUI 界面进行安全模式配置.
安全模式简单解析
Section titled “安全模式简单解析”安全模式下,VPN 内的节点不再是完全对等的关系,分为正式节点和临时凭据节点(可以理解为传统中心化组网的Server和Client),每个节点有属于自己的密钥用于验证节点的有效性,不再依赖单一的network_secret。
从配置文件的角度上看,安全模式比普通模式多了个安全模式的开关和节点密钥对(公钥和私钥),示例toml配置文件如下
[secure_mode]enabled = truelocal_private_key = "<base64-private-key>"local_public_key = "<base64-public-key>"enabled开关用于开启安全模式,开启后,节点即可拥有上文所述的端到端加密(E2EE)以及Noise 协议框架安全握手能力。
对于正式节点(其实就是传统的需要网络密码的对等节点),这对密钥对可以用于证明自己的身份。例如,当节点A想要连接到节点B时,可以绑定节点B的公钥,连接时则可以用公钥校验节点B的身份,当遭到中间人攻击时,由于虚假服务器不知道节点B的私钥,无法派生出公钥进行验证,于是节点A会拒绝连接到这个虚假的服务器。
正式节点还可以签发“临时凭据”,临时凭据包含了一些节点权限信息(有效期、是否可中转数据、ACL 分组等)和一对临时密钥对。临时凭据会在正式节点间相互传播。当一个实例需要以临时凭据节点的身份加入组网时,需要将自身的私钥设置成正式节点派发的凭据中的私钥(公钥可以自动派生),此时该密钥对的作用就是让正式节点验证临时凭据节点的身份,从而允许该节点加入组网。临时节点的身份与正式节点并不对等,其会受到凭据中节点权限的制约,也可以被正式节点进行权限修改或移除凭据(踢出组网)
通过以上密钥对的设计,即可以实现共享节点身份验证与临时凭据分级授权功能。
正式节点之间启用安全模式
Section titled “正式节点之间启用安全模式”在正式节点启用安全模式可以增强节点间的安全性(端到端加密、Noise 协议),操作方法很简单,直接在需要开启安全模式实例的高级设置页面打开“启用安全模式”的开关即可。

后续操作皆需要打开安全模式开关
验证初始节点(服务器)身份
Section titled “验证初始节点(服务器)身份”初始节点侧:固定密钥对
Section titled “初始节点侧:固定密钥对”安全模式强制所有节点必须要有自己的密钥对,当上文图中的节点私钥 Base64 输入框为空时,每次运行都会自动生成一个新的密钥对。若使用 QtEasyTier 的实例作为初始节点,则需要输入固定的私钥并妥善保存,输入的私钥必须是使用 X25519 算法生成的私钥的 Base64 编码,最方便的方法是直接点击下图页面中的随机生成。

生成后,点击显示公钥即可查看和复制节点的公钥。该公钥可以发布以便其他节点验证身份。

客户端侧:设置节点公钥
Section titled “客户端侧:设置节点公钥”在添加初始节点页面或者节点收藏页面的添加节点页面都有一个如下图所示的节点公钥输入框,若您所连接的初始节点开启了安全模式并且知道其公钥,可以在此处输入公钥以验证初始节点的身份。

通过凭据加入组网
Section titled “通过凭据加入组网”这是安全模式最实用的功能之一。正式节点可以为网络签发短期凭据,临时设备只凭凭据加入,不需要知道网络密码。
正式节点管理凭据
Section titled “正式节点管理凭据”1. 设置保存凭据的地址
Section titled “1. 设置保存凭据的地址”正式节点默认不设置凭据保存地址,临时凭据只存在于内存中不落库,重启后就会丢失。因此建议用于凭据管理的正式节点设置一个凭据保存地址,以便重启后凭据可以继续使用。设置方法:网格高级设置的安全模式设置页面输入或选择一个 JSON 文件地址。

2. 管理凭据
Section titled “2. 管理凭据”管理凭据前需要启动节点实例,通过 EasyTier 后端的接口提供凭据管理能力。以安全模式启动节点时,实例运行状态页面右下角会有一个可点击的管理临时节点密钥按钮,点击后进入管理页面

在管理页面中,可以看到当前节点所管理的所有凭据,以及每个凭据的详细信息。可以点击编辑按钮修改凭据的有效期、是否可中转数据、ACL 分组等信息,也可以点击新增临时节点密钥来创建临时凭据。

创建凭据后,会自动生成一个临时节点密钥对,并显示私钥,您需要将该私钥复制并通过可信渠道妥善分发。

临时节点加入网络
Section titled “临时节点加入网络”当实例需要以临时凭据节点的身份加入网络时,只需要填写相同的网络名称(网络密码留空),并在安全模式设置界面的“节点私钥Base64”输入框中输入由正式节点签发的私钥即可加入组网。
如果你准备把已有网络迁移到安全模式,建议按以下顺序操作:
- 先升级所有节点到支持安全模式的稳定版本。
- 在正式节点之间开启安全模式,保持原有 network_secret 不变(建议设置较为复杂的network_secret)。
- 为初始节点(服务器)固定私钥,并逐步给客户端配置 节点公钥。
- 有访客/临时设备需求时,再引入凭据机制,避免扩散主密码。