Chinaunix首页 | 论坛 | 博客
  • 博客访问: 712740
  • 博文数量: 79
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 1338
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-12 08:51
个人简介

XMU->九天揽月->五湖抓鳖->DSP->driver->kernel/OpenWRT->ISP/RTOS

文章分类

全部博文(79)

文章存档

2020年(2)

2018年(3)

2016年(7)

2015年(42)

2014年(25)

分类: LINUX

2015-07-13 14:47:19

-m conntrack --ctstate ESTABLISHED,RELATED -j ...
-m state --state ESTABLISHED,RELATED -j ... 
我们要对一条连接做处理,可以用以上两种match target来实现。
两者的区别是啥?!
有观点:
1. ubuntu的howto推荐是conntrack,除非有错的话,再使用state
2. conntrack模块会在以后的版本中取代state,现在保留state模块只是为了兼容老用户的习惯
3. />    这里面老外得出的结论是,conntrack在技术上完全可以取代state,state会逐渐废弃。然而,事实上state并没被废弃,一直在使用。
4. 一份邮件中提到,state仅仅是conntrack的alias,那么你是用哪个也就无所谓了,反正都是用的conntrack功能

结论:
    根据serverfault的QA
    conntrack和state在内核层的实现是一致的(都使用contrack的nf_ct_get)。
    xt_conntrack.c(conntrack模块的内核实现)比xt_state.c提供了更加丰富的选项和功能。
    state只是一个最小化的状态集合,只支持基本的连接状态。
    而conntrack可以支持包括NAT、连接协议、端口、地址等更复杂的选项。
    iptables -m conntrack --help 可以看到支持的所有匹配选项
    

阅读(9826) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~