一、相关知识
1、什么是IPTABLES
Iptables是隔离主机以及网络的工具,通过自己设定的规则以及处理动作对数据报文进行检测以及处理。netfilter/iptables是表的容器,即表属于netfiletr
iptables 主要工作在OSI七层的第2,3,4层
2、什么是 表
表是链的容器,即所有的链都属于其对应的表。
3、什么是 链
链是规则的容器,
4、什么是规则
规则是iptables系统过滤信息的规范和具体条款。
表和链的关系
常用的是 filter ,nat
filter
nat
二、工作流程
分析数据报文进入本机后应用了哪些表规则以及链规则
如filter表的规则,filter表决定是否放行数据包通过,那如果通过,则必须经由INPUT链流入数据包,INPUT链是处理入站数据的,如果没问题,继续放行到用户空间,再经由OUTPUT链将数据包流出
如nat表的规则,nat表主要实现转发功能,数据包先经由PREROUTING链进行路由选择,选择好路线后再经由FORWARD链转发数据,然后再进行一个路由选择,最后由POSTROUTING链流出数据
三、原理
linux的防火墙由netfilter和iptables组成
用户空间的iptables制定防火墙规则,内核空间的netfilter实现防火墙功能
netfilter(内核空间)位于Linux内核中的包过滤防火墙功能体系,称为Linux防火墙的“内核态”
iptables(用户空间)位于/sbin/iptables,是用来管理防火墙的命令的工具,为防火墙体系提供过滤规则/策略,决定如何过滤或处理到达防火墙主机的数据包,称为Linux防火墙的“用户态”
四、详细语法与语法
1、命令
注:不指定表名时,默认表示filter表,不指定链名时,默认表示该表内所有链,除非设置规则链的缺省策略,否则需要指定匹配条件
2、语法
iptables—>表—>操作—>链—>条件匹配—>处理动作
3、管理选项
链管理–> 规则选项–>规则显示
链管理
规则管理
4、条件匹配
条件匹配分为基本匹配和扩展匹配,扩展匹配又分为显示匹配和隐式匹配
基本匹配的特点是:无需加载扩展模块,匹配规则生效;
扩展匹配的特点是:需要加载扩展模块,匹配规则方可生效。
隐式匹配的特点:使用-p选项指明协议时,无需再同时使用-m选项指明扩展模块以及不需要手动加载扩展模块;
显示匹配的特点:必须使用-m选项指明要调用的扩展模块的扩展机制以及需要手动加载扩展模块
基本匹配
隐式匹配
显示匹配 more ipables-extensions
5、处理动作
6、保存和载入规则