Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:基于简单接口配置创建复杂配置

此提交脚本示例使用巨集自动扩展简单接口配置。

要求

此示例使用运行 Junos OS 的设备。

概述和提交脚本

此示例使用提交脚本和巨集,通过生成 瞬态更改 来自动扩展简单接口配置,该更改分配默认封装类型,在接口上配置多个路由协议,并应用多个配置组。Junos OS 管理 (mgd) 进程检查配置,查找 apply-macro params 包含在层次结构级别的语句 [edit interfaces interface-name]

当脚本找到语句时 apply-macro params ,它将执行以下操作:

  • interface-details 配置组应用于接口。

  • 包括层次结构级别的参数[edit interfaces interface-name description]description

  • 包括层次结构级别的参数[edit interfaces interface-name encapsulation]encapsulation。如果语句中未包含apply-macro paramsencapsulation参数,脚本会将封装设置为cisco-hdlc默认值。

  • 将逻辑单元号设置为0并测试该参数是否inet-address包含在语句中apply-macro params。如果是,则脚本在层次结构级别包含[edit interfaces interface-name unit 0 family inet address]参数的值inet-address

  • 包括层次结构级别的接口名称 [edit protocols rsvp interface]

  • 在层次结构级别包含 [edit protocols isis interface interface-name]level 1 enable metric 语句。

  • 在层次结构级别包含 [edit protocols isis interface interface-name]level 2 enable metric 语句。

  • 测试语句中是否isis-level-1包含 apply-macro params or isis-level-1-metric 参数。如果包括其中一个或两个参数,则脚本将包含level 1层次结构级别的语句[edit protocols isis interface interface-name]isis-level-1如果包含参数,则脚本还会包含层次结构级别的参数enable(或disable[edit protocols isis interface interface-name level 1]的值isis-level-1isis-level-1-metric如果包含参数,则脚本还会在层次结构级别包含[edit protocols isis interface interface-name level 1 metric]参数的值isis-level-1-metric

  • 测试语句中是否isis-level-2包含 apply-macro params or isis-level-2-metric 参数。如果包括其中一个或两个参数,则脚本将包含level 2层次结构级别的语句[edit protocols isis interface interface-name]isis-level-2如果包含参数,则脚本还会包含层次结构级别的参数enable(或disable[edit protocols isis interface interface-name level 2]的值isis-level-2isis-level-2-metric如果包含参数,则脚本还会在层次结构级别包含[edit protocols isis interface interface-name level 2 metric]参数的值isis-level-2-metric

  • 包括层次结构级别的接口名称 [edit protocols ldp interface]

示例脚本以 XSLT 和 SLAX 语法显示:

XSLT 语法

SLAX 语法

拓扑学

配置

程序

分步过程

要下载、启用和测试脚本,请执行以下操作:

  1. 将脚本复制到文本文件中,根据需要将文件命名为 if-params.xslif-params.slax ,然后将其复制到设备上的 /var/db/scripts/commit/ 目录。

  2. 选择以下测试配置节,然后按 Ctrl+c 将其复制到剪贴板。

    如果您使用的是脚本的 SLAX 版本,请将层次结构级别的文件名 [edit system scripts commit file] 更改为 if-params.slax

  3. 在配置模式下,发出 load merge terminal 命令以将节合并到设备配置中。

    1. 出现提示时,使用鼠标和粘贴图标粘贴剪贴板的内容。

    2. 按回车键。

    3. 按 Ctrl+d。

  4. 提交配置。

验证

验证配置

目的

验证脚本的行为是否符合预期。

行动

show interfaces | display commit-scripts | display inheritance发出配置模式命令。该| display commit-scripts选项显示配置中的所有语句,包括由瞬时更改生成的语句。该| display inheritance选项显示继承的配置数据以及有关从中继承配置的源组的信息。此选项还以展开格式显示接口范围配置数据,以及有关已从中扩展配置的源接口范围的信息。应会看到以下输出:

show protocols | display commit-scripts发出配置模式命令。应会看到以下输出: