什么是iptables?
——————————————————————————–
iptables是Linux下功能强大的应用层防火墙工具,但了解其规则原理和基础后,配置起来也非常简单。
什么是Netfilter?
——————————————————————————–
说到iptables必然提到Netfilter,iptables是应用层的,其实质是一个定义规则的配置工具,而核心的数据包拦截和转发是Netfiler。
Netfilter是Linux操作系统核心层内部的一个数据包处理模块。
iptables和Netfilter关系图:
在这张图可以看出,Netfilter作用于网络层,数据包通过网络层会经过Netfilter的五个挂载点(Hook point):PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING。
任何一个数据包,只要经过本机,必将经过这五个挂载点的其中一个。
iptables规则原理
——————————————————————————–
iptables的规则组成,又被称为四表五链:
四张表 + 五个挂载点 + 规则<br><br>四张表:filter表、nat表、mangle表、raw表<br><br>五个挂载点:PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING
具体来说,就是iptables每一条允许/拒绝或转发等规则必须选择一个挂载点,关联一张表。
规则代表了对数据包的具体操作,挂载点代表了操作的位置,表代表了作用的目的。
iptables的四张表
——————————————————————————–
现在用的比较多的表是前两个:
1、filter 用于过滤;
2、nat 用于地址转换;
3、mangle 修改数据包;
4、raw 一般是为了不再让iptables做数据包的链接跟踪处理,跳过其他表,提高性能;
数据包在规则表、挂载点的匹配流程图
——————————————————————————–
以下这张图是数据包经过挂载点的流程图,在每个挂载点可以看到有哪些表可以用于定义规则:
对于filter表一般只能做在3个链上:INPUT、FORWARD、OUTPUT;
对于nat表一般也只能做在3个链上:PREROUTING、OUTPUT、POSTROUTING。
————————————–分割线 ————————————–
CentOS 7.0关闭默认防火墙启用iptables防火墙 http://www.linuxidc.com/Linux/2015-05/117473.htm
iptables使用范例详解 http://www.linuxidc.com/Linux/2014-03/99159.htm
Linux防火墙iptables详细教程 http://www.linuxidc.com/Linux/2013-07/87045.htm
iptables的备份、恢复及防火墙脚本的基本使用 http://www.linuxidc.com/Linux/2013-08/88535.htm
Linux下防火墙iptables用法规则详解 http://www.linuxidc.com/Linux/2012-08/67952.htm
————————————–分割线 ————————————–
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-06/118660.htm