OPNsense和pfSense CE之间的详细比较

本文摘要本文翻译自国外网站,较为详细地介绍了pfSense和OPNsense的差异,供初次使用的用户参考。在过去几年,许多用户决定使用OPNsense或pfSense作为家庭网络防火墙软件,也有部分用户从pfSense迁移到OPNsense。尽管我并非pfSense专家(在从消费级路由器迈向防火墙时我选择了OPNsense),但比较这两个平台的差异能为决策提供更多信息。OPNsense已发展超过8年,我很...

本文翻译自国外网站,较为详细地介绍了pfSense和OPNsense的差异,供初次使用的用户参考。在过去几年,许多用户决定使用OPNsense或pfSense作为家庭网络防火墙软件,也有部分用户从pfSense迁移到OPNsense。尽管我并非pfSense专家(在从消费级路由器迈向防火墙时我选择了OPNsense),但比较这两个平台的差异能为决策提供更多信息。OPNsense已发展超过8年,我很好奇两者这些年的发展路径有何不同。

需要明确,本文并非断定哪一方更优,而是客观展示两者的不同之处,帮助用户做出选择。我将尽力找出pfSense与OPNsense在功能上的对应关系,但部分选项可能由于位置或命名不同而被无意忽略。本次比较的版本为OPNsense 23.1与pfSense CE 2.6。

Web 界面

pfSense 与 OPNsense 最显著的差异在于 Web 用户界面,许多用户的选择也源于此。但除了界面,还有很多值得关注的地方。许多差异都与 UI 相关,同时我也会讨论平台提供的功能差异,一部分内置于界面,另一部分则影响系统行为。

与界面最直接的区别是菜单的位置:pfSense 的菜单栏位于页面顶部,使用下拉菜单;而 OPNsense 菜单栏位于左侧,使用可折叠菜单。

pfSense与OPNsense菜单布局对比

另一个区别是 OPNsense 顶部标题中的搜索栏。你可以用它搜索 Web UI 中任何页面的标题,输入名称时会显示可选择的页面列表。这对于不熟悉菜单位置或希望快速跳转的用户来说非常实用。

OPNsense顶部搜索栏展示

OPNsense 标题栏会始终显示当前登录用户,而 pfSense 需要将鼠标悬停在“注销”按钮上才能看到。两者标题栏都有系统通知状态指示器:OPNsense 显示一个气泡,有通知时会亮起不同颜色,pfSense 则显示带警报计数的铃铛图标。

仪表板

pfSense 和 OPNsense 的“仪表板”页面类似,但默认显示的信息略有不同。我们采用默认布局进行讨论。

OPNsense与pfSense仪表板对比

仪表板:系统信息

pfSense 相比 OPNsense 多显示以下信息:

  • 当前登录的用户(OPNsense 显示在搜索栏旁的右上角)
  • “CPU类型”下的内置CPU加密信息列表(如 AES-NI),OPNsense 不显示
  • 系统/BIOS 信息(用于识别 Netgate 等硬件)
  • 硬件加密/CPU 与内核缓解功能
  • DNS服务器

OPNsense 相比 pfSense 多显示的信息有:

  • 磁盘使用情况(pfSense 需通过单独小部件查看)

值得指出的是,pfSense CE 运行在较旧的 FreeBSD 12 上,可能遇到硬件兼容性问题,例如 2.5G 网卡驱动。而 pfSense Plus 23.01 基于 FreeBSD 14,如果需要较新硬件支持,必须升级到 pfSense Plus。OPNsense 23.1 基于 FreeBSD 13。

仪表板:Netgate 服务和支持

pfSense 默认显示一个包含 Netgate 支持选项的小部件,可以移除。OPNsense 没有这类商业信息显示,但其背后也有业务支持服务。

仪表板:接口

两者“接口”小部件几乎相同,信息一致,图标略有差异。

仪表板:网关

pfSense 默认不显示“网关”小部件,但可以添加。两者显示的信息相同。

仪表板:其他小部件

默认安装下,pfSense 有 22 个小部件,OPNsense 有 17 个。

pfSense 专属而 OPNsense 缺少的小部件:

  • 强制门户状态
  • GEOM 镜像状态
  • 动态 DNS 状态
  • 安装包
  • SMART Status(OPNsense 有插件支持)
  • LAN 唤醒(OPNsense 有插件支持)

OPNsense 专属而 pfSense 缺少的小部件:

  • CPU使用率
  • Monit
  • 系统日志

仪表板布局

