我正在关注
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)我无法测试这一点。但希望这能为您指明正确的方向。