pfSense plus 23.01的新功能和变化

本文摘要pfSense Plus 23.01 发布说明pfSense Plus 23.01 即将发布,这是一个定期发布的软件版本,包含新功能与错误修复。常规更新PHP 已从 7.4 升级到 8.1基础操作系统升级到 FreeBSD 14-CURRENT 作为 FreeBSD 升级的一部分,此版本移除了若干已弃用的 IPsec 算法:3DES 加密Blowfish 加密CAST 128 加密MD5 HMAC...

pfSense Plus 23.01 发布说明

pfSense Plus 23.01 即将发布,这是一个定期发布的软件版本,包含新功能与错误修复。

常规更新

  • PHP 已从 7.4 升级到 8.1
  • 基础操作系统升级到 FreeBSD 14-CURRENT
    作为 FreeBSD 升级的一部分,此版本移除了若干已弃用的 IPsec 算法:

    • 3DES 加密
    • Blowfish 加密
    • CAST 128 加密
    • MD5 HMAC 认证
  • 建议在升级前使用更强的加密方法重新配置隧道并进行测试,以确保平滑过渡。
    升级过程中,IPsec 隧道会从配置中自动移除已弃用的算法。如果隧道没有剩余的有效加密或认证选项,升级过程会将其禁用,并通知用户所作更改。
    此项变更仅影响 IPsec,不影响这些算法在其他场景的使用(例如 BGP 仍可使用 TCP-MD5 认证)。
  • 解决了 Unbound 在重新加载时长期存在的偶发崩溃。Christian McDonald 追踪到崩溃根源是 MaxMindDB Python 模块中的引用计数错误。MaxMind 的补丁以及 FreeBSD port 修订均已被提交和接受。现在可以安全地在 pfBlockerNG 中启用 DHCP 注册和 Unbound Python 模式。
  • 除 Unbound 崩溃外,Christian 还发现了 DHCP 注册和 Unbound Python 模式的内存泄漏问题。通过更新 Python 及相关库已得到缓解,但仍有进一步修复计划。
  • Netgate 1000 在 FreeBSD 14 上无法正常工作,因此无法升级到此版本。
  • 此前版本中在接口间批量复制规则可能产生重复的内部跟踪器 ID,此问题已修复,但已有重复 ID 的规则需手动纠正(例如删除后重新复制或重新创建)。

别名/表

  • 修复:别名同时包含 FQDN 和 IP 地址条目时,别名内容有时不完整
  • 修复:包含无法解析的 FQDN 条目的别名会破坏底层 PF 表
  • 修复:防火墙无法解析别名中的 FQDN 时,别名内容有时不完整
  • 新增:下载与验证 URL 别名内容时,可指定 CA 信任存储位置
  • 修复:删除别名虽会将子系统标记为“不干净”,但也会无条件重新加载过滤器配置
  • 修复:缺少对防火墙别名引用者的描述,导致在删除正在使用的别名时返回空的引用字符串

认证

  • 修复:Google LDAP 因缺少 TLS 1.3 的 SNI 而导致连接失败
  • 修复:RADIUS 认证尝试不再发送 RADIUS NAS IP 属性
  • 修复:无法将 Web 界面会话超时设置为 0 (即永不过期)
  • 更改:改进 LDAP 调试

自动配置备份

  • 新增:以“倒序”列出 AutoConfigBackup 条目的选项(最新的在最上方)
  • 新增:AutoConfigBackup 提示/标识符字段支持国际字符

备份/恢复

  • 修复:恢复期间 config.xml 中包含多个 <sshdata><rrddata> 段落时导致 XML 解析错误
  • 修复:尝试恢复 0 字节 config.xml 时显示“无法读取文件”的错误
  • 修复:无论确认对话框中选择哪一项,配置历史都会恢复修订版本

构建/发布

  • 更改:禁用 pkg 创建 txz 文件扩展符号链接的兼容性标志

强制门户

  • 修复:通过强制门户传递的流量无法在其他规则上应用限制器队列
  • 修复:凭证 CSV 输出中凭证代码前出现前导空格
  • 修复:配合限制器使用时出现 dummynet: bad switch 21! 错误
  • 修复:强制门户破坏了 MAC 地址绕过客户端的基于策略的路由
  • 修复:多个强制门户接口未正确形成门户 IP 地址列表
  • 修复:自定义徽标或背景图像的文件扩展名前多加了两个点 (..)
  • 修复:强制门户未跟踪客户端数据使用情况
  • 修复:所有强制门户用户获得相同的限制器管道对
  • 修复:已阻止的强制门户 MAC 地址未被实际阻止
  • 修复:禁用区域后,已认证的强制门户用户的规则未被删除
  • 修复:RADIUS 开始/停止计费在每次计费开始时不会重置计数器
  • 修复:强制门户未将 RADIUS 带宽限制应用于用户管道

