在此页面上
了解 NETCONF Perl 客户端和脚本示例
运行 Junos OS 的设备支持 NETCONF XML 管理协议,使客户端应用程序可请求和更改设备上配置信息。NETCONF 协议对配置数据和远程过程调用使用基于扩展标记语言 (XML) 的数据编码。通过瞻博网络 NETCONF Perl API,熟悉 Perl 编程语言的编程人员可创建自己的 Perl 应用程序,以管理在 NETCONF 上运行Junos OS设备的操作。
在 Junos OS 16.1 之前,每个 Junos OS 版本都包含一个与版本相关的新版本的 NETCONF Perl 客户端。从 Junos OS 版本 16.1 开始,NETCONF Perl 客户端独立于版本,托管在 GitHub 和 CPAN 上,可以管理运行 Junos OS 版本的任何设备。NETCONF Perl 分发中与版本相关的版本的模块和示例脚本不同于 GitHub 和 CPAN 上托管的与版本无关的版本。
本节包含以下主题:
NETCONF Perl 客户端模块
表 1 汇总了 NETCONF Perl 库的独立于版本版本的模块。该模块提供了一种面向对象的接口,可用于在运行 Junos OS 的设备上与 NETCONF 服务器进行通信,并允许您轻松地连接到设备、建立 NETCONF 会话,以及执行操作和配置请求。 Net::Netconf::Manager
客户端应用程序仅直接调用 Net::Netconf::Manager
对象。当客户端应用程序创建对象时,它提供设备名称和登录名称,以在 Manager
访问设备时使用。登录名称用于确定客户端应用程序在设备上的访问级别。
模块 |
描述 |
---|---|
|
根据实例 |
|
声明所有 NETCONF 常量。 |
|
对运行 Junos OS 的设备支持的 NETCONF API 实施面向对象的接口。此类对象表示设备连接的本地端,使用 NETCONF 协议与客户端通信。 |
|
可促进操作和配置请求的 XML 文档的开发。 该模块用作基本库,但Junos OS CLI特定功能来处理配置,对应于 CLI 命令: 、 、 |
|
实例化并返回 NETCONF 或 Junos XML |
|
基于 SAX 的解析器,用于解析来自 NETCONF 服务器的响应。 |
|
提供实例的 SSH |
|
提供跟踪级别,并基于请求的调试级别实现跟踪。 |
以下模块是 NETCONF Perl 客户端的独立于版本版本的新增模块: EzEditXML
。
在 NETCONF Perl 客户端的独立于版本的版本中卸下了以下模块: Transform
、 Plugins
和 Version
。
客户端应用程序还可以利用公共域中的 Perl 模块来简化 NETCONF Perl 客户端应用程序的开发。由于 NETCONF 使用基于 XML 的数据编码,客户端应用程序可使用许多处理 XML 数据的 Perl 模块。
您可以使用 NETCONF Perl 客户端创建 Perl 应用程序,以连接到设备、建立 NETCONF 会话并执行操作。客户端与设备的 NETCONF 服务器通过 NETCONF Perl API 通信涉及以下步骤:
在运行 SSHv2 的设备的客户端应用程序和 NETCONF 服务器之间建立 NETCONF Junos OS。
创建对应于请求的 RPC,然后向 NETCONF 服务器发送这些请求。
从 NETCONF 服务器接收和处理 RPC 回复。
脚本示例
NETCONF Perl 分发包括一个示例目录,其中包含以下示例脚本,说明了如何使用模块执行各种功能。有关运行脚本的说明,请参阅位于 https://github.com/Juniper/netconf-perl 的 NETCONF Perl GitHub 存储库中的README https://github.com/Juniper/netconf-perl。
diagnose_bgp/diagnose_bgp.pl— 展示如何监控设备状态和诊断问题。该脚本从完整组配置数据中提取和显示有关设备未建立边界网关协议 (BGP) 对等方的信息BGP的信息。
get_chassis_inventory/get_chassis_inventory.pl— 演示如何使用预定义的查询从设备请求信息。示例脚本使用 选项调用查询,以请求与 Junos XML 请求和 CLI
get_chassis_inventory
detail
<get-chassis-inventory><detail/></get-chassis-inventory>
操作模式命令相同的信息show chassis hardware detail
。edit_configuration/edit_configuration.pl— 演示如何配置设备,其中加载包含使用 Junos XML 标记元素格式的配置数据。分发包含示例配置文件 config.xml;但是,在调用脚本时,可以在命令行上指定不同的配置文件。