Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:配置服务模板自动化

此示例说明如何使用服务模板自动化跨运行 Junos OS 的类似平台提供服务。

要求

  • 两台运行 Junos OS 12.3 或更高版本的 MX 系列设备。

概述

此示例使用服务模板自动化在 MX 系列路由器上调配服务。要使用服务模板自动化 service-builder.slax 脚本,必须先将脚本复制到 /var/db/script/op/config/script/op 目录,并在设备上启用脚本。

以下过程概述了如何使用服务模板自动化来提供服务:

  1. 创建服务模板定义。

  2. 执行 service-builder.slax 脚本,并定义特定于服务的实例参数。

  3. 生成服务接口。

  4. 在需要该服务的每台设备上启用服务接口。

  5. 通过使用 NETCONF 调用服务接口并提供服务参数值来配置系统。

此示例在运行 Junos OS 12.3 版的 MX 系列设备上创建新的 VPN 服务接口,并在运行 Junos  OS 12.3 版的第二个 MX 系列设备上配置该服务。您可以在层次结构级别下 [edit groups] 配置服务模板定义。此示例的服务名称为 vpn-service,模板组名称为 vpn-service-template-group。配置 load merge terminal 模式命令会将服务模板配置层次结构加载到候选配置中,然后提交。

创建初始服务模板后,请执行 service-builder.slax 脚本。脚本会提示输入服务名称和模板组名称,然后从提交的配置中读取服务模板配置。

service-builder.slax 脚本界面由两个菜单组成:Main MenuHierarchies Menu。在中Main Menu,您可以查看在服务模板配置中定义的变量,也可以构建或启用服务 API。menu Build Service API 选项显示 ,Hierarchies Menu它可引导您完成变量参数化。默认设置是参数化每个变量,也可以选择参数化所选变量。如果在构建服务 API 时必须退出 service-builder.slax 脚本,则必须完成对当前层次结构的所有参数的配置,以便在使用Quit选项退出时保存该层次结构配置。然后,您可以在以后完成任何不完整的层次结构配置。此示例参数化两个变量:接口名称和接口说明。指定参数后,服务构建器脚本将生成服务脚本。

menu Enable Service API 选项可启用本地设备上的服务脚本。要在第二台 MX 系列设备上启用服务脚本,会将生成的服务脚本复制到第二个设备上的 /var/db/script/op 目录,并在配置中启用该脚本。如果配置了语句 load-scripts-from-flash ,则必须将脚本复制到闪存驱动器上的相应目录。

NETCONF 用于在远程 MX 系列设备上调配服务。NETCONF 远程过程调用 (RPC) 操作取决于服务是新服务还是现有服务。支持的操作包括 createupdatedelete。此示例将创建一个新服务。如果设备上已配置给定服务,并且您要更新或删除服务参数,则可以更改 RPC 以执行这些操作。

配置

存储和启用 Service Builder 脚本

逐步过程

Junos OS 安装包括 service-builder.slax 脚本,该脚本存储在设备上的 /usr/libexec/script/op/ 目录中。要使用 service-builder.slax 脚本,必须先将其复制到操作脚本目录并在配置中启用。只有 Junos OS 超级用户登录类中的用户才能访问和编辑这些目录中的文件。

  1. service-builder.slax 脚本复制到硬盘上的 /var/db/script/op 目录或闪存驱动器上的 /config/script/op 目录。

  2. 使用 file list 操作模式命令验证脚本是否在正确的目录中。

  3. 在配置中启用脚本。

  4. 如果将脚本存储到内部并从闪存加载,请 load-scripts-from-flash 配置语句(如果尚未配置)。

  5. 提交配置。

配置服务模板定义

逐步过程

在运行 Junos OS 的设备上创建新服务模板:

  1. 选择服务名称。

    此示例使用 vpn-service

  2. 在配置模式下,创建一个新组,其中包含要调配的实际服务的层次结构。

  3. 配置服务的层次结构。

    对于此示例,使用命令将预先构建的配置层次结构加载到候选配置中 load merge terminal

  4. 验证配置语法是否正确。

  5. 提交配置。

配置和生成服务接口

逐步过程

