如何在 Mac 中禁用反向路径过滤器 rp_filter

如何在 Mac 中禁用反向路径过滤器 rp_filter

我正在关注

Ubuntu Linux - 两个接口,同一子网,不同的 VLAN - MAC/ARP 问题

# sysctl -w net.ipv4.conf.eth1/102.rp_filter=0
# sysctl -w net.ipv4.conf.eth1/103.rp_filter=0

但这在 Mac 上不起作用。它给出 net: class is not implemented

在 Mac 上如何做

答案1

您所描述的内容在 RFC3704 中。Apple 是基于 BSD 的操作系统,与 Linux 仍有很大不同。在 BSD 中,他们不会将此设置保留在内核中,而是保留在 PF 中。据我所知,Apple 假设一切都处于路由对称的环境中。

使用过滤规则中的 urpf-failed 关键字进行特定设置:

block in quick from urpf-failed label uRPF

您将需要将其替换为:

pass in quick from urpf-failed label uRPF

Apple 并没有让这变得简单或明显。你需要使用 URPF 来实现这一点。在 Mac 上处理 PF 最简单的方法是使用 Icefloor (http://www.hanynet.com/icefloor/) 或 Murus (http://www.murusfirewall.com)我无法测试这一点。但希望这能为您指明正确的方向。

相关内容