iptables conntrack和state的区别

Posted faberbeta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptables conntrack和state的区别相关的知识,希望对你有一定的参考价值。

请参考博客 : http://blog.chinaunix.net/uid-27057175-id-5119553.html

大概可以认为这两个东西是一个东西,可以相互代替,不过conntrack是用来代替state的

网上说state就是conntrack 的 alias

iptables state经典用法

iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

iptables conntrack经典用法

iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 22 -j ACCEPT

 

iptables文件使用state的默认规则

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [60:7140]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m multiport --dports 22,80,443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

 

iptables文件使用conntrack的默认规则

# Generated by iptables-save v1.4.18 on Sun Mar 17 14:21:12 2013
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:TCP - [0:0]
:UDP - [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
COMMIT
# Completed on Sun Mar 17 14:21:12 2013

 

以上是关于iptables conntrack和state的区别的主要内容,如果未能解决你的问题,请参考以下文章

[转]Iptables之nf_conntrack模块

Linux学习98 Linux防火墙iptables扩展匹配进阶

Linux学习98 Linux防火墙iptables扩展匹配进阶

iptables conntrack有什么用

iptables踩坑记

nf_conntrack被启用导致服务故障