要配置和生成服务接口,请执行以下操作:

  1. 在操作模式下,执行 service-builder.slax 脚本,以启动交互式服务生成器会话。

  2. 输入在 配置服务模板定义中定义的服务名称。

  3. 输入配置服务层次结构的组名称。

    此示例使用组名称 vpn-service-template-group。该脚本会读取层次结构中 vpn-service-template-group 指定的配置,然后显示主菜单。

  4. (可选)要查看可参数化的服务模板变量,请选择 Show Variables 选项。

    该脚本将候选配置中的模板定义转换为按层次结构级别分组的常规参数列表。

  5. 要构建服务 API,请选择选项 Build Service API

  6. 从中 Hierarchies Menu输入包含要参数化的变量的层次结构的菜单选项,或者按 Enter 选择所有层次结构。

  7. 从变量列表中,输入要为服务接口参数化的变量的菜单选项,或者按 Enter 以参数化该层次结构中的所有变量。

  8. 配置所选参数。

    系统提示输入所需信息。此示例将接口名称参数配置为 ifname ,将接口描述参数配置为 ifdesc

  9. 在每个层级配置所选参数。

    该脚本会针对每个选定层次结构和指定参数进行迭代。如果在构建服务 API 时必须退出 service-builder.slax 脚本,则必须完成对当前层次结构的所有参数的配置,以便在使用 Quit 选项退出时保存该层次结构配置。

  10. 生成服务接口,用于创建服务脚本。

    配置所有参数后,脚本会自动提示您生成服务接口。按 Enter 或键入 yes 以生成服务接口。

验证服务接口

目的

验证创建服务脚本。如果配置了语句 load-scripts-from-flash ,则生成的文件存储在闪存内存中。否则,生成的文件会存储在硬盘上。

行动

发出file list操作模式命令。对于此示例,vpn-service.slax 脚本应存在于 /var/db/script/op 目录中。service-builder.slax 脚本还会在 /var/db/script/op 目录中生成 utility.slax 脚本,并在 /var/db/script/lib 目录中生成 vpn-service-builder-info.xml 文件。service-builder.slax 脚本会使用这些文件,不应删除。

启用服务接口

逐步过程

要启用远程设备上的服务接口,请执行以下操作:

  1. 将生成的服务脚本复制到要调配新服务的设备。

    如果未配置语句 load-scripts-from-flash ,请将服务脚本复制到第二个设备上的 /var/db/script/op 目录中。否则,必须将脚本复制到闪存驱动器上的相应目录。

  2. 在配置中启用操作脚本。

  3. 提交配置。

  4. 在操作模式下,验证脚本是否已启用,以及服务参数是否显示为脚本参数。

使用 NETCONF 配置服务

逐步过程

要配置服务:

  1. 如果尚未配置,请在要调配新服务的任何设备上通过 SSH 配置 NETCONF 服务。

  2. 从配置管理服务器,与调配服务的设备建立 NETCONF 会话。

  3. 如果要在设备上配置新服务,请使用操作输入远程过程调用 (RPC),该调用服务操作脚本 create ,并包括需要配置的所有参数的值。

    参数的值 service-id 应与服务名称相同。

使用 NETCONF 更新或删除服务

逐步过程

要更新或删除现有服务:

  1. 如果尚未配置,请在更新或删除服务的任何设备上通过 SSH 配置 NETCONF 服务。

  2. 从配置管理服务器,与调配服务的设备建立 NETCONF 会话。

  3. 如果设备上已配置给定服务,并且您要更新服务,请输入使用操作调用服务操作脚本的 update RPC,并包括需要更新的所有参数的值。

  4. 如果设备上已配置给定服务,而您要删除部分或全部服务参数,请输入使用 delete 操作调用服务操作脚本的 RPC,并包括需要删除的所有参数。

验证

确认配置已更新。

验证提交

目的

验证提交是否成功。

行动

发出show system commit操作模式命令以查看最近的提交。最近的提交条目显示,通过 NETCONF 服务器提交。user

验证服务配置

目的

验证活动配置中是否存在服务配置。

行动

发出 show configuration | compare rollback num 操作模式命令以查看配置更改。

意义

将当前配置与之前的配置进行比较后,已将接口和接口说明添加到配置中。

故障 排除

对失败的提交进行故障排除

问题

通过 NETCONF 会话在设备上创建、更新或删除服务时,您将看到以下消息:

配置之前未提交的更改,服务脚本无法提交服务配置更改。

解决 方案

提交之前的更改或根据需要回滚配置,然后重新提交服务配置更改。

尝试删除服务参数失败时进行故障排除

问题

通过 NETCONF 在设备上删除服务参数时,您将看到以下消息:

解决 方案

RPC 可能包含参数和子元素。从 RPC 中移除子元素。