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 测试节点的IP和端口.
正确的结果是, 你应该tcping测试畅通, 并且落地VPS的 sing-box 的日志中, 有对应的记录, 表示收到了数据包, 并且验证REALITY失败.
评论
发表评论