标题说的"神"一样,肯定是我夸张了,但是说它像神一样,主要体现在两个方面:
- 强大: 理论上能够匹配三层网络以上的任何数据包。
- 复杂: 需要对OSI七层网络模型和各类型协议有基础了解。
事情是这样的,在我某台服务器上跑了某个TCP服务,这个端口总是受到某个TCP包的恶意干扰,所以抓包分析了一下,发现这些恶意包有个明显特征是TCP的首包 syn包,window值等于35688,很显然我也不知道这个数值有什么特别含意,可能是神一样的数字。
因为我的服务是动态开放式的,所以肯定不能玩白名单那一套规则,维护成本也高(我这么懒的人@(你懂的) ),所以想法很简单,把所有 syn 包 window=35688 的包给 tcp-reset掉就行;说干就干逛了一圈,发现 iptables在新版内核中的 tcp-window匹配根本不能用,于是和chatGPTbattle半天,发现了一个这个“神”东西。
先上两张图震住,怕大家跑了,本帖不会过多解释 u32 的功能(感兴趣请看本文最后的参考),这里仅作使用记录。


最后我的规则如下:
| |
所以呀,这东西虽然强大但是也的确复杂,需要对OSI模型有基础了解,并且如果没一丝毅力的话(反正我是错了半天,也不知哪里有问题,只能疯狂试错),否则玩不动,希望对来者有所帮助。
