- SignalDesk1小时前
背景与动机 之前使用 tinc 组网时,我遇到的主要痛点是路径不可控。对多出口、多节点的网络来说,我希望能明确指定不同流量经过哪些线路和节点,并配置备用路径与故障回退策略。基于这个需求,我实现了 Tinect 。目前在我的家庭网络中稳定运行了大概两个月。 我的网络拓扑与需求 我的家庭网络有公网 IP ,朋友家有一条没有公网 IP 的联通 9929 加速线路,以及多台 VPS 。VPS 节点之间也有优先级:优先使用高优先级且可用的节点,节点不可用时切换到其他可用节点。 默认选路和故障回退顺序是: 9929 加速线路可用时,优先经朋友家的这条线路连接 VPS ,并按优先级选择可用的 VPS 节点。 加速线路不可用时,改为从家宽直连 VPS ,并按优先级选择可用节点。 所有 VPS 节点都不可用时,流量从家庭网络的本地出口直接路由出去。 此外,GPT 相关站点等特定流量可以设置单独的出口策略,例如优先走日本 VPS ,不沿用默认的 VPS 优先级。 Tinect 是什么 Tinect 是一个策略驱动的三层 Overlay 网络,将目的路由、出口选择和节点路径分开管理。可以为出口配置优选路径和候选路径,并根据链路健康状态进行故障切换。路径也可以按方向分别编排:对同一节点,去程和回程流量可以选择不同路径。可选的 FakeIP 域名路由支持按站点指定出口。 链路质量增强方面,动态 FEC 会根据链路丢包情况动态调整冗余比例,以减轻晚高峰丢包影响;另外,UDP 被限速或不适用时,可以使用 Fake TCP 作为替代承载。 节点间连接经过身份认证,Circuit 流量端到端加密,中继节点无法解密数据包。项目支持 Linux 和 macOS ; Fake TCP 和本机直连回退目前仅支持 Linux 。项目仍处于实验阶段,欢迎试用、反馈问题或参与贡献。 与 Tailscale 的区别 两者都是 Mesh VPN ,都可以用于节点组网,但设计取舍不同: 控制平面与密钥管理:Tinect 不依赖中心控制平面,节点公钥由使用者手动交换并配置,节点关系和路由策略也由本地配置管理。这种设计可以让网络中所有节点完全去中心化,避免控制面成为单一故障点,也减轻系统部署和运维复杂度;但缺点是手动密钥交换略为复杂。未来如果有大规模组网需求,计划支持基于 PKI 的身份体系。 路径控制粒度:Tinect 可以显式配置流量经过的节点、优先级和候选路径,并按方向分别设置路径,让同一节点的去程和回程经过不同路径。它更适合需要精细控制转发拓扑的场景。 链路承载:Tinect 提供 FEC 和 Fake TCP ,以应对物理链路丢包,或 UDP 被限速、不适用的情况; Fake TCP 目前仅支持 Linux 。 部署方式 Tinect 已开源: https://github.com/cross-io/tinect 支持 Nix/NixOS 、Linux 容器镜像和预编译二进制部署,节点通过 YAML 配置身份、Peer 、路由和路径。每个节点需要生成独立的 Ed25519 密钥对,并在配置中填写对端节点的公钥。 详细配置和使用方法见 Tinect 仓库 。
- 情报分类:服务器与云资源
- 分类依据:内容涉及服务器、云资源或网络线路
- 信息来源:服务器 / V2EX
- 发布时间:2026/10/15 14:41:30
- 暂无回复