pfSense 默认固定两列布局,要更改列数需前往“系统 > 常规设置”,可设置为 1 到 6 列。OPNsense 允许直接在仪表板调整列数,同样支持 1 至 6 列,默认两列。OPNsense 的许多小部件还允许显示/隐藏特定项目,便于只显示关键信息。我发现在宽屏显示器上使用 3 列布局能很好地利用水平空间,减少滚动。

OPNsense仪表板3列布局示例

菜单选项

pfSense 和 OPNsense 拥有相似的顶级菜单,我先讨论相似的菜单,再说明不同之处。有些选项在两个平台中的位置不同,比如 pfsense 的“系统”菜单内的选项,可能在 OPNsense 的“防火墙”菜单中,因此差异会在相应部分介绍。

系统菜单

两者都有“系统”菜单,包含系统相关的配置选项。

系统菜单对比

高级:管理员访问

pfSense 的“系统 > 高级”默认显示“管理员访问”页面,类似设置可在 OPNsense 的“系统 > 设置 > 管理”找到。pfSense 的“反锁定”选项位于 OPNsense 的“防火墙 > 设置 > 高级”,它可防止将自己锁在界面外,建议保持启用。pfSense 的“登录保护”功能类似 fail2ban,OPNsense 中可通过安装 CrowdSec 来实现,并能获得网络范围的恶意 IP 防护。

OPNsense 还提供一些 pfSense 缺少的选项,如为 SSH 选择监听接口(可限定仅为管理接口),而 pfSense 只能在所有内部接口上开启,需另加防火墙规则。OPNsense 还内置了 Web 界面的双因素认证,pfSense 即使通过插件也无法实现。

高级:防火墙和 NAT

pfSense 的“系统 > 高级 > 防火墙和 NAT”设置,在 OPNsense 中位于“防火墙 > 设置 > 高级”和“防火墙 > 设置 > 常规”下。OPNsense 缺少“VPN 数据包处理”和“状态超时”部分。OPNsense 提供了“防 DDOS:启用 syncookies”选项,pfSense 没有,这有助于缓解 DDoS 攻击。

高级:网络

pfSense 的 IPv6 及网络接口选项分散在 OPNsense 各处:“允许 IPv6”在“防火墙 > 设置 > 高级”,“优先使用 IPv4 over IPv6”在“系统 > 设置 > 常规”,硬件卸载在“接口 > 设置”。

高级:杂项

pfSense 的“Proxy 支持”OPNsense 默认没有,可能需要插件。节能、加密硬件和 RAM 磁盘设置可在 OPNsense 的“系统 > 设置 > 杂项”找到。“计划”和“网关监控”在“防火墙 > 设置 > 高级”。

高级:可调参数

两者都有可调参数页面,pfSense 位于“系统 > 高级 > 可调参数”,OPNsense 位于“系统 > 设置 > 可调参数”。OPNsense 的列表多一列“类型”,可直观区分运行时选项和启动时选项,并且允许直接输入“默认”值进行重置。

高级:通知

pfSense 有专门的通知页面,支持邮件、Telegram、Pushover、Slack 等,这是 OPNsense 没有的功能。但 OPNsense 默认安装了 Monit 服务,可通过它发送通知。Monit 不仅能通知,还能监控进程并重启故障服务。

接口菜单

两者接口菜单有所不同,OPNsense 将 pfSense“接口分配”页面上的多个选项独立为菜单项。分配新接口后,接口名称均会出现在菜单中以便配置。

接口菜单对比

接口分配

pfSense 的接口分配页签式设计,OPNsense 将 VLAN、LAGG、网桥等分组在“其他类型”菜单下。

pfSense接口分配页面

OPNsense 的一个显著优势是可以在“接口: 分配”页面直接设置接口描述,而 pfSense 需创建后再点击接口名修改。

OPNsense接口分配页面直接填写描述

接口组

接口组在 pfSense 中位于“防火墙”菜单,而在 OPNsense 中位于“接口”菜单。两者功能相同,但 OPNsense 会在菜单中按组显示接口,非常直观;如果不希望分组,创建组时也有选项可以关闭。

OPNsense接口组菜单显示

OPNsense接口组防聚合选项

防火墙菜单

两者“防火墙”菜单包含多个相同选项。“虚拟 IP”在 pfSense 位于“防火墙”下,OPNsense 位于“接口”下。“计划”在 OPNsense 位于“防火墙 > 设置”内。OPNsense 的“防火墙”菜单还包括“日志文件”和“诊断”页面,而 pfSense 将这些放在顶部“状态”和“诊断”菜单下。

防火墙菜单对比

OPNsense 提供“类别”功能,可以给规则分配类别,用于过滤规则列表。这在规则众多时非常有用,可实现视觉分组而非功能分组。下图显示了一个规则被标记后的界面。

