iptables conntrack有什么用
iptables conntrack有什么用
http://zhidao.baidu.com/link?url=Eh5SRuplbsY_WkxxGkH4bpEyfMnHAe1RwJYSVlRYGKFUovI2F7tMP9TczuEnxzHkwZWodVY7dJARY0GmqiFO9ZJTNjAewJUUhLZtJA9obZ3
ip_conntrack:数据包的链接跟踪处理
我们先来看看怎样阅读/proc/net/ip_conntrack里的conntrack记录。这些记录表示的是当前被跟踪的连接。
如果安装了ip_conntrack模块,cat /proc/net/ip_conntrack 的显示类似:
tcp 6 117 syn_sent src=192.168.1.6 dst=192.168.1.9 sport=32775 dport=22 [unreplied] src=192.168.1.9 dst=192.168.1.6 sport=22 dport=32775 use=2
conntrack模块维护的所有信息都包含在这个例子中了,通过它们就可以知道某个特定的连接处于什么状态。
首先显示的是协议,这里是tcp,接着是十进制的6(译者注:tcp的协议类型代码是6)。之后的117是这条conntrack记录的生存时间,它会有规律地被消耗,
直到收到这个连接的更多的包。那时,这个值就会被设为当时那个状态的缺省值。接下来的是这个连接在当前时间点的状态。
上面的例子说明这个包处在状态 syn_sent,这个值是iptables显示的,以便我们好理解,而内部用的值稍有不同。
syn_sent说明我们正在观察的这个连接只在一个方向发送了一tcp syn包。再下面是源地址、目的地址、源端口和目的端口。
其中有个特殊的词unreplied,说明这个连接还没有收到任何回应。最后,是希望接收的应答包的信息,他们的地址和端口和前面是相反的。
连接跟踪记录的信息依据ip所包含的协议不同而不同,所有相应的值都是在头文件linux/include/netfilter-ipv4/ip_conntrack*.h中定义的。
ip、tcp、udp、icmp协议的缺省值是在linux/include/netfilter-ipv4/ip_conntrack.h里定义的。
具体的值可以查看相应的协议,但我们这里用不到它们,因为它们大都只在conntrack内部使用。随着状态的改变,生存时间也会改变。
f