此Iptables规则在MacOS中的对应规则

Corresponding rules in MacOS for this Iptables rules

我需要在 Host-Only 模式下为 Vmware fusion 7 下的 VM 提供 Internet 访问权限。我知道如何在 Linux 中使用以下 IPtables 规则来做到这一点:

sysctl -w net.ipv4.ip_forward=1

iptables -A FORWARD -o eth0 -i vboxnet0 -s 192.168.56.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE

但我不知道如何在 MacOS Sierra 中执行此操作。有帮助吗?

提前致谢!

您应该在 macos(或 OS X)中查看配置 pf(数据包过滤器),它自 Lion 以来就已包含在内。

它与你习惯的有很大不同,所以会有一个学习曲线。

pf 起源于 OpenBSD。他们提供的信息包括有关如何编写 pf 规则的示例。

https://www.openbsd.org/faq/pf/config.html#config

将它用于 NAT 有它自己的手册: https://www.openbsd.org/faq/pf/nat.html

要开始 mac: http://krypted.com/mac-security/a-cheat-sheet-for-using-pf-in-os-x-lion-and-up/有点老了,还是要入手。

我不知道 vmware fusion 如何在 mac 上进行联网(parallels 往往会添加大量您在 mac 上看到的接口),我将从简单的示例开始,慢慢成长为更复杂的设置。

我在 apple.stackexchange.com 中问过同样的问题,这里是解决方案:

https://apple.stackexchange.com/questions/265237/corresponding-ipfw-rules-in-macos-for-this-iptables-rules/265298#265298