这篇文章简单介绍了 pfSense 和 OPNsense 的历史和不同特点,不同的用户可以根据需要选择其中之一。
历史
OPNsense® 是一款基于 FreeBSD 10 的年轻防火墙操作系统,它一开始作为 pfSense® 的一个分支,都是从 m0n0wall® 出来的一个分支。它创立于 2015 年 1 月,2015 年 1 月 2 日,它的官方网站上发布了第一个版本:15.1。OPNsense® 版本分别代表年份(例 15)和月份(例如 1)。因此,版本 15.1 表示 2015 年 1 月,每年有两个主要版本:1 月和 7 月。
基于 FreeBSD 的 pfSense® 也是 m0n0wall® 的一个分支,在 2004 年 9 月由 Chris Buechler 和 Scott Ullrich 负责,用以克服该嵌入式系统的一些局限性。m0n0wall® 是一个嵌入式防火墙;它的功能很强大,但可扩展性受到限制,因为操作系统完全在 RAM 中执行。pfSense® 这个名字的由来,可以看看这篇博文。
m0n0wall® 项目于 2015 年 2 月 15 日永久终止。其创始人 Manuel Kasper 鼓励所有用户使用 OPNsense®。
为什么要分支
OPNsense® 开发商已经参加了多年的 pfSense® 项目,但是,在 2014 年,因为想做出一些与众不同的事情,他们决定创建自己的项目,以更好地反映他们自己的需求。一开始分支的原因在技术方面,主要是安全性和代码质量。但最后,分支是由于 pfSense® CE 所做的许可证更改而引起的,这引起了社区白领们的失望。
如果您希望了解分支原因的更多详细信息,请参阅以下链接:
许可证
OPNsense®:许可证
它在一个名为 BSD 2-Clause “Simplified” 或 “FreeBSD” 许可 的 OSI 认可的开放源代码许可下发布。
pfSense®:许可证
我们来谈谈这个讨论得很多的许可证。
pfSense® 在 2014 年使用 ESF 许可证更改了它的许可证,该许可证是四项许可证(原始“BSD许可证”)。你可以在较旧的软件版本的 COPYRIGHT 文件中找到此许可证信息。
最近它又被替换了,现在也在 OSI 许可的 Apache License 2.0 下发布。
所有希望为 pfSense® 项目贡献力量的人都必须订阅并以电子方式签署 ICLA(个人贡献者许可协议)。
如果您希望获得更多相关信息,可以查看以下链接:
在 Wikipedia 网页下方,其中发布了一些有关许多开源的比较表和免费许可证:比较许多开源和免费许可证的表格。
技术差异
OPNsense® 宣称几乎所有的代码都被重写了,只保留了 10% 的一小部分仍然与他的哥哥共享,并解决了许多 pfSense® 的内核问题。
OPNsense®:Phalcon
新的图形用户界面是用 Phalcon PHP 框架编写的,据我们所知,它是市场上速度最快的开源框架。选择尝试使用该系统的用户可以使用这种新设计,该设计结合了高效的搜索系统(真正有用且功能强大)以及一个有趣的模块,称为“系统健康”。该模块是交互式的,可以让您在任何分析过程中获得图形反馈。有助于更快、更简单地查找问题或只是查看图表。进入系统健康状态后,可以隐藏视图中的一些条目,并使用图形光标/焦点(图形下方的右下角)对相关时间范围进行缩放。最后,我们可以以 CSV 格式从表格中导出数据(显示在激活 Show Table On 的图表下方)。这里有一些截图显示了这个有趣的形式。


