pfSense配置基于时间的防火墙规则

基于时间的规则允许防火墙规则在指定的日期和/或时间范围内激活。基于时间的规则与任何其他规则的功能相同,只是它们在预定时间之外的规则集中实际上不存在。

基于时间的规则逻辑处理基于时间的规则时,调度计划确定何时应用防火墙规则中指定的操作。当计划未涵盖当前时间或日期时,防火墙的行为就好像规则不存在一样。例如,如果在其下面存在单独的阻止规则,则在星期六传递流量的规则将仅在其他日期阻止它。规则从上到下处理,与其他防火墙规则相同。使用第一个匹配项,一旦找到匹配项,如果规则处于计划中,则执行该操作,并且不评估其他规则。

注意:在使用计划时,规则将不会在计划时间之外生效。该规则不会撤消其操作,因为当前时间不在预定时间内。如果不考虑此行为,可能会导致客户端在计划定义的时间范围之外无意中访问。

配置基于时间的防火墙规则

必须先定义计划,然后才能在防火墙规则上使用它们。计划在防火墙>日程计划下定义,每个计划可包含多个时间范围。在以下示例中,公司希望在工作时间拒绝访问HTTP,其他时间则允许进行访问。

要添加日程计划:

  • 导航到防火墙>日程计划
  • 单击FA-加 添加打开计划编辑页面,如下图所示。
  • 输入日程表名称。这是出现在选择列表中以用于防火墙规则的名称。与别名一样,此名称只能包含字母和数字,不能包含空格。例如:BusinessHours
  • 输入计划的描述说明,例如。Normal Business Hours
  • 定义一个或多个时间范围:
    • 通过选择特定月份和日期来设置月份,或者通过单击星期几标题来设置日期。
    • 选择开始时间停止时间,控制规则在所选日期何时处于活动状态。任何一天的时间都不能跨越零点。一整天的范围从0:0023:59
    • 输入此特定范围的可选时间范围说明,例如 Work Week
    • 单击“ FA-加添加时间”将选项添加为范围
  • 单击保存

时间表可以适用于特定日期,例如2016年9月2日,或星期几到星期三等。要选择一年内的任意指定日期,请从下拉列表中选择月份,然后单击日历上的特定日期或日期编号。要选择一周中的某一天,请在列标题中单击其名称。

在这个例子中,点击周一周二周三周四至周五。无论月份如何,这将使周日至周五的时间表生效。现在以24小时格式选择此日程表的活动时间。此示例业务的营业时间为9:0017:00(下午5点)。所有时间都以当地时区为标准。


定义时间范围后,它将显示在计划编辑屏幕底部的列表中,如下图所示。


添加其他时间范围

为了扩展这种设置,星期六可能会有半天的时间来定义,或者商店可能在星期一晚些时候开放。在这种情况下,请定义相同日期的时间范围,然后为具有不同时间范围的每一天定义另一个范围。这个时间范围的集合将是完整的时间表。

保存计划条目后,浏览器将返回计划列表,如下图所示。这个日程计划现在可在防火墙规则中进行引用。

在防火墙规则中添加日程计划

要使用该日程计划创建防火墙规则,请在所需接口上创建新规则。在本示例中,添加规则来拒绝LAN接口上的LAN子网的流量从LAN子网到HTTP端口上的任意目标。在规则的高级选项中,找到“ 日程表设置并选择“ BusinessHours”计划,如下图所示。


保存规则后,日程计划将显示在防火墙规则列表中,并显示日程计划的活动状态。如下图所示 ,这是拒绝规则,并且计划列指示规则当前处于活动阻止状态,因为正在计划范围内的某个时间查看该规则。如果鼠标光标悬停在计划状态指示器上,则防火墙会显示相应提示,显示规则在当前时间的行为方式。由于这是在BusinessHours计划中定义的时间内查看的,因此会说“当前正在拒绝与此规则相匹配的流量”。如果在此规则之后存在与LAN网络上的端口80上的流量匹配的传递规则,则允许在预定时间之外允许该规则执行。


定义了规则后,应在计划时间的范围内和范围外进行测试,以确保实现所需的管理目标。

注意:默认情况下,当日程计划到期时,将清除状态以用于计划规则允许的活动连接。这会关闭规则在活动时允许的任何人的访问权限。要允许这些连接保持打开状态,请在“ 系统”>“高级,其他”选项卡上选中“计划到期时不要终止连接”