内核模块 ip_ttl 与 ip_TTL

1844阅读 0评论2009-04-08 binary_XY.Z
分类:LINUX

# 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。
上一篇:mysql报连接数过多
下一篇:什么是initrd