CentOS7 运维 - iptables防火墙
一、概述
工作在网络层的IP
信息包过滤系统,由netfilter
和iptables
组成,对数据包内IP
地址和端口等信息的处理
netfilter
属于内核的防火墙功能体系,由一些数据包过滤表组成,用于控制数据包过滤处理
iptables
属于用户的刚获取管理体系,用于管理Linux防火墙的命令工具
二、规则表
netfilter/iptables
后期简称为iptabes
,是基于内核的防火墙,其中内置了raw
、mangle
、nat
和filter
表里有链,链里有规则
① raw表
- 用于确定是否对该数据包进行状态追踪
- 规则链
output | prerouting
② mangle表
- 修改标记数据包,用于流量整形和策略路由等高级应用
- 规则链
input | output | forward | prerouting | postrouting
③ nat表
- 地址转换以及修改数据包中源、目标IP地址或端口
- 规则链
output | prerouting | postrouting
④ filter表
- 负责数据包的过滤及规则
- 规则链
input | forward | output
三、规则链
① input
处理入站数据包,匹配目标IP
为本机的数据包
② output
处理出站数据包[一般无需额外配置]
③ forward
处理转发数据包,匹配流经本机的数据包
④ prerouting
在路由选择前处理数据包,用来修改目的地址DNAT
,类似映射
⑤ postrouting
在路由选择后处理数据包,用来修改源地址SNAT
,类似NAT
►规则表优先顺序
数据包到达防火墙时,规则表之间的优先顺序
raw > mangle > nat > filter
►规则链之间的匹配顺序
- 主机型防火墙
- 入站数据
prerouting -> input -> 本机的应用程序
- 出站数据
本机的应用程序 -> output -> postrouting
- 网络型防火墙
- 转发数据
prerouting -> forward - > postrouting
自上而下一次匹配,找到的规则就停止(LOG除外),如找不到匹配的规则则按默认策略处理(没修改时,默认允许)
四、iptables的安装
若想使用iptables
就需要先关闭firewalld
systemctl stop firewalld
systemctl disable firewalld.service
yum -y install iptables iptables-services
systemctl start iptables
① iptables 命令行配置方法
命令格式
iptables [-t 表名] 管理选项 [链名]