OPNsense防火墙规则类别示例1

选择类别后,列表仅显示该类别规则。

按类别过滤后的规则列表

我在 OPNsense 中最常使用的功能是“防火墙 > 日志文件 > 实时视图”,它能实时显示当前执行的规则,在排查允许/阻止问题时非常方便。该页面支持过滤器,并可将常用过滤保存为模板。

OPNsense防火墙实时视图

pfSense 在“状态 > 系统日志 > 防火墙”下有一个“动态视图”,也能实时显示,但功能相对基础。

pfSense防火墙动态视图

服务菜单

两者默认服务大致相同。

服务菜单对比

自动配置备份

pfSense 提供“自动配置备份”可将配置异地备份至 Netgate 服务器;OPNsense 内置 Google Drive 备份选项,并通过第三方插件支持 Nextcloud 备份。手动备份/恢复方面,pfSense 路径为“诊断 > 备份和恢复”,OPNsense 为“系统 > 配置 > 备份”。两者都会自动跟踪配置更改历史,并提供 Web 界面查看差异和恢复。

配置历史记录对比

DHCP 中继

pfSense 有独立的 DHCP/DHCPv6 中继菜单,OPNsense 将其集成在 DHCPv4/DHCPv6 配置下。

DNS 转发器/解析器

两者默认都使用 Unbound DNS 作为解析器,也可配置为转发器。pfSense 的 DNS 转发器使用 Dnsmasq,OPNsense 的相同功能位于“服务 > Dnsmasq DNS”。

PPPoE 服务器

两者都支持作为客户端,但只有 pfSense 可作为 PPPoE 服务器。

动态 DNS、IGMP 代理、SNMP、UPnP 与 LAN 唤醒

这些功能在 pfSense 中内置,在 OPNsense 中通过插件提供。

入侵检测、监控、OpenDNS 与 Web 代理

OPNsense 在“服务”菜单下默认集成:

  • 入侵检测(基于 Suricata),pfSense 需通过 Suricata 插件
  • Monit 监控服务
  • OpenDNS 集成
  • Web 代理,pfSense 需安装 squid 插件

VPN 菜单

VPN 菜单几乎相同,但 OPNsense 未在 VPN 菜单下包含 L2TP;如需使用,需前往“接口 > 点对点 > 设备”选择 L2TP。

VPN菜单对比

WireGuard 在两个平台上都通过插件提供。

帮助菜单

帮助菜单选项完全不同,但都包含“文档”和“用户论坛”链接,分别指向各自平台。

帮助菜单对比

其他菜单差异

pfSense:状态菜单

pfSense 将所有状态页面集中在一个“状态”菜单下,减少点击次数。OPNsense 将状态页面分散在相关功能下,但可以通过标题搜索栏快速跳转。

pfSense状态菜单

pfSense 的“状态 > 流量图”功能简单,一次只能查看一个接口。

pfSense流量图

OPNsense 内置了丰富的报告功能。在“报告 > 健康状况”中可查看各接口流量、包速率、WAN 连接质量、系统状态等。

OPNsense健康状况报告

“分析”页面提供所有受监控接口的合并图表,以及顶部端口和源 IP 的饼图。

OPNsense分析报告

“流量图表”页面支持多接口叠加的实时流量显示,非常适合吞吐量测试。

OPNsense实时流量图表

此外,OPNsense 还新增了“Unbound DNS”报告,显示 DNS 统计和热门允许/阻止域名,需配合 Unbound DNS 的 DNSBL 功能。该报告仍处于早期开发阶段,但可部分替代 pfSense 中 pfBlockerNG 提供的功能。

OPNsense Unbound DNS报告

pfSense 若要获得类似报告,需安装 ntopng 等插件或外部监控工具。

pfSense:诊断菜单

pfSense 将诊断工具和重启/关机等操作集中在“诊断”菜单下,菜单较长。OPNsense 将诊断页面拆分到相关功能子菜单下,如 ping 等网络工具在“接口 > 诊断”。

pfSense诊断菜单

OPNsense:Zenarmor 菜单

这是由第三方插件创建的顶级菜单,较为独特。大多数 OPNsense 插件仅添加子菜单。

OPNsense Zenarmor菜单

OPNsense:电源菜单

OPNsense 有独立的电源菜单,便于找到;pfSense 的关机和重启在“诊断”菜单下。

OPNsense电源菜单

插件

接下来比较两个平台的插件生态,并列出等效功能的位置,这对迁移用户可能有帮助。之前已提及许多内置功能,此处不再赘述。

