隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时有规则定义的行为进行处理的一组功能的组件。 ## 一、netfilter Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在Linux内核中 Netfilter在内核中选取五个位置放了五个hook(钩子)function(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING),而这五个hook function向用户开放,用户可以通过一个命令工具(iptables、firewalld、nft)向其写入规则 ##### 1、报文流向 ![](https://cdn.nlark.com/yuque/0/2024/png/35086385/1704812963734-d016fdd5-8ddd-4003-8a8f-bb4db48b04de.png#averageHue=%23fefefe&clientId=ueda3bb65-2580-4&from=paste&id=uac75e3e7&originHeight=564&originWidth=1062&originalType=url&ratio=1.25&rotation=0&showTitle=false&status=done&style=none&taskId=u4f7a53be-369b-4c76-b603-be3b9703900&title=) 数据包沿着链传输,iptables有5个链:PREROUTING, INPUT, FORWORD, OUTPUT, POSTROUTING,可以想象成5个关卡,每个关卡都有很多规则,也可能没有规则。 流入本机:PREROUTING —>INPUT—>用户空间进程 流出本机:用户空间进程 —>OUTPUT—>POSTROUTING 转发:PREROUTING —>FORWARD —> POSTROUTING ## 二、防火墙工具介绍 ##### 1、iptables ##### 2、firewalld CentOS7使用的防火墙工具,调用底层netfilter ##### 3、nftables CentOS8及ubuntu22.04使用的防火墙工具,由netfilter项目组开发