一、问题描述
客户端通过公网访问 OpenVPN:
124.164.252.67:11194 (TCP)
连接失败,报错如下:
Connection timeout General tun error Bad embedded uint16_t TCP packet size
二、系统架构
当前访问路径设计如下:
Internet │ 124.164.252.67 │ USG6620E 防火墙 │ DNAT │ 172.16.1.254(内网三层/核心设备) │ 172.16.90.252(OpenVPN服务器)
三、关键配置
3.1 防火墙 DNAT
nat server protocol tcp global 124.164.252.67 11194 inside 172.16.90.252 11194
3.2 安全策略
已存在允许 TCP 11194 的策略(目标:172.16.90.252)。
四、服务器信息
OpenVPN服务器:
IP:172.16.90.252 网段:172.16.90.0/24 网关:172.16.90.254
网络连通性:
ping 172.16.0.52(USG) 正常
五、服务状态
OpenVPN 运行方式:
Docker(host network 模式) 监听端口:11194 协议:TCP
配置确认:
local 0.0.0.0 port 11194 proto tcp
六、排查过程
6.1 服务监听确认
服务器已监听:
0.0.0.0:11194
6.2 抓包验证(关键结论)
服务器执行:
tcpdump -ni any tcp port 11194
客户端发起连接时:
未抓到任何流量
6.3 对照测试
关闭 OpenVPN 服务后:客户端连接报错 完全一致。 说明:客户端并未连接到 OpenVPN 服务
七、关键结论
7.1 本质问题
公网 124.164.252.67:11194 的流量未到达服务器 172.16.90.252
7.2 责任边界判断
已排除:
- OpenVPN 服务问题
- Docker 网络问题
- 服务器本地防火墙问题
- 服务器路由问题
问题定位在:公网入口 → 防火墙 → 内网转发路径
八、可能原因分析
1.DNAT 未命中
- 未命中 nat server 规则
- 被其他 NAT 规则覆盖
- 防火墙未实际转发
- 会话未建立
- NAT 转换异常
- 内网三层设备问题
设备:172.16.1.254
可能存在:
- ACL 拦截 TCP 11194
- 未正确转发
- 路由不完整
- 公网入口异常
- 公网 IP 不在该 USG 上
- 上级 NAT 转发错误
九、需要网络侧协助排查
请机房/网络组确认以下内容:
9.1 会话命中
客户端连接时执行:
display firewall session table | include 11194
确认是否存在:
124.164.252.67:11194 → NAT → 172.16.90.252:11194
9.2 防火墙到服务器连通性
telnet 172.16.90.252 11194 确认 TCP 是否可达。
9.3 路由检查
172.16.90.0/24 → 172.16.1.254 是否正常。
9.4 内网设备检查
确认:172.16.1.254 是否允许转发 TCP 11194。
9.5 公网入口确认
确认:124.164.252.67 是否确实由该 USG 接管。
十、最终结论
当前问题属于:网络层(NAT / 路由 / 转发)问题 ,而非应用层(OpenVPN)问题。服务器侧未接收到任何公网连接流量。
十一、建议优先排查路径
建议按以下顺序排查:
1. USG 会话命中 2. USG → 172.16.90.252 TCP 连通性 3. 172.16.1.254 转发策略 4. 公网入口归属