linux防火墙需要指定协议类型么,第1张

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,高优先级可以到优先级,低优先级到优先级需做规则过滤

区域

linux内核中网络协议的设计与实现_linux内核ping实现_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,又称为内核空间)的防火墙功能体系。

linux内核链表实现_linux内核中网络协议的设计与实现_linux内核ping实现

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----&gtmangle----&gtnat----&gtfilter

2.规则链之间的次序

入站:PREROUTING-&gtINPUT

来自外界的数据包抵达防火墙后,首先被PEROUTING链处理(是否更改数据包地址等),之后进行路由选择(判定该数据包应当发往何处);假如数据包的目标地址是防火墙本机,这么内核将其传递给INPUT链进行处理(决定是否准许通过),通过后再交给系统下层的应用程序进行相应***作

出站:OUTPUT-&gtPOSTROUTING

防火墙本机向外部地址发送数据包,首先被OUTPUT链处理,之后进行路由选择,再交给POSTROUTING链进行处理(是否更改数据包的地址等)

转发:PREROUTING-&gtFORWARD-&gtPOSTROUTING

来自外界的数据包抵达防火墙后,首先被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

本文原创地址:https://www.linuxprobe.com/lfhqjcldfhqt.html编辑:刘遄,审核员:暂无