我想在我的 Mac OS X 中微调防火墙规则,我的意思是没有 GUI。
我来自 Linux 世界,习惯于手动微调我的防火墙,完全控制每条规则,在每个 IP 或每个 MAC 的基础上添加过滤规则等等......
是否有可能(当然,我希望如此)以及如何在 Mac OS X 中满足这一需求?
我想找到类似于我在 Linux 中非常强大和可靠的“Shorewall”脚本的东西
在此先感谢大家会给我一个小费。
我想在我的 Mac OS X 中微调防火墙规则,我的意思是没有 GUI。
我来自 Linux 世界,习惯于手动微调我的防火墙,完全控制每条规则,在每个 IP 或每个 MAC 的基础上添加过滤规则等等......
是否有可能(当然,我希望如此)以及如何在 Mac OS X 中满足这一需求?
我想找到类似于我在 Linux 中非常强大和可靠的“Shorewall”脚本的东西
在此先感谢大家会给我一个小费。
我建议您查看这个相关问题以进行讨论
ipfw
,即使您说您不需要 GUI 工具,也值得将WaterRoof作为免费配置实用程序进行研究。Mac OS X v10.5 实际上有两个防火墙,ipfw(您可能习惯使用的包过滤防火墙)和 AppFirewall(又名 alf,它过滤试图侦听传入流量的程序)。AppFirewall 是 v10.5 中的新功能,并且是唯一一个 GUI 处理的(除了在高级模式下运行的 OS X Server 上——具有 ipfw 的 GUI)。AppFirewall 不是非常可配置的,它基本上具有程序列表以及是否允许它们侦听连接。如果要查看其配置,请使用
可以使用
sudo defaults write
您喜欢的任何其他 plist 编辑器(或文本编辑器,只要文件是 text/xml 格式;如果不是,请使用 `plutil -convert xml1' 转换它)来完成编辑。但是,听起来您真正想要的是包过滤防火墙。没问题,两者都可以并行运行(实际上是串行运行——流量只有在通过两个防火墙后才能进入)。因此,您可以根据需要继续配置 ipfw(使用WaterRoof,或构建自己的脚本来配置它并使用 launchd 将其关闭,或其他),而不必担心干扰常规防火墙。
顺便说一句,我突然想到我所说的 GUI 不接触 ipfw 有一个例外:如果您打开 Internet 共享(在系统偏好设置的共享窗格中),它会激活 ipfw 以通过地址转换器转移数据包。如果你想使用这个功能,我不知道如何使它和手动 ipfw config 和平共处;它的设置根本不可配置。
也许看看这个示例 ipfw 规则集以开始微调 ipfw:
http://codesnippets.joyent.com/posts/show/1267