证书

  • 修复:在 shell 中使用 curl 时未定义 CA 路径
  • 修复:从证书管理器导出 PKCS#12 文件未使用预期的加密算法
  • 修复:默认生命周期的 CRL 过期日期过长,超过 UTC 时间限制
  • 修复:ECDSA 证书续期导致摘要算法重置为 SHA1

配置后端

  • 修复:RAM 磁盘处于非活动状态时,输入验证仍在检查其大小

控制台菜单

  • 修复:如果接口已存在,在控制台更改接口 IP 地址和网关不会保存新网关
  • 修复:隐藏菜单选项 100 错误处理 HTTPS 检测

DHCP (IPv4)

  • 改进:增强 DHCP 租约列表中在线与空闲/离线条目的区分
  • 更改:清理 DHCP 服务器选项的描述
  • 新增:对静态映射中带编号的 DHCP 选项进行输入验证
  • 修复:DHCP 服务器“禁用 Ping 检查”选项在保存时未保存

DHCP (IPv6)

  • 修复:配置多个 WAN 的 DHCP6 时,应用设置不重启
  • 修复:高级 DHCP6 客户端设置仅对单个接口生效
  • 修复:“为 DHCPv6 客户端提供 DNS 服务器”设置在页面重新加载前不会显示变更值
  • 修复:不会为具有静态 IPv6 的接口创建 DHCPv6 规则

DNS 转发器

  • 修复:某些情况下 DNS 转发器拒绝来自客户端的有效重试

DNS 解析器

  • 修复:Unbound 中与 Python 模块和 DHCP 租约注册活动有关的内存泄漏
  • 修复:Unbound 在重新加载时因信号 11 崩溃
  • 修复:DNS 解析器在每个 rc.newwanip 事件期间重启,即使该接口未在解析器中使用
  • 修复:链路断开事件期间 DNS 解析器不更新配置或重新加载
  • 修复:启用 DNS over TLS 服务器功能时,DNS 解析器以非预期的源地址响应
  • 修复:services_unbound.php 页面的“网络接口”帮助文本存在错误用词
  • 更改:Unbound 切换至 Python 3.11,取代 Python 3.9

仪表板

  • 修复:如果驱动程序未附加,仪表板上的 QAT 检测结果不正确
  • 修复:APU1 硬件未正确识别当前 BIOS 版本

诊断

  • 修复:diag_ndp.php 中 NDP 表的邻居主机名始终为空
  • 更改:将多播组成员资格 (ifmcstat) 添加至 status.php

动态 DNS

  • 修复:Namecheap 动态 DNS 响应解析不正确
  • 修复:DigitalOcean 动态 DNS 更新失败,提示“错误请求”
  • 修复:Dynv6 动态 DNS 客户端更新时不检查响应码
  • 修复:DNSExit 动态 DNS 更新不再生效

过滤 DNS

  • 修复:filterdns 的解析间隔可能与配置值不匹配

FreeBSD

  • 修复:同时使用 EFI 和串行端口时无法将 EFI 控制台设为主控制台
  • 修复:CVE-2022-23093 / FreeBSD-SA-22:15.ping

网关监控

  • 修复:将网关标记为关闭不会影响使用网关组的 IPsec 条目
  • 修复:gwlb.incget_dpinger_status() 调用的函数参数不正确

网关

  • 修复:恢复的接口网关可能未按预期重新加入网关组和规则

硬件/驱动程序

  • 修复:软件 VLAN 标记在 ixgbe(4) 接口上无效
  • 修复:Intel i226 网络接口不支持手动选择的链路速度

IPsec

  • 修复:filterdns 不监视远程 IPsec 网关的 IPv6 地址变化
  • 修复:任何 SAN 为通配符时 IPsec 都会拒绝证书,而预期是仅当所有 SAN 都为通配符时才拒绝
  • 更改:status_ipsec.php 信息框在隧道已建立时仍显示“IPsec 未启用”
  • 修复:strongswan.conf 中 Split DNS 属性值的引用不正确
  • 新增:支持 IPsec ChaCha20-Poly1305 加密
  • 更改:移除已弃用的 IPsec 算法(3DES、Blowfish 和 CAST 128 加密;MD5 HMAC/哈希)

