关于Xlink停止维护与FTU时代开启的通知

虚拟化系统 0 73 团子精英 收藏

自Xlink发布以来,我们经历了4年的时间,从Xlink 1.0到Xlink 4.0,我们经历了发布、改版、优化、创新等各项工作。

一、Xlink基于vnc+容器实现了远程桌面的自动化管理功能,但是由于vnc协议的问题,在性能上始终有些解不开的答案,同时由于EDA行业的特殊性,vnc跳转无法有效的支持LSF的bsub -Ip功能。只能使用XF来提交job。

在Xlink上,我们做了大量的工作,但是后续的开发已经无法有效解决实际问题,因此我们决定放弃vnc方案,改用其他开源组件作为后续开发的依据,在后续开发的基础上,我们将基于vnc的xlink命名为ftu/v1协议版本。

但是Xlink依旧作为半开源项目继续开放使用,且提供持续的技术支持,只是不再更新版本,针对BUG和补丁需要用户自行负责。


******  FTU为 Fasteda Turbo Unit的简称(EDA 连接高速连接单元)。


二、在Xlink开发和改版优化的同时,我们开发了ftu 2.0版本,这个版本是基于xpra实现的。我们称之为ftu/v2协议。

Ftu2.0版本经过开发、优化、测试后,我们同样发现了一些难以解决的问题,例如无法有效的将xpra进行打包分发,无法有效的进行二次编译开发。虽然在连接能力上已经实现了,但是经过深思熟虑,我们还是决定不做2.0的版本发布。同时基于2.0版本开发自有协议的快速连接工具。


三、Ftu3.0基于自有协议 ftu/v3进行开发。我们制作了  客户端模块(launcher和ftu-client)、App(ftu_app)、及服务端模块(ftu-agent和ftu-server)五大模块

模块介绍

组件

文件

运行位置

职责

App (管理端)

ftu_app

管理服务器

用户认证、会话管理、Web UI、WS代理

ftu-agent

ftu-agent

每台节点服务器

节点注册、启动/停止   ftu-server、CONNECT隧道

ftu-server

ftu-server

节点服务器(由agent启动)

桌面采集、FTU/3协议服务端、Web桌面(HTTPS)

ftu-client

ftu-client

用户客户端(由launcher启动)

FTU/3协议客户端、渲染远程桌面

launcher

launcher.py

用户客户端

解析链接、建立隧道、启动ftu-client

在安全机制上,我们采用了分组加密、多重密钥和握手的方式

安全性介绍

函数/方法

签名

说明

FTU/3 握手加密


X25519 ECDH + HKDF-SHA256 → AES-256-GCM;每帧独立随机 IV;零明文密码传输

PSK 扩展


REMOTEX_SECRET 设置时,DH shared secret 与 PSK 混合再 HKDF;未持有 PSK 的客户端   GCM tag 验证失败

隧道 URL 加密


路径和 auth 参数均 AES-128-CBC 加密;密钥从变量获取

ConnectionToken


一次性 token(validity=300s),validate_web_token 每次验证后刷新过期时间

TLS(Web 模式)


ftu-server 生成自签名 RSA-2048 证书;ws_proxy 以 CERT_NONE 方式连接(内网场景)


客户端兼容性


平台

兼容

描述

Windows

兼容

以开发windows版本的客户端,支持非管理员的msi与exe,与支持管理员模式(Alluser)的msi与exe

Linux

兼容

当前适配RHEL8与UBUNTU

Macos

未兼容

暂时未开放客户端

信创(ARM)

半兼容

只具备显示和操作功能

信创(龙芯)

未兼容

暂时未开放客户端


 三种连接模式

direct 模式

launcher → agent (CONNECT) → ftu-server:tcp_port

📌 适合 launcher 与 agent 在同一内网,无需经过 app 中转。

redirect 模式

launcher → app (CONNECT hop1) → agent (CONNECT hop2) → ftu-server:tcp_port

📌 适合 launcher 只能访问 app,agent 与 app 在同一内网。

web 模式

浏览器 ws://app/web/<sid>/<token>

→ ws_proxy 验证 token → CONNECT 到 agent→ TLS wrap → WS 握手到 ftu-server:web_port

📌 无需安装客户端,任意支持 WebSocket 的现代浏览器可用。


在暴露外网或者VPN的情况下,我们支持以APP为跳板,只需要开放APP独立端口的情况下就支持所有用户接入,不在需要针对node节点暴露单独的端口。


四、关于版本发布

Ftu协议虽然已经到了ftu/v3,但是ftu软件将以初始版本1.0.0作为发布信息,因此请注意:用户手册及软件版本标注不同,但是适用性没有问题。


所以:各位,敬请期待!!!

FTU预览页面:https://www.fasteda.cn/ftu.html

相关推荐:

网友留言:

您需要 登录账户 后才能发表评论

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码