Mac OS X 在pf.conf文件中引入了一个新的关键字“dummynet-anchor”,在 FreeBSD 和 OpenBSD 中没有使用。将ipfw在Mac OS X中去除10.10,如何使用“Dummynet在锚定”?
更新:规则集的哪一部分将由“dummynet-anchor”执行?
以下是我迄今为止所发现的有关该主题的信息:
dummynet您可以使用命令行工具设置配置dnctl以了解详细信息。查看man dnctl。该工具允许您配置管道和队列。每个管道/队列都有一个数字名称,以及一组属性(例如带宽、延迟、丢包率等)
手册页中的示例:
dnctl pipe 1 config bw 14Kbit/s queue 10Kbytes
Run Code Online (Sandbox Code Playgroud)
这将创建一个最大带宽为 14 kbps 的管道1和 10 KB 的积压缓冲区(或者可能是 10 KiB,该页面对此并不清楚)。
现在您只需要一种方法来告诉系统哪些网络数据包必须通过该管道,这可以使用以下命令完成pf:
dummynet in all pipe 1
Run Code Online (Sandbox Code Playgroud)
这会将所有传入流量重定向到名为 的管道1。
即使没有记录,-s选项pfctl也知道一个dummynet参数。例如,要查看Apple 开发工具中的网络链接调节器(ncl) 设置的虚拟网络条目,只需运行:
sudo pfctl -a com.apple.nlc/base -s dummynet
Run Code Online (Sandbox Code Playgroud)
这是一个示例输出:
no dummynet quick on lo0 all
dummynet in quick inet all allow-opts pipe 40269
dummynet in quick inet6 all allow-opts pipe 40269
dummynet out quick inet all allow-opts pipe 40270
dummynet out quick inet6 all allow-opts pipe 40270
Run Code Online (Sandbox Code Playgroud)
现在让我们看看它配置了哪些管道:
40269: 1.000 Mbit/s 500 ms 50 sl.plr 0.100000 1 queues (1 buckets) droptail
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
40270: 1.000 Mbit/s 500 ms 50 sl.plr 0.100000 1 queues (1 buckets) droptail
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
Run Code Online (Sandbox Code Playgroud)
这与我的配置完全匹配:
好吧,a 是什么dummynet-anchor?嗯,我认为这只是规则anchor的一个但dummynet,类似于nat-anchorsNAT(网络地址转换)规则。跑步:
sudo pfctl -sa
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
TRANSLATION RULES:
nat-anchor "com.apple/*" all
rdr-anchor "com.apple/*" all
FILTER RULES:
scrub-anchor "com.apple/*" all fragment reassemble
anchor "com.apple/*" all
DUMMYNET RULES:
dummynet-anchor "com.apple/*" all
Run Code Online (Sandbox Code Playgroud)
所以你会看到有不同类型的锚属于不同的规则部分。这些规则实际上是从哪里加载的对我来说仍然是个谜。macOS 上有一个目录/etc/pf.anchors,但这个目录只包含一个文件com.apple,并且该文件仅引用更多锚点:
#
# AirDrop anchor point.
#
anchor "200.AirDrop/*"
#
# Application Firewall anchor point.
#
anchor "250.ApplicationFirewall/*"
Run Code Online (Sandbox Code Playgroud)
搜索250.ApplicationFirewall在我的系统上找不到任何具有该名称的文件或文件夹。
所以很抱歉,这并不是你问题的真正答案,我也真的不知道答案。然而这个问题已经存在了 3 年多了,根本没有人回答它,所以我想我在这里分享我的发现,也许有人可以接受它并通过这种方式获得一些新的见解。
| 归档时间: |
|
| 查看次数: |
1508 次 |
| 最近记录: |