接口

  • 修复:存在 VIP 时并非总是使用主接口地址
  • 新增:支持 VLAN 0
  • 修复:带 QinQ 接口的桥在启动时无法正确设置
  • 修复:部分高级 DHCP6 客户端选项在拒绝无效输入时不通知用户
  • 更改:清理 pfSense-dhclient-script 中的过时代码
  • 修复:分配的网桥接口在启动时未配置
  • 修复:设置 IPv6 MTU 的代码可能无意中影响 IPv4 地址

OpenVPN

  • 修复:短 UDP 数据包导致 OpenVPN DCO 崩溃
  • 修复:达到配置的并发连接限制后 OpenVPN 崩溃
  • 修复:发往第一个可用隧道 IP 地址之上的 OpenVPN DCO RA 客户端流量被错误路由
  • 新增:使用 OpenVPN DCO 时支持 ChaCha20-Poly1305 和 AES-128-GCM 加密
  • 修复:GUI 允许为 OpenVPN DCO 配置不兼容的选项(TCP、压缩、TAP、net30)
  • 修复:多用户 VPN 的 OpenVPN 状态页面在无相关内容时仍显示 RADIUS 规则的信息图标

操作系统

  • 修复:/boot/loader.conf 中存在重复的 net.link.ifqmaxlen 条目
  • 修复:vmstat -mtemp 值因计算错误导致下溢
  • 修复:检索以太网规则时 PF 中的内存泄漏
  • 更改:基础系统中的 Python 3.9.15 更新至 3.9.16
  • 更改:将 Python 3.11.1 添加至基础系统

PHP 解析器

  • 新增:将 PHP 从 7.4 升级到 8.1
  • 修复:fcgicli 无法写入 nvpair 值超过 128 字节的数据包

PPP 接口

  • 修复:PPP 接口连接时服务未重启
  • 修复:PPP 接口自定义重置日期/时间的小时和分钟字段未能正确处理 0

规则/NAT

  • 修复:删除多条规则时规则分隔符位置发生偏移
  • 修复:即使从下拉菜单中选择了已定义前缀长度的条目,用户仍被强制选择 NPt 目标 IPv6 前缀长度
  • 修复:negate_networks 表在 rules.debug 中重复
  • 修复:存在多个选项时,NPt 目标 IPv6 前缀列表的每一行还包含了前一行的网络
  • 修复:使用复制(而非克隆)功能复制防火墙规则时,无意中将接口 address 转换为接口 net
  • 修复:PF 无法加载新规则集
  • 修复:来自防火墙的 TCP 流量只能使用默认网关
  • 修复:easyrule CLI 脚本存在多处错误和不良行为
  • 更改:更正在生成的防火墙规则集中 DHCP 客户端规则的描述
  • 修复:同时复制多条规则会导致新规则具有重复的追踪器 ID
  • 修复:使用按钮方式切换 NAT 规则时,不会一同启用/禁用对应的防火墙规则
  • 修复:使用端口别名创建端口转发规则时出错

流量整形 (ALTQ)

  • 新增:ALTQ GUI 支持 Broadcom Netextreme II (bxe) 接口

UPnP/NAT-PMP

  • 修复:UPnP/NAT-PMP 状态页面不显示所有端口映射

用户证书/权限

  • 修复:RADIUS 认证不支持 IPv6

Web 界面

  • 修复:登录页面中不必要的链接标签
  • 修复:“深色”主题中,选项列表中已选与未选元素的区分度不足
  • 修复:在不做任何更改的情况下加载/保存管理 GUI 设置时,VGA 安装默认会将串行设为主控制台
  • 更改:更正拼写错误
  • 修复:“深色”主题对禁用和启用的输入字段使用相同颜色
  • 修复:system_advanced_firewall.inc 中某些字段的输入验证引用了不正确的变量
  • 更改:更新外部 HTTP/HTTPS 链接
  • 修复:深色主题下表格行选择的对比度不佳
  • 修复:更改 GUI 端口后,保存时浏览器未被重定向到新的端口

觉得内容不错?我要

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