Linux防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在linux内核中
Netfilter采用模块化设计,具有良好的可扩展性,提供扩充各类网路服务的结构化底层框架。Netfilter与IP合同栈是无缝契合,并容许对数据报进行过滤、地址转换、处理等***作
一、Linux防火墙基础
Linux的防火墙体系主要工作在网路层,针对TCP/IP数据包施行过滤和限制,属于典型的包过滤防火墙(或称为网路层防火墙)。
彰显在对包内的IP地址、端口等信息的处理上
Linux的防火墙基于内核编码实现,具有十分稳定的性能和极高的效率,也因而获得广泛的应用
防火墙区域(zone)
过滤规则集合:zone
一个zone一套过滤规则,数据包经过某个zone进出站,不同zone规则不同,fierwalld将网卡对应到不同zone,默认9个区域(CentOS系统默认区域为public),有优先级linux移植马哥linux,高优先级可以到优先级,低优先级到优先级需做规则过滤
区域
public(公共)
dmz(非军事区):内外网之间的一层网路区域,主要管理外网到内网的安全限制/访问规则
trusted(信任)
1.防火墙工具介绍
netfilter/iptables:IP信息包过滤系统,它实际上由两个组件netfilter_和iptables组成。主要工作在网路层,针对IP数据包,彰显在对包内的IP地址、端口等信息的处理。
1.iptables
iptables是一种拿来管理Linux防火墙的程序,它使插入、修改和删掉数据包过滤表中的规则显得容易,一般坐落/sbin/iptables目录,属于“用户态”(User.Space,又称为用户空间)的防火墙管理体系。
iptables是基于内核的防火墙,其中外置了raw、mangle、nat和filter四个规则表。表中所有规则配置后,立刻生效,不须要重启服务。
核心意义:控制不同网路之间的数据包/流量数据的访问规则/约束
filter
netfilter是内核的一部份,由一些数据包过滤表组成,不以程序文或文件的方式存在,这种表包含内核拿来控制数据包过滤处理的规则集,属于“内核态”(KernelSpace,又称为内核空间)的防火墙功能体系。
2.iptables的四表五链
iptables的作用是为包过滤机制的实现提供规则(或称为策略),通过各类不同的规则,告诉netfilter对来自个别源、前往个别目的或具有个别合同特点的数据包应当怎样处理
iptables采用了表和链的分层结构,所以它会对恳求的数据包的榆林数据进行剖析,依据我们预先设定的规则进行匹配来决定是否可以步入主机。
其中linux内核中网络协议的设计与实现,每位规则表相当于内核空间的一个容器,按照规则集的不同用途界定为默认的四个表linux内核中网络协议的设计与实现,在每位表容器内又包括不同的规则链,按照处理数据包的不同时机界定为五种链
表为处理动作(***作指令)
链为具体位置
1.规则表
表的作用:容纳各类规则链
表的界定根据:防火墙规则的作用相像
1.4个规则表
raw表:确定是否对该数据包进行状态跟踪
mangle表:为数据包设置标记
nat表:更改数据包中的源、目标IP地址或端口
filter表(默认表):确认是否放行该数据包(过滤)(核心)
2.规则链
**规则的作用:**对数据包进行过滤或处理
**链的作用:**容纳各类防火墙规则
**链的分类根据:**处理数据包的不同时机
1.5种规则链
INPUT:处理入站数据包,匹配目标IP为本机的数据包
OUTPUT:处理出站数据包,通常不在此链上做配置
FORWARD:处理转发数据包,匹配流经本机的数据包
PREROUTING链:在进行路由选择前处理数据包,拿来更改目的地址,拿来做DNAT。相当于把外网服务器的IP和端口映射到路由器的内网IP和端口上
POSTROUTING链:在进行路由选择后处理数据包,拿来更改源地址,拿来做SNAT。相当于外网通过路由器NAT转换功能实现外网主机通过一个网段IP地址上网
3.默认表、链的结构示意图
在这儿插入图片描述
在iptables的四个规则表中,mangle表和raw表的应用相对较少
在iptables的五个规则链中,通常用input比较多(限制步入),output用的比较少,forward通常用在代理服务器上
4.数据包过滤的匹配流程
1.规则表之间的次序
raw---->mangle---->nat---->filter
2.规则链之间的次序
入站:PREROUTING->INPUT
来自外界的数据包抵达防火墙后,首先被PEROUTING链处理(是否更改数据包地址等),之后进行路由选择(判定该数据包应当发往何处);假如数据包的目标地址是防火墙本机,这么内核将其传递给INPUT链进行处理(决定是否准许通过),通过后再交给系统下层的应用程序进行相应***作
出站:OUTPUT->POSTROUTING
防火墙本机向外部地址发送数据包,首先被OUTPUT链处理,之后进行路由选择,再交给POSTROUTING链进行处理(是否更改数据包的地址等)
转发:PREROUTING->FORWARD->POSTROUTING
来自外界的数据包抵达防火墙后,首先被PREOUTING链处理,之后再进行路由选择;假如数据包的目标地址是其他外部地址,则内核将其传递给FORWARD链进行处理(容许转发、拦截或遗弃),最后交给POSTROUTING链进行处理(是否更改数据包的地址等)
3.规则链内的匹配次序
按次序一次复查,匹配即停止(LOG策略例外)
若找不倒相匹配的规则,则按该链的默认策略处理
在这儿插入图片描述
Windows10与Linux一块网卡,配置为192.168.子网,Linux一块网卡配另外一公网的IP地址。暂取10.1.x.y
在Linux机运行路由功能,让找192.168子网的数据包,从10.1网络由到目的192.168网关,反之亦然。
#route192.168.0.010.1.x.y
本文原创地址://lrxjmw.cn/lfhqjcldfhqt.html编辑:刘遄,审核员:暂无