端口连接不成功诊断
客户端接入后连不上源站,绝大多数是端口规则或网关配置的问题。按下面的顺序排查,能覆盖绝大部分情况。
先看一个高频疑问:初始化结果 0
如果你在日志里看到「初始化结果 0」或「protect_start 返回 0」,这表示初始化成功,不是错误。
SDK 的返回值约定是:0 表示成功,非 0 表示失败。所以返回 0 之后如果还连不上,问题不在 SDK 初始化,要往下排查端口规则和网关。
失败时返回的是非 0 值,具体原因调
protect_error() 查看,比看返回码猜快得多。
一、先做快速检查
第一步:检查端口
- 端口规则是否配置正确,是否已经添加了对应端口
- 注意区分 TCP 与 UDP,两种协议需要分别添加,只加一种另一边连不上
- 源机上对应的服务端是否已运行,端口是否已开启监听
第二步:检查客户端配置
- 客户端一侧是否已正确封装,填写的接入码是否正确
- 连接服务器地址是否已改为后台分配的
127.0.*.*盾机入口地址 - 客户端运行后右下角图标是否自动退出了。如果会自动退出,需要在封装工具的高级选项里调整自动退出设置
如果这两步没解决,继续下面的完整检查。
二、完整检查
第一步:确认网关
- 确认网关是否已正确安装在服务器上。
- 确认防火墙或安全组已放行
21088端口(如自行修改过端口,以修改后的为准,并保持网关配置与后台设置一致)。 - 在本地用
telnet命令或 TCP 端口测试工具,测试服务器的21088端口是否可连通。 - 进入控制台实例页面,找到对应源机一行,点击诊断按钮,等待数秒查看结果。
诊断结果通常有三种:
| 诊断提示 | 含义与处理 |
|---|---|
| 连接失败 | 回到上一步,检查源机上网关端口是否正确开启 |
| Invalid method | 使用了较早版本的网关,下载最新版覆盖安装即可 |
| 显示「可连接端口」与「不可用端口」列表 | 网关这一步没有问题,继续下一步 |
端口列表可能很长,需要拉到最底部才能看完整记录。只看到列表开头容易误判。
第二步:确认端口
在诊断结果里查找你需要使用的端口:
- 在「可连接端口」中 —— 正常,问题不在这层,继续排查业务侧
- 两个列表里都没有 —— 端口未开启。检查源机上的服务端是否启动,或是否配置成了其他端口
- 在「不可用端口」中 —— 见下面这一节
三、典型问题:端口落在「不可用端口」里
防护采用全程隧道,最终的连接出口是从源机的网关服务发出的。网关服务默认使用 127.0.0.1 环回地址发起连接。
在部分操作系统中,绑定在网卡 IP 上的端口无法被环回地址连接,只能连接绑定在 0.0.0.0(任意地址)或 127.0.0.1(本地环回)上的端口。
所以当你看到某个端口出现在「不可用端口」列表中时,通常也能同时观察到:该端口冒号前的 IP 不是 0.0.0.0 或 127.0.0.1,而是具体的网卡 IP 地址。
要改的是「开启方」,不是「连接方」。需要修改的是源机上服务端的监听地址,把它改成
0.0.0.0 或 127.0.0.1。如果把「连接方」改成 0.0.0.0,反而连不上。分不清两者时,统一改成 127.0.0.1 最稳妥。
修改方法:
- 找到该服务端的配置文件。
- 搜索包含目标端口的配置项,把其中的绑定 IP 字段改为
0.0.0.0或127.0.0.1。 - 重启服务。
- 回到控制台再次点击诊断,确认该端口已进入「可连接端口」列表。
这一步需要对具体服务端的配置文件比较熟悉。可以先用下面的命令确认服务端当前监听的地址:
netstat -ano | findstr 端口号
输出中 0.0.0.0:端口 或 127.0.0.1:端口 表示正常,形如 192.168.x.x:端口 说明绑定在具体网卡上,需要按上面的方法调整。
四、仍然不通
按上述步骤逐项排除后仍无法连接,请整理以下信息联系技术支持,能大幅缩短排查时间:
- 实例编号、源机 IP、目标端口与协议(TCP / UDP)
- 诊断按钮的完整结果截图,包含「可连接端口」与「不可用端口」两个列表
- 源机服务端的监听配置,即
netstat -ano | findstr 端口号的输出 - 客户端封装时填写的接入码与连接地址(脱敏后提供)
通过 联系我们 页面提交,或在控制台提交工单。工作日通常 2 小时内响应。