我想对来自 OS X 计算机的特定流量设置 DSCP 值。我认为正确的方法是使用 pf,但我不知道如何正确编写规则。我尝试过类似这样的方法,但当我尝试加载文件时出现语法错误:
pass out proto udp from any to any port 4321 set tos 0x20
知道正确的语法吗?
答案1
知道正确的语法吗?
OpenBSD 的 PF对于Mac OS X大多已经过时、破损、腐烂。
您正在尝试在现代 OpenBSD 的 PF 版本中使用的语法。同时,在他们在 OpenBSD 中对其进行更改之前,set-tos
只能在 -rule 中应用scrub
—OpenBSD 4.4 有它在其 中man pf.conf
,检查一下。
回到 ”OpenBSD 的 Mac OS X 版 PF 大多已过时、损坏且腐烂“。由于 OpenBSD 4.4 是第一个支持 的版本,scrub … set-tos
我们可以得出结论,Apple 移植了 PF 的版本 < 4.4(例如 4.3),该版本仍然随最近的 macOS 版本一起提供。我不知道他们是否应用了任何错误修复,但对你的问题的回答是“使用 PF 进行此操作的操作系统错误“。