iptables的四种状态


关键词

iptables的四种状态

摘要

<p>iptables是一个有状态的防火墙,我们可能根据状态来对数据包进入规则限制。本文介绍iptables的四种状态各自的含义。<br /><br />在iptables上一共有四种状态,分别被称为NEW、ESTABLISHED、INVALID、RELATED,这四种状态对于TCP、UDP、ICMP三种协议均有效。下面,我们来分别阐述四种状态的特性。<br /><br />NEW<br /><br />NEW说明这个包是我们看到的第一个包。意思就是,这是conntrack模块看到的某个连接的第一个包,它即将被匹配了。比如,我们看到一个SYN 包,是我们所留意的连接的第一个包,就要匹配它。<br /><br />ESTABLISHED<br /><br /></p>

iptables是一个有状态的防火墙,我们可能根据状态来对数据包进入规则限制。本文介绍iptables的四种状态各自的含义。

在iptables上一共有四种状态,分别被称为NEW、ESTABLISHED、INVALID、RELATED,这四种状态对于TCP、UDP、ICMP三种协议均有效。下面,我们来分别阐述四种状态的特性。

NEW

NEW说明这个包是我们看到的第一个包。意思就是,这是conntrack模块看到的某个连接的第一个包,它即将被匹配了。比如,我们看到一个SYN 包,是我们所留意的连接的第一个包,就要匹配它。

ESTABLISHED

ESTABLISHED已经注意到两个方向上的数据传输,而且会继续匹配这个连接的包。处于ESTABLISHED状态的连接是非常容易理解的。只要发送并接到应答,连接就是ESTABLISHED的了。一个连接要从NEW变为ESTABLISHED,只需要接到应答包即可,不管这个包是发往防火墙的,还是要由防火墙转发的。ICMP的错误和重定向等信息包也被看作是ESTABLISHED,只要它们是我们所发出的信息的应答。

RELATED

RELATED是个比较麻烦的状态。当一个连接和某个已处于ESTABLISHED状态的连接有关系时,就被认为是RELATED的了。换句话说,一个连接要想是RELATED的,首先要有一个ESTABLISHED的连接。这个ESTABLISHED连接再产生一个主连接之外的连接,这个新的连接就是 RELATED的了,当然前提是conntrack模块要能理解RELATED。ftp是个很好的例子,FTP-data 连接就是和FTP-control有关联的,如果没有在iptables的策略中配置RELATED状态,FTP-data的连接是无法正确建立的,还有其他的例子,比如,通过IRC的DCC连接。有了这个状态,ICMP应答、FTP传输、DCC等才能穿过防火墙正常工作。注意,大部分还有一些UDP协议都依赖这个机制。这些协议是很复杂的,它们把连接信息放在数据包里,并且要求这些信息能被正确理解。

INVALID

INVALID说明数据包不能被识别属于哪个连接或没有任何状态。有几个原因可以产生这种情况,比如,内存溢出,收到不知属于哪个连接的ICMP错误信息。一般地,我们DROP这个状态的任何东西,因为防火墙认为这是不安全的东西。

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权

本文属于“洪哥笔记”原创文章,转载请注明来源地址:iptables的四种状态:http://www.splaybow.com/post/iptables-4-state.html

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« Linux必须掌握的一些命令 查看iptables规则设置 »

相关文章:

在Linux上添加字体  (2018/9/1 11:53:09)

购物网站支付宝付款后跳转回来报错  (2015/3/18 15:52:24)

centos下安装nmap、sqlmap、metasploit  (2014/8/22 9:18:40)

Linux上极具杀伤力的破坏指令  (2014/8/18 8:53:22)

三步骤测试Linux主机是否连通  (2014/5/20 9:33:18)

Linux查看路由信息  (2014/5/8 15:01:06)

RHEL6.4搭建FTP服务器  (2014/4/29 10:16:55)

linux系统下设置网站404错误页  (2014/4/21 12:45:26)

OpenSSL安全公告  (2014/4/15 9:01:51)

系统管理员命令:sudo  (2014/4/14 11:06:49)