You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TCP跨网段连接建立失败,ISP路由器误报Teardrop攻击求助

TCP跨网段连接建立失败,ISP路由器误报Teardrop攻击求助

背景与环境搭建

我正在用Debian 5.10系统做Linux网络实验,目标是打通两个不同网段(比如192.168.0.0/24和172.17.0.0/16)的连通性。具体环境是:

  • 一台单网卡小型服务器,上面运行着VM和Docker容器,需要让这些实例接入物理局域网
  • 我本人的电脑和这台服务器都连接在一台廉价的ISP路由交换机一体机上
  • 为了实现跨网段路由,我在这台ISP路由器上配置了额外的静态路由

测试过程与现象

我做了一些连通性测试,结果有点奇怪:

  • 从服务器(同时作为路由节点的VM/Docker实例)往我的电脑发送UDP和TCP流量,都能正常收发,服务器端也能看到这些流量
  • 反向连接时,UDP完全正常,但TCP连接没法完整建立——看起来像是卡在了某个环节
  • 不过如果我把静态路由配置在自己的电脑上,而不是ISP路由器上,所有TCP连接都能正常工作
  • 另外,如果服务器使用和我电脑同网段的IP(因为服务器本身是路由节点,确实有这个网段的IP),连接也没问题,但这不是我想要的解决方案

关键异常发现:ISP路由器误报Teardrop攻击

我注意到一个关键点:
TCP的SYN、SYN-ACK包都能正常传输,服务器和我的电脑上都能抓到这些包。但当我的电脑发送SYN包时(我推测是SYN,因为服务器始终没检测到连接建立),ISP路由器的日志里会记录“Teardrop攻击”并丢弃这个包。

我查了下Teardrop攻击的原理,它是通过发送带有无效长度/偏移的分片数据包来实现的。于是我用Wireshark抓包分析:

  • 发送的SYN包设置了**不分片(DF)**标志
  • 分片偏移值是0,总长度为40(包括后续的PSH、ACK包),没看出任何异常
  • 和正常连接的数据包对比,也找不到任何区别
  • 按照网上的说法,如果数据包有问题,Wireshark会把详情行标红,信息列也会有异常提示,但我的抓包完全没有这类情况

求助需求

现在我想寻求一些可行的思路,希望能在不关闭路由器防火墙、也不更换路由器的前提下,让这些TCP数据包能正常通过,完成连接建立?

备注:内容来源于stack exchange,提问作者0xCDCDCDCD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 10:38:14