![Altq 限制不适用于 UDP 传输](https://linux22.com/image/513022/Altq%20%E9%99%90%E5%88%B6%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%20UDP%20%E4%BC%A0%E8%BE%93.png)
我有一个 OpenBSD 服务器,充当路由器/防火墙,其中有下面显示的 yhr 数据包过滤规则集、一个 Linux 服务器和一个 Linux 客户端。
当通过 TCP 传输文件(使用 netcat)时,会应用限制(例如示例中的 100mbit 限制),但当通过 UDP 传输数据时,不会应用限制;无论我设置的队列带宽限制如何,文件总是花费相同的时间(我甚至可以完全关闭队列,仍然会得到相同的结果)。
为什么排队规则不适用于 UDP 包?
使用的规则:
#queue rules
altq on { $int_if, $ext_if } cbq bandwidth 100Mb queue { def, low }
queue def bandwidth 0Mb cbq(default)
queue low bandwidth 100Mb cbq
#Passrules test
pass out quick from $int_if to $ext_if queue low
pass in quick from $ext_if to $int_if queue low
pass out quick from $ext_if to $int_if queue low
pass in quick from $int_if to $ext_if queue low
我想这可能与我之前问过的一个问题有关,但由于这更像是一个单独的问题,我想应该用一个单独的问题来回答这个问题
答案1
请发布输出pfctl -vsq
,pfctl -vsr
以便我们可以看到规则是否正确匹配。