MAC OSX的防火墙从10.7以后已经更换为OpenBSD的PF了

讨论各种类UNIX,如 Linux distributions,OpenSolaris,Minix,GNU/kFreeBSD,GNU/Hard;广义的计算机与数码设备;Life,the Universe and Everything.

版主: wkx9dragon

回复
头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

MAC OSX的防火墙从10.7以后已经更换为OpenBSD的PF了

帖子 leo » 2012-04-27 12:18

Apple的默认防火墙从10.7的lion开始,换成了OpenBSD的PF,今天查看 /etc 目录才发现了,看来真是孤陋寡闻呢,:eek:

代码: 全选

$  cat /etc/pf.conf
#
# Default PF configuration file.
#
# This file contains the main ruleset, which gets automatically loaded
# at startup.  PF will not be automatically enabled, however.  Instead,
# each component which utilizes PF is responsible for enabling and disabling
# PF via -E and -X as documented in pfctl(8).  That will ensure that PF
# is disabled only when the last enable reference is released.
#
# Care must be taken to ensure that the main ruleset does not get flushed,
# as the nested anchors rely on the anchor point defined here.
#
# See pf.conf(5) for syntax.
#

#
# com.apple anchor point
#
nat-anchor "com.apple/*"
rdr-anchor "com.apple/*"
anchor "com.apple/*"
load anchor "com.apple" from "/etc/pf.anchors/com.apple"

网上的一些相关资料:
http://www.zomo.co.uk/2011/09/pf-on-os-x-10-7/
http://thenewtech.tv/it/openbsd-pf-on-mac-osx-lion
http://en.wikipedia.org/wiki/PF_(firewall)

下面的是有关PF的一些有趣的故事,踊跃参与的用户会看到该文的全部内容,不过只是第一版的,:D

OpenBSD的防火墙——PF的故事
《文章来源——The BOOK Of PF》

被大多数人简称为PF的OpenBSD的Packet Filter子系统最初在2001年夏季和秋季由Daniel Hartmeier和一部分OpenBSD的开发人员共同编写的, 并在很短的时间内取得了惊人的进展。最终在2001年12月随着OpenBSD 3.0版的发布,PF作为OpenBSD 3.0的基本系统组件出现在人们的视野里。

在此之前,另一款防火墙子系统软件IPFilter已经被非常紧密地嵌入在OpenBSD的基本系统内,但当Darren Reed突然向全世界宣布为OpenBSD使用的防火墙子系统——新的IPFilter最终不再遵循BSD许可时,OpenBSD项目显然被打了一个措手不及,当时真是急需一款新的防火墙软件。实际上,这个所谓的新许可并非如Darren Reed所描述的那样: 他的这个许可本身几乎是逐字拷贝了BSD的许可, 但唯独漏掉了允许修改代码和再发行修改版本的权利。

OpenBSD版本的IPFilter包含了很多的变化和自定义, 正因为这样,根据新的IPFilter许可这是不允许的,因此IPFilter在2001年5月29日从OpenBSD的源代码树内剔除, 而在其后的几周内OpenBSD的当前版不包含任何一款防火墙软件。

很幸运的是, 在此之前,瑞士的Daniel Hartmeier已经做了一些有限的实验,其中包括内核的网络代码修改。 他最初通过在网络堆栈中调用一小段自己写的的程序,然后让数据包通过。后来他开始考虑如何过滤数据包。再后来就是发生了IPFilter的许可危机。

PF代码的首次提交是在2001年的6月24日、星期天的19:48:58 UTC。

经过几个月认真的测试, 随着OpenBSD 3.0发行的PF版本已经具备了相当完善的包过滤功能, 而且还包含了网络地址转换功能。

在外人看来, Daniel Hartmeier和其他的PF开发人员肯定是很好地利用了他们在IPFilter代码上的经验。2002年,Daniel给USEINX提供了一份包含性能测试的数据, 这份数据显示在承受一定的环境压力时,OpenBSD 3.1上的PF性能等同甚至是超越了同样在OpenBSD 3.1上运行的IPFilter或者在Linux上运行的iptables。

此外, 经过与OpenBSD 3.0上的上一个版本的PF进行对比,结果表明多数情况下OpenBSD 3.1上的PF新代码在执行效率上要更好。 (Daniel Hartmeier的主页上提供的一篇文章描述了相关细节; 请参阅 http://www.benzedrine.cx/pf-paper.html.)

这些事情发生在几年前了, 而从那以后, OpenBSD和PF都经历了硬件和网络环境的更新换代。我最近没有看到相关的性能测试比较, 但是根据我自己还有其他部分人员的经验, PF在过滤性能上的优势还是十分明显的。 就像下面这份数据显示的那样 (主要说明了最低端设备仍然还可以发挥作用), 在我的办公室内部网络和Internet之间的网关是一台仅有384MB内存的Pentium III 450MHz 。 以前每当我想起检查它时, 根据top命令的显示结果,idle的百分比从未小于96%

很自然,PF代码对OpenBSD的姊妹BSD系统也很有吸引力。像我们我们前面介绍的那样, PF作为OpenBSD基本系统的默认packet filter后,FreeBSD项目也逐渐认可了PF, 最开始,在FreeBSD 5.3中PF是做为一个package, 现在是将其作为三个包过滤子系统之一嵌入到基本系统内。到目前为止,PF已经包含在NetBSD和DragonFly BSD中。

hyaska
铜 Cu
帖子: 311
注册时间: 2010-12-10 16:11

回复: MAC OSX的防火墙从10.7以后已经更换为OpenBSD的PF了

帖子 hyaska » 2012-04-27 13:27

NB啊,果然犀利鸟

f5b
锆 Zr
帖子: 643
注册时间: 2011-10-22 20:43

回复: MAC OSX的防火墙从10.7以后已经更换为OpenBSD的PF了

帖子 f5b » 2012-04-27 15:34

刚看了一下,还真的有
/etc/pf.conf

文件

回复

在线用户

正浏览此版面之用户: 没有注册用户 和 2 访客