本章主要讲如何进行连接标记和包标记,可以用来做队列Queue调用。

那么如何进行包标记,我们先理解一下自己的需求。

1.标记DNS连接和包(双向)

2.标记我们192.168.11.0/24网段的所有连接(双向)

一、操作流程:

1.标记DNS上传连接

那么这时候我们先打开mangle,点击新建一个规则,chain选择Prerouting

在动作里面使用标记连接,连接标记为DNS_U_conn,并添加备注为“DNS上传链”


此时我们就完成了对内网向PPPOE拨号发送DNS请求的连接标记了。


2.把DNS上传连接标记变成包标记

点击新加,再创建一个规则。Chain选Prerouting


在动作里面标记为包标记。标记为DNS_U_P,并添加备注为“DNS上传包”!


完成了上传包标记后,我们需要去掉继续匹配passthrough,省CPU资源。

这时候我们就完成了对上传的DNS连接标记和包标记的操作了。


3.标记DNS下载连接。

新建一条Mangle连接,这次选择forward


在动作里面使用标记连接,连接标记为DNS_D_conn,并添加备注为“DNS下载链”


4.把DNS上传连接标记变成包标记

新建一个mangle连接,


在动作里面标记为包标记。标记为DNS_D_P,并添加备注为“DNS下载包”!


二、标记所有的连接

按照上面的操作,建立另外四个mangle规则

上传连接标记为ALL_U_conn,保留继续匹配

上传包标记为ALL_U_P,去掉继续匹配

下载连接标记为ALL_D_conn,保留继续匹配

下载包标记为ALL_D_P,去掉继续匹配


问题答疑:

1上传用prerouting,下载用forward,这是为什么?

因为上传时候需要经过网关NAT,形成映射表。下载时候直接就通过NAT映射表回送数据,走高速路,不需要经过网关!


2.这样子的话调用QUEUE队列处理时候岂不是会限制了Ether4的速度?

是的,所以我们可以把Ether4挂到一个Bridge接口上面,就不会限制Ether4的速度了,本例只是为了做个连接标记和包标记示范。