iptables conntrack和state的区别

iptables conntrack和state的区别

 

分类: 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. http://serverfault.com/questions/190978/firewall-questions-about-state-and-policy
   这里面老外得出的结论是,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 可以看到支持的所有匹配选项

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值