可信网络
1 关于可信网络
开启飞网的“可信网络”功能后,设备在接入飞网之前需要被签名节点签名。
“可信网络”可以使您控制哪些节点需要被签名,哪些节点是签名节点。
工作原理
每个节点都有一个节点密钥和一个飞网可信网络密钥。
- 节点密钥是飞网终端程序在节点上生成的公/私钥对。私钥存储在节点上,公钥将传输到飞网控制中心上。
- 可信网络密钥也是一个公钥/私钥对,是由飞网可信网络引入的。即使未开启飞网“可信网络”的功能,每个节点都会生成飞网可信网络密钥。私钥仍然存储在节点上,公钥被传输到飞网控制中心。
如果没有开启飞网可信网络,当新节点接入到飞网时,其公有节点密钥由飞网控制中心分发到对等节点上。
开启飞网可信网络时,当新节点接入到飞网时,其公有节点密钥需要飞网可信网络密钥签名。飞网控制中心将已签名的公有节点密钥分发到其对等节点,对等节点需要在允许连接之前验证签名。通过这种方式,您可以控制哪些节点需要被签名,哪些节点是签名节点。
2 开启可信网络
只有团队网络的所有者、管理员或者IT管理员才能开启可信网络。
默认情况下不启用可信网络,启用可信网络后,飞网中的所有现有节点都会被签名。
启用飞网可信网络的命令为 gmzta trust start
,也可以在飞网的控制面板上开启可信网络。
- 打开控制面板的“其他设置”页面。
- 点击“开启可信网络”。
- 在“添加签名节点”部分的下拉列表中,至少添加两台设备作为签名节点,用于将新入网的设备注册为可信节点。
- 在“配置禁用密钥”中,选择是否将禁用密钥发送到飞网支持。默认情况下,“将禁用密钥发送到飞网支持”处于开启状态,建议保持启用状态。开启可信网络后,默认会生成10个禁用密钥,开启此功能后将创建一个额外的禁用密钥,该密钥会自动发送到飞网支持,当禁用密钥丢失时,可通过该密钥禁用可信网络。
- 在“签名节点运行”部分中,复制该
gmzta trust start
命令。 - 在您选择的某台签名节点上打开终端窗口,运行复制的
gmzta trust start
命令。
当您运行gmzta trust start
命令时,将显示10个禁用密钥,这10个禁用密钥,只出现一次,请务必保存好。只需一个禁用密钥就可以禁用可信网络。
开启可信网络后,飞网中的所有现有节点都被签名节点签名;可信签名节点的密钥将被分发到现有的节点上;新加入网络的节点需要签名节点对其进行签名;节点在允许建立连接之前需要验证对等节点密钥的签名。
3 签名新设备
开启可信网络后,需要在签名节点上手动签名每一台新加入网络的设备。
您可以使用三种方法进行签名设备:
- 使用签名链接进行签名,这仅限于Windows和macOS。我们正在开发移动端中。在控制面板的“设备详情”页面,找到带“需要签名”标签的设备,点击此标签,点击“签名此设备”->“打开飞网可视化终端”->"签名设备"。当前设备登录的飞网终端为签名节点才可成功签名此设备。
- 在命令提示符中使用
gmzta trust sign
命令,这仅适用于 Linux、macOS 和 Windows。在签名节点的命令行中运行以下命令:
gmzta trust sign nodekey:xxxxxxx ntpub:xxxxxxx
// nodekey:xxxxxxx 是需要签名的节点密钥,ntpub:xxxxxxx 是需要签名的节点的飞网可信网络密钥
该命令可在控制面板的“设备详情”页面,找到带“需要签名”标签的设备,点击此标签,切换至控制台页面;也可在需要签名的节点上运行命令gmzta trust info
查看。
- 通过先给身份验证密钥进行签名,您可以使用签名后的身份验证密钥将设备加入到可信的飞网网络内
- 先生成身份验证密钥。
- 在签名节点上,将环境变量 AUTH_KEY设置为身份验证密钥的值。
export AUTH_KEY="gmkey-auth-xxxx-ssssss"
- 通过运行
gmzta trust sign
命令对身份验证密钥进行签名。
gmzta trust sign $AUTH_KEY
- 使用
gmzta trust sign
命令生成的新密钥登录的飞网终端可直接加入到飞网的可信网络。
3 添加签名节点
在要添加为签名节点的每个设备上,运行
gmzta trust info
。该命令显示此节点的可信网络密钥。此密钥的格式为:ntpub:xxxxx
在已是签名节点的设备上运行命令
gmzta trust add <要添加为签名节点的可信网络密钥>
。此示例为添加两个签名节点:
gmzta trust add ntpub:xxxxx,ntpub:sssss
4 移除签名节点
在要删除的签名节点的设备上,运行
gmzta trust info
。该命令显示此节点的可信网络密钥。此密钥的格式为:ntpub:xxxxx
在已是签名节点的设备上运行命令
gmzta trust remove <要删除的签名节点的可信网络密钥>
。此示例为删除两个签名节点:
gmzta trust remove ntpub:xxxxx,ntpub:sssss
当通过在签名节点“shebeiA”上运行gmzta trust remove
来删除签名“shebeiB”时,默认情况下,之前由“shebeiB”签名的所有设备都将使用“shebeiA”重新签名。您可以通过命令gmzta trust remove --re-sign=false ntpub:xxxxx
来禁用此功能。
5 禁用可信网络
您必须是飞网的所有者、管理员或 IT 管理员才能禁用可信网络。
在飞网控制面板上禁用可信网络的操作:
打开控制面板的“其他设置”,点击可信网络的操作,选择“禁用可信网络”,输入在您开启可信网络时保存的禁用密钥,最后点击禁用。
如果重新打开可信网络,将会生成新的禁用密钥。