OPNsense 在“系统 > 固件”下分离了“插件”和“软件包”两个选项卡,插件通常带 Web 配置界面,软件包则是基础程序,可能无完整界面。pfSense 将所有附加组件统一视为插件。OPNsense 的插件/软件包页面提供搜索栏,可快速查找。

OPNsense插件搜索示例

通用插件/包

两个平台共通的插件包括:

  • acme
  • apcupsd
  • bind
  • freeradius
  • frr
  • ftp-proxy
  • haproxy
  • iperf
  • lcdproc
  • lldpd
  • ahavi/mdns-repeater
  • net-snmp
  • node_exporter
  • nrpe
  • ntopng
  • nut
  • siproxd
  • stunnel
  • telegraf
  • tftp
  • tinc
  • vmware
  • vnstat
  • wireguard
  • zabbix-agent 系列
  • zabbix-proxy 系列

仅在 pfSense 中可用的插件

  • arping(OPNsense 有“接口 > 诊断 > ARP 表”)
  • arpwatch(可通过社区仓库 OPNarp 替代)
  • Backup
  • bandwidthd
  • cellular
  • Cron(OPNsense 内置于“系统 > 设置 > Cron”)
  • darkstat
  • Filer
  • haproxy-devel
  • LADVD
  • Lightsquid
  • mailreport
  • mtr-nox11
  • Netgate_Firmware_Upgrade(针对官方硬件)
  • nmap
  • Notes
  • openvpn-client-export(OPNsense 内置于“VPN > OpenVPN > Client Export”)
  • pfBlockerNG(OPNsense 通过 Unbound 黑名单实现)
  • pfBlockerNG-devel
  • pimd
  • RRD_Summary(OPNsense 内置 RRD 报告)
  • Service_Watchdog
  • Shellcmd
  • snmptt
  • snort(OPNsense Suricata 可使用 Snort 规则集)
  • softflowd
  • squid(可用其他缓存插件替代)
  • squidGuard
  • sudo(OPNsense 默认开启,位于“系统 > 设置 > 管理”)
  • suricata(OPNsense 内置于“服务 > 入侵检测”)
  • syslog-ng(OPNsense 内置)
  • System_Patches(OPNsense 可通过命令行安装补丁)
  • Tailscale(OPNsense 通过社区仓库安装)
  • zabbix-agent 部分旧版本
  • zeek(OPNsense 社区仓库可用)

仅在 OPNsense 中可用的插件

  • os-api-backup
  • os-c-icap (pfSense squid 插件可替代)
  • os-cache (pfSense squid 可替代)
  • os-chrony
  • os-clamav (pfSense squid 可集成)
  • os-collectd
  • os-crowdsec
  • os-ddclient (pfSense 已内置动态 DNS)
  • os-debug
  • os-dmidecode
  • os-dnscrypt-proxy
  • os-dyndns (pfSense 已内置)
  • os-etpro-telemetry
  • os-firewall
  • os-git-backup
  • os-google-cloud-sdk
  • os-grid_example
  • os-helloworld
  • os-hw-probe
  • os-igmp-proxy (pfSense 已内置)
  • 入侵检测内容订阅 (各类规则集)
  • os-maltrail
  • os-munin-node
  • os-netdata
  • os-nextcloud-backup
  • os-nginx
  • os-openconnect
  • os-postfix
  • os-puppet-agent
  • os-qemu-guest-agent
  • os-radsecproxy
  • os-realtek-re
  • os-redis (pfSense ntopng 包含)
  • os-relayd
  • os-rfc2136 (pfSense 动态 DNS 内置)
  • os-rspamd
  • os-sensei-agent
  • os-sunnyvalley (可安装 Zenarmor)
  • os-shadowsocks
  • os-smart (pfSense 已内置)
  • os-sslh
  • os-tayga
  • 多个 OPNsense 专用主题
  • os-tor
  • os-udpbroadcastrelay
  • os-upnp (pfSense 已内置)
  • os-virtualbox
  • os-web-proxy-sso
  • os-wireguard-go (两者都支持 WireGuard)
  • os-wol (pfSense 已内置)
  • os-xen
  • os-zerotier

OPNsense 社区存储库

OPNsense 社区提供了额外的存储库,可通过 Routerperformance 获得更多插件。社区插件及第三方插件(包括 Zenarmor)不受官方支持,系统更新时可能存在临时兼容问题。

结论

尽管还有更多细节可以对比,但我希望以上的比较能帮助你在评估 pfSense 和 OPNsense 时有所依据。两者除了 Web 界面,还有不少功能差异。最终选择哪个平台,取决于你的具体需求和对家庭网络的规划。

原文地址

觉得内容不错?我要

评论 暂无评论
暂无评论,快来抢沙发吧~