Linux防火墙(2)—— netfilter与iptables

netfilter 与 iptables
上章讲述了Linux防火墙的分类,本章将讲述netfilter与iptables的关系。

Linux系统中的包过滤防火墙由netfilter和包过滤管理工具(iptables/firewalld)组成。

netfilter是集成于Linux内核中的一个安全框架,也被称为网络数据包过滤器。

netfilter实现包过滤防火墙的内部结构、不以程序或文件形式存在,属于“内核态”。

iptables/firewalld指用来管理linux防火墙的程序,属于“用户态”。

需要注意的是:从Linux内核2.4开始,Linux系统提供了包过虑管理工具--iptables,而之后,从Centos7发行版开始使用新的包过滤管理工具——firewalld。

iptables只支持命令行方式进行管理防火墙。

firewalld是centos7版本开始提供的新工具,除了支持命令行管理外,另支持图形化管理。

netfilter
netfilter安全框架由四表五链组成,新版本增添一个表,称为五表五链。

netfilter在内核中选取五个位置放了五个hook function(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING),而这五个hook function向用户开放,也称之为五链(chain);用户可以通过iptables/firewalld两个包过滤管理工具向五个链中写入规则(rule)。

用户设置的规则,可以按类型分成五个表(table)。

filter表:过滤规则表,根据预定义的规则过滤符合条件的数据包,确定是否放行该数据包。

nat表:地址转换规则表,英文全称network address translation的缩写,修个数据包中的源、目标ip地址或端口。

mangle:为数据包设置标记。

raw:确定是否对该数据包进行状态跟踪,可以关闭NAT表上启用的连接跟踪机制,加快封包穿越防火墙速度。

security(新加表):是否定义强制访问控制规则(MAC),由Linux安全模块(如SELinux)实现。

规则表的优先级顺序为:security -->raw-->mangle-->nat-->filter

三种报文流向:

流入本机:PREROUTING --> INPUT-->用户空间进程

流出本机:用户空间进程 -->OUTPUT--> POSTROUTING

转发:PREROUTING --> FORWARD --> POSTROUTING

你可能感兴趣的:(Linux防火墙(2)—— netfilter与iptables)