Iptables TTL 和字节限制

Iptables TTL 和字节限制

一个任务:

禁止接收和发送所有大小超过512字节,且TTL字段大于30的数据包

我是否正确理解了 TTL 看起来是这样的:

iptables -t mangle -A input -j TTL --ttl-set 30 ?

但是我还需要在这个规则里指定数据包不超过512字节,我该怎么做?

答案1

你的规则是改变将 TTL 设置为指定值 – 它不会查看原始 TTL,因此它实现的效果与您想要的完全相反。(使用的所有大写模块-j SOMEACTION都是操作而不是匹配规则,并且--ttl-set几乎表明它将设置 TTL。)

匹配对于 TTL,请在操作前面使用ttl模块,例如。同样,要匹配数据包长度,请使用模块,例如。-m ttl --ttl-gt 30length-m length --length 0:512

然后,您可以使用两个单独的规则来丢弃数据包(一个匹配太大的数据包,另一个匹配太大的 TTL),或者您可以使用一个规则来接受同时满足两个要求的数据包(两个匹配模块都在同一条规则中指定)。

相关内容