EN ESTA PÁGINA
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.
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.
Módulo |
Descripción |
---|---|
|
Crea un |
|
Declara todas las constantes NETCONF. |
|
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. |
|
Facilita el desarrollo de documentos XML para solicitudes operativas y de configuración. El módulo utiliza |
|
Instancia y devuelve un objeto NETCONF o Junos XML |
|
Analizador basado en SAX que analiza las respuestas del servidor NETCONF. |
|
Proporciona acceso SSH a una |
|
Proporciona niveles de rastreo y permite el seguimiento basado en el nivel de depuración solicitado. |
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
, Plugins
y 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 ladetail
opción de solicitar la misma información que devuelve la solicitud JUnos XML<get-chassis-inventory><detail/></get-chassis-inventory>
y el comandoshow chassis hardware detail
del 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.