动态变量概述
变量构成动态配置文件的动态组件。您可以使用动态配置文件中的变量作为动态获取或动态生成值的占位符,动态配置文件用于配置用户接口和配置用户。
动态变量的工作原理
动态变量是您在动态配置文件中定义和放置的数据占位符。当接口上发生特定事件时(例如,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。要进行配置,请在层次结构级别包含[dynamic-profiles profile-name variables variable-name]该uid-reference语句。例如,如果变量$in-filter从 RADIUS 接收到 “filter1” 的值,则使用名为 $filter 的过滤器定义。