233 sing-box 脚本 TCP 端口转发 Reality 协议 排错 Troubleshoot
233 boy 的 TCP 端口转发的教程
可以看到有 4 条记录绿色部分是 中转 VPS 的 IP 142.171.223.56 说明收到了来自中转 VPS 的数据包.
下图中示意, 左边的 142.171.237.9 是被墙的 VPS, 右边的 142.171.223.56 是用来做端口中转的 VPS.
如果你照着教程操作一遍, 发现不能正常使用. 那么本文指导你如何排查问题所在.
========
首先, 你要理解整个原理是什么.
左边的, 本来的 reality 协议节点, 底层是 TCP 直连, 那么是从你的 翻墙客户端 (手机 / 电脑 /...) 去连接 142.171.237.9 的 18255 端口.
现在被墙了, 那么无法直接 TCP 连接了.
右边的, 用于中转的 VPS, 设置的 TCP 端口中转 的本质是, 142.171.223.56 从端口 28828 收到的 TCP 数据, 会转发给 142.171.237.9 的 18255 端口.
所以, 你现在可以把本来准备发送给 142.171.237.9 的 18255 端口 的 realiy 数据包, 发送给 142.171.223.56 的 28828 端口;
142.171.223.56 从端口 28828 收到的 TCP 数据, 转发给 142.171.237.9 的 18255 端口.
========
我们延着数据路径一段一段的排查.
1. 从我们的翻墙客户端 (手机 / 电脑 /...) 连接中转 VPS 142.171.223.56 的 28828 端口;
a) 可以用 tcp.ping.pe 检测 142.171.223.56 的 28828 端口是否正常;
2. 在中转 VPS 上查 sing-box 的 access.log
cat /var/log/sing-box/access.log
可以看到有对应的 4 条记录
红色的部分, 是 sing-box 最终把数据转发给 142.171.237.9 的 18255 端口.
3. 在落地节点 VPS 上查 sing-box 的 access.log
cat /var/log/sing-box/access.log
因为这是 tcping 测试的数据包, 不是 reality 协议的数据包. 所以接着的日志内容是 REALITY 验证失败, 判定为无效连接.
4. 验证中转后节点能否使用.
前面 3 步可以验证数据包能从我自己发送到落地 VPS 成功.
我们现在制作新的翻墙节点.
在前面我也提到, 数据包本身应该没有变化, 只是发送给中转的 IP 地址和端口.
所以, 如下图所示.
在 v2rayN 中测试, 有延迟数据, 也可以正常翻墙使用.
后记
如果你没有设置中转, 就是一个reality 节点, 想排错.
正确的结果是, 你应该 tcping 测试畅通, 并且落地 VPS 的 sing-box 的日志中, 有对应的记录, 表示收到了数据包, 并且验证 REALITY 失败.
评论
发表评论