Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Descripción de los scripts de ejemplo y el cliente perl de NETCONF

Los dispositivos que ejecutan Junos OS admiten el protocolo de administración XML NETCONF, que permite a las aplicaciones cliente solicitar y cambiar la información de configuración en los dispositivos. El protocolo NETCONF usa una codificación de datos basada en lenguaje de marcado extensible (XML) para los datos de configuración y las llamadas a procedimiento remoto. La API Perl de NETCONF de Juniper Networks permite a los programadores familiarizados con el lenguaje de programación Perl crear sus propias aplicaciones Perl para administrar dispositivos que ejecutan Junos OS a través de NETCONF.

Nota:

Antes de Junos OS versión 16.1, cada versión de Junos OS incluía una nueva versión dependiente de la versión del cliente NETCONF Perl. A partir de Junos OS versión 16.1, el cliente de NETCONF Perl es independiente de la versión, se aloja en GitHub y CPAN, y puede administrar dispositivos que ejecutan cualquier versión de Junos OS versión. Los módulos y los scripts de ejemplo de las versiones dependientes de la versión de la distribución Perl de NETCONF difieren de los de la versión independiente de la versión alojada en GitHub y CPAN.

Esta sección incluye los siguientes temas:

Módulos de cliente Perl de NETCONF

En la tabla 1 , se resumen los módulos de la versión independiente de la biblioteca NETCONF Perl. El Net::Netconf::Manager módulo proporciona una interfaz orientada a objetos para comunicarse con el servidor NETCONF en dispositivos que ejecutan Junos OS, y le permite conectarse fácilmente al dispositivo, establecer una sesión NETCONF y ejecutar solicitudes operativas y de configuración. Las aplicaciones cliente solo invocan directamente el Net::Netconf::Manager objeto. Cuando la aplicación cliente crea un Manager objeto, suministra el nombre del dispositivo y el nombre de inicio de sesión para usar al acceder al dispositivo. El nombre de inicio de sesión determina el nivel de acceso de la aplicación del cliente en el dispositivo.

Tabla 1: Módulos Perl de NETCONF

Módulo

Descripción

Access

Crea un Access objeto basado en el tipo de método de acceso especificado al instanciar el objeto. El módulo es responsable de llamar al connect() método para establecer una sesión con el servidor NETCONF en el host de destino y de intercambiar paquetes de saludo con el servidor después de establecer la sesión.

Constants

Declara todas las constantes NETCONF.

Device

Implementa una interfaz orientada a objetos a la API de NETCONF compatible con dispositivos que ejecutan Junos OS. Los objetos de esta clase representan el lado local de la conexión con el dispositivo, que se comunica con el cliente mediante el protocolo NETCONF.

EzEditXML

Facilita el desarrollo de documentos XML para solicitudes operativas y de configuración.

El módulo utiliza XML::LibXML como biblioteca base, pero proporciona funciones de CLI específicas de Junos OS para manipular la configuración, correspondientes a los comandos de CLI: delete, activatedeactivate, insert, y rename.

Manager

Instancia y devuelve un objeto NETCONF o Junos XML Device según el servidor que se solicite.

SAXHandler

Analizador basado en SAX que analiza las respuestas del servidor NETCONF.

SSH

Proporciona acceso SSH a una Net::Netconf::Access instancia y administra la conexión SSH con el host de destino. El mecanismo subyacente para administrar la conexión SSH se basa en OpenSSH.

Trace

Proporciona niveles de rastreo y permite el seguimiento basado en el nivel de depuración solicitado.

Nota:

El siguiente módulo es nuevo en la versión independiente de la versión del cliente NETCONF Perl: EzEditXML.

Los siguientes módulos se quitaron en la versión independiente de versión del cliente NETCONF Perl: Transform, Pluginsy Version.

Las aplicaciones cliente también pueden aprovechar los módulos Perl en el dominio público para facilitar el desarrollo de aplicaciones cliente NETCONF Perl. Dado que NETCONF usa codificación de datos basada en XML, las aplicaciones cliente pueden hacer uso de los muchos módulos Perl que manipulan datos XML.

Puede usar el cliente NETCONF Perl para crear aplicaciones Perl que se conecten a un dispositivo, establezcan una sesión NETCONF y ejecuten operaciones. La comunicación entre el cliente y el servidor NETCONF en el dispositivo a través de la API de NETCONF Perl implica los siguientes pasos:

  • Establecer una sesión NETCONF a través de SSHv2 entre la aplicación cliente y el servidor NETCONF en el dispositivo que ejecuta Junos OS.

  • Creación de RPCs correspondientes a solicitudes y envío de estas solicitudes al servidor NETCONF.

  • Recepción y procesamiento de las respuestas de RPC desde el servidor NETCONF.

Scripts de ejemplo

La distribución NETCONF Perl incluye un directorio de ejemplos con los siguientes scripts de ejemplo que ilustran cómo usar los módulos para realizar varias funciones. Para obtener instrucciones sobre cómo ejecutar los scripts, consulte el archivo README en el repositorio NetCONF Perl GitHub en https://github.com/Juniper/netconf-perl.

  • diagnose_bgp/diagnose_bgp.pl— Ilustra cómo monitorear el estado del dispositivo y diagnosticar problemas. El script extrae y muestra información acerca de los pares del Protocolo de puerta de enlace de borde (BGP) no establecidos de un dispositivo a partir del conjunto completo de datos de configuración del BGP.

  • get_chassis_inventory/get_chassis_inventory.pl: muestra cómo utilizar una consulta predefinida para solicitar información a un dispositivo. El script de ejemplo invoca la get_chassis_inventory consulta con la detail opción de solicitar la misma información que devuelve la solicitud JUnos XML <get-chassis-inventory><detail/></get-chassis-inventory> y el comando show chassis hardware detaildel modo operativo de CLI.

  • edit_configuration/edit_configuration.pl: muestra cómo configurar el dispositivo cargando un archivo que contiene datos de configuración formateados con elementos de etiqueta JUnos XML. La distribución incluye un archivo de configuración de ejemplo, config.xml; sin embargo, puede especificar un archivo de configuración diferente en la línea de comandos cuando invoque la secuencia de comandos.

Tabla de historial de versiones
Lanzamiento
Descripción
16.1
A partir de Junos OS versión 16.1, el cliente de NETCONF Perl es independiente de la versión, se aloja en GitHub y CPAN, y puede administrar dispositivos que ejecutan cualquier versión de Junos OS versión. Los módulos y los scripts de ejemplo de las versiones dependientes de la versión de la distribución Perl de NETCONF difieren de los de la versión independiente de la versión alojada en GitHub y CPAN.