1. linux包过滤防火墙
netfilter:被称为linux防火墙的内核态,位于linux内核中包过滤功能体系
iptables:用户态,位于/sbin/iptables
包过滤的工作层次:主要是网络层针对ip数据包,体现在对包内的IP地址、端口等信息的处理
2. iptables的表、链结构
规则链
链接的作用:对数据包进行过滤或处理
链的作用:容纳各种防火墙规则
链的分类依据:处理数据包的不同时机
3. 默认包括5种规则链
input:处理入站数据包
output:处理出站数据包
forward:处理转发数据包
postrouting链:在进行路由选择后处理数据包
prerouting链:在进行路由选择前处理数据包
4. 规则表
表的作用:容纳各种规则链
表的划分依据:与防火墙规则的作用相似
默认4个规则表:raw表:确定是否对该数据包进行状态跟踪,mangle表(流量整形表):为数据包设置标记,nat表:修改数据包中的源、目标ip地址或端口,filter表:确定是否放行该数据包(过滤)
5. 规则表之间的顺序
raw→mangle→nat→filter
6. 规则链之间的顺序
入站:prerouting→input
出站:output→postrouting
转发:perouting→forward→postrouting
7. 规则链内的匹配顺序
按顺序依次检查,匹配立即停止(LOG策略除外),如找不到相匹配的规则,则按改链的默认策略处理
8. firewalld直接规则
(1)创建一个黑名单,并为这个黑名单创建一个链,链名为 blacklist
(2)将来自192.168.10.0/24的数据包指向这个链
(3)每分钟记录一次日志(-m limit --limit 1/min 每分钟记录一次日志)
(4)设置这个链的规则为 DROP
(5)重启 firewalld(重启或重载后生效)
(6)查看直接规则