# lsmod | grep -i ttl
ipt_ttl 5504 1
ipt_TTL 5760 1
x_tables 15236 8 ipt_LOG,ipt_ttl,ipt_TTL,ip_tables,ip6t_REJECT,xt_tcpudp,xt_state,ip6_tables
可以发现iptables可能需要使用ipt_ttl和ipt_TTL两个内核模块, 其中:
一. ipt_ttl用于规则匹配, 即根据IP头里的TTL (Time To Live,即生存期)字段来匹配包,此必须由-m ttl装入。 如 iptables -t filter -A OUTPUT -m ttl --ttl 128 -j LOG 所有经过OUTPUT链的ttl值为128的包都被写进日志
二. ipt_TTL用于jump target: TTL可以修改IP头中Time To Live字段的值。它有很大的作用,我们可以把所有外出包的Time To Live值都改为一样的, 它只能在mangle表中使用。 如 iptables -t mangle -A POSTROUTING -o ppp0 -j TTL --ttl-set 128 把所有从ppp0出去的包的ttl值设成128
另外, 在网上看到使用 echo "129" > /proc/sys/net/ipv4/ip_default_ttl , 经过试验,这种方法不行, 不能把所有经过防火墙的包的ttl值都变成128, 这个只能把从防火墙本机出去的包的ttl值默认为129。
阅读(1745) | 评论(0) | 转发(0) |