XTCP 穿透指南
已弃用功能
我们已自 2023 年起弃用 XTCP 隧道,此页面目前处于存档状态,仅供参考
如需使用 P2P 连接,请参阅 借助 frpc 的端口导出功能打洞 配置端口导出功能
前置知识
提示
XTCP 隧道仅支持 Full-Cone NAT,其他类型的 NAT 无法打洞
XTCP 隧道的穿透逻辑如下图
当电脑 A 想访问电脑 B 的某个服务时,电脑 B 上需要启动 服务隧道 准备接受连接
而电脑 A 需要启动 访问隧道,启动后电脑 A 会通过 SakuraFrp 请求与电脑 B 建立直接连接 (红色箭头)
注意
由于国内网络环境极为复杂,中间可能隔了 N 个奇怪的路由,打洞很成功率 极低
如果打洞成功,两台电脑间就会建立 P2P 连接,流量直接 P2P 传输,不经过 SakuraFrp 服务器 (绿色箭头)
创建隧道
XTCP 穿透时需要建立两条隧道,并且两条隧道均需位于同一节点上。
提示
服务隧道 的隧道名后面要用到,建议自己写一个
访问隧道 的隧道名无关紧要,可以留空让系统自动生成
创建 服务隧道,这条隧道将在上图中的 电脑 B 上运行。
安全警告
设置弱访问密码可能产生安全隐患,建议留空让系统自动生成
如果您让系统自动生成了访问密码,编辑隧道即可查看该密码:
安全警告
保存好您的访问密码,该密码泄露可能产生安全隐患
创建 访问隧道,即您准备访问服务时开启的隧道。
- 两条隧道必须位于同一节点
- 在
访问密码
处填写相同的密码 - 在
服务名称
处填写 服务隧道 的 隧道名 - 在
访问身份
处选择访问者
此处填写的
本地端口
会在访问服务时用到,在这个例子中:提示
在电脑 A 上连接 访问隧道 监听的端口 (127.0.0.1:6666)
等于
提示
连接到位于电脑 B 的 本地服务 (127.0.0.1:2333)
启动隧道
前往电脑 B 启动 服务隧道,即刚才创建的第一条隧道
提示
启动器目前暂时不支持启动 访问隧道,请通过命令行开启一条 访问隧道 可以在多个设备上同时开启,无需重复创建
然后在需要访问服务时前往电脑 A 启动 访问隧道
此时,在电脑 A 上访问
127.0.0.1:6666
就能访问到电脑 B 的127.0.0.1:2333
了
日志说明
再次强调
我们不提供任何 XTCP 隧道相关的技术支持,碰到问题请您自行解决
nat hole connection make success
说明打洞成功,可以正常连接get sid from ... error: read udp ...: i/o timeout
说明打洞失败,请检查两边的 NAT 环境是否符合要求