pfSense®:Bootstrap
pfSense® 从 2.3 版开始,通过将所有内容转换为 Bootstrap 引入了新外观。页面和菜单的布局保持不变,方便已经熟悉“旧”GUI 的众多用户使用新系统。这里可以找到在开发的最后阶段发布的图库。
OPNsense®:嵌入式 IPS
从 16.7 版(2016 年 7 月 28 日发布)开始,有望对称为 Inline Intrusion Prevention 的 IPS 系统进行更改。不仅限于阻止 IP 或端口,还可以检查数据包,并且当它检测到某种类型的流量(或连接)时,数据包/连接会在到达发送方之前立即被丢弃/停止。基于 Suricata 使用 Netmap 来提高性能并降低 CPU 利用率。系统使用规则集,黑名单和指纹打印。欲了解更多信息,请访问这里。
pfSense®:IPS
pfSense 上可以安装 Snort 插件,Snort 是一个开源(最近由思科购买)工具,它能够实时在 IP 网络上执行流量分析,执行协议分析,内容搜索/匹配,并可用于检测各种攻击和探测,如缓冲区溢出、隐形端口扫描、CGI 攻击、SMB 探测、操作系统指纹尝试等等。Snort 和 Suricata 功能比较,可以参阅这里。
OPNsense®:更新
每周都会发布安全更新来适应新的威胁。
pfSense®:更新
pfSense® 会经常发布更新,但频率没有 OPNsense 高。从 2.3 开始,已经将底层系统转换为 FreeBSD® pkg,从而允许单独更新系统的某些部分,而不是单独更新过去的所有更新。
社区
这是两个项目之间的主要区别之一。与 pfSense® 政策相反,OPNsense® 不支持创建和安装第三方插件。OPNsense® 开发人员坚持这一选择,以避免可能的代码缺陷。详情见请点击这里。
OPNsense®:社区
OPNsense® 取消了插件并引入了一个插件系统。所有想要参与项目的人都可以通过点击这里了解更多详细信息。
pfSense®:社区
正如前面提到的那样,社区必须签署一个 ICLA,但可以像过去几年一样做出贡献。
有关上述信息的更多信息,请参阅以下链接:
OPNsense® 与 pfSense®:功能比较
| 特征 | OPNsense® | pfSense® |
|---|---|---|
| 防火墙 | 状态检查 | 状态检查 |
| 基于Web的图形界面 | 基于 Phalcon PHP 框架的 Bootstrap | *从 2.3 迁移到 Bootstrap |
| 安装安装向导 | 是 | 是 |
| 可配置仪表板 | 是 | 是 |
| IPv4 和 IPv6 支持 | 是 | 是 |
| 无线接入点 | 是 | 是 |
| 无线客户端支持 | 是 | 是 |
| 设置和筛选/隔离多个 | – | 是 |
| 接口(LAN/DMZ等) | 是 | 是 |
| 流量管理 | 是 | 是 |
| 状态表控件 | 是 | 是 |
| NAT | 是 | 是 |
| 冗余/高可用性 | 是 | 是 |
| 多WAN支持 | 是 | 是 |
| 服务器入站负载平衡 | 是(虚拟服务器设置) | 是 |
| 网络诊断工具 | 有 | 有 |
| [ping] | 是 | 是 |
| [跟踪路由] | 是 | 是 |
| [通过GUI进行端口测试] | 是 | 更多与包]如 nmap |
| VPN | ||
| [IPsec(包括第2阶段NAT)] | 是 | 是 |
| [OpenVPN] | 是 | 是 |
| [L2TP] | 是(tramite 插件) | 是(tramite 插件) |
| [PPPoE] | 是(tramite 插件) | 是(tramite 插件) |
| [PPTP] | 有(不认为安全) | 无(因不确定而被删除) |
| RRD图 | 否(系统健康) | 是 |
| 实时接口流量图 | 是 | 是 |
| 动态 DNS | 是 | 是 |
| 入网门户 | 是 | 是 |
| DHCP 服务器和中继(IPv4 和 IPv6) | 是 | 是 |
| 命令行 shell 访问 | 是 | 是 |
| 局域网唤醒 | 是 | 是 |
| 内置数据包捕获/嗅探器 | 是 | 是 |
| 备份和恢复 fw 配置 | 是 | 是 |
| 通过 Web GUI 编辑文件 | 是 | 是 |
| 虚拟接口: | ||
| [VLAN] | 是 | 是 |
| [LAGG / LACP] | 是/否 | 是/是 |
| [GIF] | 是 | 是 |
| [GRE] | 是 | 是 |
| [PPPoE / PPTP / L2TP / PPP WAN] | 是/是/是/是 | 是/是/是/是 |
| [QinQ和网桥] | 是 | 是 |
| 缓存 DNS 转发器/解析器 | 是 | 是 |
| 可以运行在许多虚拟化环境中。 | 是 | 是 |
| 代理服务器 | 是 | 使用插件 |
| IPS | 是(基于 Suricata) | SNORT(扩展插件) |
| IDS | 是(基于 Suricata) | SNORT(扩展插件) |
| 安全更新 | 每周 | 不定期发布修补版本 |
| Raid 软件 | 非正式支持* | 全面支持 |
pfSense® VS OPNsense:实际表现
为了有一个全面的比较,我们决定现场测试一些系统性能。我们选择在两个防火墙入口后面连接的两台主机之间进行文件传输测试。所使用的测试网络图如下:

从 Host1 到 Host2 的流量通过两个防火墙系统,在这两个防火墙系统上我们为所有测试设置了相同性能的硬件。测试过程中记录了以 Mbps 报告的数值:
- 通过 OpenVPN
- 通过 IPSec VPN
- 通过直接路由
两种防火墙在所有情况下的表现都一样。以下是测试结果:
| 吞吐量 | OPNsense® | pfSense® |
|---|---|---|
| 文件传输 OpenVPN | 40-42 Mbps | 40-42 Mbps |
| 文件传输直接(路由) | 150-330 Mbps | 150-330 Mbps |
| 文件传输 IPSec VPN | 150 Mbps | 150 Mbps |
硬件设备配置指南对 OPNsense® 和 pfSense 都有效。可以点击这里查看。
结论
在网络上你可以看到许多针对这两个防火墙优缺点的各种评论。两者之间的竞争对于项目和最终用户都是有利的,无论你选择哪一种防火墙,他们都会是一个好产品。除了已经描述的微小差异之外,两个防火墙非常相似。系统性能基本相同,都是从同一个操作系统派生。
在硬件兼容性方面,我们没有注意到特别的差异以及特性:差不多有 90% 是相同的。从图形上看,OPNSense® 比 pfSense® 更好,菜单更加直观。
或许在未来,两者的差异会更加明显,那么选择另一种解决方案相当困难。你如果在意更好看的图形布局、更具有吸引力和更令人满意的菜单,那么选择 OPNsense®;如果你在意更多经验的积累、优秀的社区和更好的声誉,那么选择 pfSense®。
相反,让我们感到有点困惑的是,pfSense® 和 Community 徽标下的社区版铭文所执行的持续许可证类型修改:将来是否会有不同的政策?我们拭目以待。
其他
Scott Ulrich 和 Chris Buechler 于 2016 年 7 月 28 日正式离开 pfSense® 项目,之后他接受了 Ubiquiti Networks 的首席工程师职位。
觉得内容不错?我要