你这个需求确实小众,相当于说要求允许一个虚拟网络里
节点 A 申明自己为出口节点,同时接受来自节点 B 宣言的额外子网
节点 B 宣言自己支持的额外子网,同时接受节点 A 的出口节点
单纯的 ts 弄的话很麻烦,但是可以退而求其次,将节点 A 视为局域网代理,节点 B 进行转发规则处理然后走局域网代理,类似于 NS PS 主机等设备流量走 PC 的各类加速器;
节点 A 作为云服务器申明出口节点并接受 B 宣言的额外子网,这个没啥问题
在节点 A 上部署一个 v2ray server,指定一个端口如 30000 监听并转发 freedom
节点 B 上宣言自己支持的额外子网,然后配置相关流量转发规则,相关流量转发到节点 A 的<ts-ip>:30000
因为 ts 本身是基于 wireguard 的网状虚拟网络,你可以理解是一个 wireguard 带了一大堆附加功能 [DNS,net,中心分发密钥,中心协商连接状态,中心授权认证] ,在标准 wireguard 里面所有设备都是平等的,即便互相连接也只是确保你我之间能连接,但是你他之间怎么连不管我事情。
如果你一定要中转,你可以在基于 tailscale 的虚拟网络内再搭建一个转发隧道[比如三台主机的 ts 地址是 100.1,100.2,100.3 ,你可以自己在这个基础上跳一个转发协定比如 100.1 走 100.2 的中转去 100.3]这样是可行的 [又称隧道套套乐,此事在隔壁 v2ray over wireguard 亦有记载]
但毕竟 ts 已经有一个 derp 功能了,为啥不直接搓一个中转服务完事