什么是iptables
1:iptables就是在各个钩子上定义的规则,让每一个钩子在处理报文的时候,有不同的处理规则
2:iptables对于运维工程师而言,只是一个些规则的命令行的工具
防火墙规则
组成部分:根据规则的匹配条件匹配报文,对应匹配到的报文使用定义的处理动作进行处理
匹配条件:
基本匹配
扩展匹配
处理动作:
基本的常见的处理动作
扩展处理动作
自定义处理动作
报文进入主机之后,流经的路径
1:流入本机:prerouting –> input –> 用户空间请求报文
2:流出本机:用户空间响应报文 –> output –> postrouting
3:由本机转发的:prerouting –> forward –> postrouting
防火墙规则的分类
(也可以称之为功能表的分类) 红色字体为防火墙内置链
1:filter:实现过滤,防火墙(默认) INPUT , FORWARD , OUTPUT
2:mangle:将报文拆解,修改之后再封包 PREROUTING , INPUT , FORWARD , OUTPUT , POSTROUTING
3:nat:网络地址转换,只拆解修改其地址的那一部分,一般是IP层地址和传输层地址 PREROUTING ,INPUT, OUTPUT , POSTROUTING
4:raw:关闭在nat表上启用的连接追踪机制 PREROUTING , OUTPUT
防火墙链分类
1:内置链 (与netfilter的hooks函数一一对应,每一个内置链对应于一个hooks函数,在内核中直接实现)
PREROUTING
INPUT
FORWARD
OUTPUT
POSTROUTING
2:自定义链
对内置链进行扩充的,而定义在自定义链上的规则只有通过内置链的调用才能实现,可以实现更加灵活的规则管理机制
是一个写规则的命令行工具
防火墙功能表与防火墙内置链的对应关系
(这里的表就是指下面的四种功能)
1:filter:INPUT , FORWARD , OUTPUT
2:mangle:PREROUTING , INPUT , FORWARD , OUTPUT , POSTROUTING
3:nat:PREROUTING ,INPUT, OUTPUT , POSTROUTING
4:raw:PREROUTING , OUTPUT