动态变量概述
变量构成动态配置文件的动态组件。动态配置文件中的变量用作动态获得或动态生成的值的占位符,动态配置文件使用这些值来配置订阅者接口和调配订阅者。
动态变量的工作原理
动态变量是您在动态配置文件中定义和放置的数据占位符。当接口上发生特定事件(例如,DHCP 客户端访问接口),动态配置文件将从以下三个来源之一(接收传入客户端数据包的接口、外部配置的服务器(例如 RADIUS)或与每个用户可配置的变量关联的值)获取数据以填充这些占位符。
为方便起见,Junos OS 提供了可在动态配置文件中使用的预定义变量。其中大多数变量都与直接从接收传入客户端数据包的接口获取的接口特定数据相关(例如,接口名称、接口单元值等)。当客户端访问接口时,路由器软件提取必要的接口数据,将此数据传播到动态配置文件,然后使用动态配置文件为访问客户端配置接口。
您可以在层级为单个动态配置文件 [dynamic-profiles profile-name variables]
定义用户定义的变量。在此层次结构级别,您可以在显示在动态配置文件正文中的变量值(例如)与在外部配置的服务器(例如 $junos-igmp-version
,在 RADIUS 服务器上管理的 RADIUS VSA)或定义为部分中的值 variables
进行管理的调用值相关联的数据之间建立关联。当接口上发生事件以触发接口的动态配置文件实例化时,Junos OS 在订阅者身份验证过程中从外部服务器(例如,从 RADIUS 身份验证和授权 VSA)获取每个变量的值。在运行时,变量将替换为这些实际值,并用于配置用户接口。
预定义变量的默认值
您可以选择为许多预定义变量配置默认值。Junos OS 在以下情况下会使用默认值:
当外部 RADIUS 服务器不可用时
当 RADIUS 服务器返回的 VSA 不包含预定义变量的值时
参数化过滤器的唯一标识符 (UID)
参数化过滤器在为服务创建的动态配置文件中使用唯一标识符 (UID)。通过生成的 UID,您可以为同一变量名称的过滤器识别和配置单独的参数值。此外,分配 UID 可提高路由器的性能。
对于服务配置文件,您可以通过在[dynamic-profiles profile-name variables variable-name]
层次结构级别包含uid
语句来请求为用户定义的变量生成 UID。然后,在过滤器中引用变量名称。
要在包含相同参数和标准类型的多个变量的动态配置文件中启用特定过滤器的选择,必须指示该变量指的是 UID。要配置,请在 uid-reference
层次结构级别包含语句 [dynamic-profiles profile-name variables variable-name]
。例如,如果变量 $in-filter
从 RADIUS 接收“filter1”的值,则使用名为 $filter 的过滤器定义。