之前使用 tinc 组网时,我遇到的主要痛点是路径不可控。对多出口、多节点的网络来说,我希望能明确指定不同流量经过哪些线路和节点,并配置备用路径与故障回退策略。基于这个需求,我实现了 Tinect。目前在我的家庭网络中稳定运行了大概两个月。
我的家庭网络有公网 IP ,朋友家有一条没有公网 IP 的联通 9929 加速线路,以及多台 VPS 。VPS 节点之间也有优先级:优先使用高优先级且可用的节点,节点不可用时切换到其他可用节点。
默认选路和故障回退顺序是:
Tinect 是一个策略驱动的三层 Overlay 网络,将目的路由、出口选择和节点路径分开管理。可以为出口配置优选路径和候选路径,并根据链路健康状态进行故障切换。路径也可以按方向分别编排:对同一节点,去程和回程流量可以选择不同路径。可选的 FakeIP 域名路由支持按站点指定出口。
链路质量增强方面,动态 FEC 会根据链路丢包情况动态调整冗余比例,以减轻晚高峰丢包影响;另外,UDP 被限速或不适用时,可以使用 Fake TCP 作为替代承载。
节点间连接经过身份认证,Circuit 流量端到端加密,中继节点无法解密数据包。项目支持 Linux 和 macOS ; Fake TCP 和本机直连回退目前仅支持 Linux 。项目仍处于实验阶段,欢迎试用、反馈问题或参与贡献。
两者都是 Mesh VPN ,都可以用于节点组网,但设计取舍不同:
Tinect 已开源: https://github.com/cross-io/tinect
支持 Nix/NixOS 、Linux 容器镜像和预编译二进制部署,节点通过 YAML 配置身份、Peer 、路由和路径。每个节点需要生成独立的 Ed25519 密钥对,并在配置中填写对端节点的公钥。 详细配置和使用方法见 Tinect 仓库。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.