防火墙Mangle-连接标记和包标记-从零开始学RouterOS系列09

本章主要用途:连接标记和包标记的关系

QOS里面的连接标记,对于主要是对于符合规则的数据包进行归类,用于其他模块的调用,如常见的队列Queue,策略路由,PCC多拨等。我们先讲解一下连接标记和包标记,这是为了后面的队列树做前提。

首先连接是什么?当我们发起一个请求的话,请求网站提供图片下载,就是一条连接。

那么图片很大,需要很多次数据包才能下载完成。

这就是连接和数据包的关系。一个连接可能含有一个以上的数据包。

在ROS里面,我们可以直接对数据包进行标记,如下面命令:

/ip firewall mangle

add protocol=tcp dst-port=80 src-address=192.168.11.0/24 out-interface=ether4 chain=forward action=mark-packet new-packet-mark=test

webp

webp

可以看到这条命令,是关于包标记的,这时候防火墙就会先匹配

扫描二维码关注公众号,回复: 6990036 查看本文章

1.是否TCP协议?

2.目的端口是否80?

3.源地址是否192.168.11.0/24?

4.出去的接口否ether4?

这样对每个数据包都要匹配四次。在流量大的时候,严重拖累的CPU。

所以正常的流程就是先标记连接,再把连接标记成为包标记。

如下面的两条命令:

/ip firewall mangle

add protocol=tcp dst-port=80 src-address=192.168.11.0/24 out-interface=ether4 chain=forward action=mark-connection new-connection-mark=test passthrough=yes


webp


webp

add connection-mark=test chain=forward action=mark-packet new-packet-mark=test

webp

webp

现在,第一条命令检查第一个数据包后匹配后,并设置连接标记。

1.是否TCP协议?

2.目的端口是否80?

3.源地址是否192.168.11.0/24?

4.出去的接口否pppoe-out1?

此后,只需要检查一下每条连接的第一个数据包就可以。第二条命令对于属于这条连接里面的每个后续数据包,直接快速进行包标记,而无需检查每个数据包。

由此可见,正确的标记姿势,可以获得更高的路由器处理效率!


猜你喜欢

转载自blog.51cto.com/13796759/2428083