Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Utilice el kit de herramientas Java de NETCONF para realizar tareas de configuración

Usar métodos de objeto de dispositivo para cargar cambios de configuración

El objeto de kit de herramientas Device Java NETCONF tiene métodos para ayudarlo a configurar dispositivos remotos. Cuando sea apropiado, los métodos se sobrecargan para tomar una serie de formatos diferentes.

Para cargar datos de configuración en un dispositivo remoto, el Device objeto tiene varios métodos que le permiten definir los datos de configuración como un conjunto de comandos del modo de configuración de Junos OS, texto ASCII formateado o elementos de etiqueta Junos XML. Puede proporcionar los datos de configuración en el código de programa o puede hacer referencia a archivos de datos que incluyan los cambios de configuración deseados.

Para configurar una copia privada de la configuración del candidato, llame al openConfiguration("private") método con el argumento de cadena "private" en el objeto de dispositivo antes de cargar los cambios de configuración. Esto es equivalente al configure private comando de la CLI de Junos OS. Si omite la llamada al método, los openConfiguration("private") cambios de configuración se cargan en la copia global de la configuración del candidato.

El método utilizado para cargar los datos de configuración depende del origen y el formato de los datos. En los métodos siguientes, el argumento loadType string tiene un valor de cualquiera merge o replace, que realiza el equivalente de los comandos load merge del modo de configuración o load replace en un dispositivo que ejecuta Junos OS.

  • Comandos del modo de configuración de Junos OS: los siguientes métodos cargan datos de configuración como un conjunto de comandos del modo de configuración de Junos OS. Estos métodos solo se admiten en dispositivos que ejecutan Junos OS versión 11.4 o una versión posterior. Junos OS ejecuta las instrucciones de configuración línea por línea. Para cada elemento, puede especificar la ruta de instrucción completa en el comando o puede usar comandos de navegación, como edit, para moverse por la jerarquía de configuración como lo hace en el modo de configuración de CLI.

    • loadSetConfiguration(String setCommands)— Especifique los datos de configuración en el código de programa, ya sea como un argumento de método o como una variable pasada al método.

    • loadSetFile(String filePath)— Carga los datos de configuración del archivo especificado por filePath.

  • Texto ASCII formateado: los métodos siguientes cargan datos de configuración como texto ASCII formateado. Utilice las notaciones de CLI estándar de Junos OS (el carácter de nueva línea, pestañas, espacios, corchetes y corchetes) para indicar las relaciones jerárquicas entre instrucciones de configuración.

    • loadTextConfiguration(String textConfiguration, String loadType)— Especifique los datos de configuración en el código de programa, ya sea como un argumento de método o como una variable pasada al método.

    • loadTextFile(String filePath, String loadType)— Carga los datos de configuración del archivo especificado por filePath.

  • Elementos de etiqueta Junos XML: los métodos siguientes cargan datos de configuración como elementos de etiqueta Junos XML. Incluya los elementos de etiqueta que representan todos los niveles de la jerarquía de configuración bajo la raíz, el <configuration> elemento tag, hasta cada elemento nuevo o cambiado.

    • loadXMLConfiguration(String XMLConfiguration, String loadType)— Especifique los datos de configuración en el código de programa como un net.juniper.netconf.XML objeto, que se pasa al método.

    • loadXMLFile(String filePath, String loadType)— Carga los datos de configuración del archivo especificado por filePath.

El siguiente fragmento de código combina la ftp instrucción en la configuración candidata en el [edit system services] nivel de jerarquía. Se muestra la instrucción Java para cada tipo de método de configuración de carga. Cuando se carga desde un archivo, el archivo debe contener la jerarquía adecuada en el formato deseado.

Ejemplo: Aplicación JAVA NETCONF para cargar y confirmar una configuración

En el siguiente ejemplo, el programa de kit de herramientas NETCONF Java crea una jerarquía de configuración, que luego se fusiona con la configuración candidata en el dispositivo especificado. A continuación, se confirma la configuración resultante. La jerarquía de configuración de ejemplo es para un dispositivo que ejecuta Junos OS.

Requisitos

  • Enrutamiento, conmutación o dispositivo de seguridad que ejecuta Junos OS.

  • El kit de herramientas Java de NETCONF se instala en el servidor de administración de configuración.

  • La aplicación cliente puede iniciar sesión en el dispositivo donde reside el servidor NETCONF.

  • El servicio NETCONF a través de SSH está habilitado en el dispositivo donde reside el servidor NETCONF.

Visión general

En el siguiente ejemplo, se realiza una load merge operación para actualizar la configuración de candidato en un dispositivo que ejecuta Junos OS y, a continuación, se confirma la nueva configuración. La jerarquía XML que se agregará a la configuración se construye con el XMLBuilder objeto y se almacena en la ftp_config variable. Alternativamente, puede cargar datos de configuración como texto y, para dispositivos que ejecutan Junos OS versión 11.4 o una versión posterior, como un conjunto de comandos del modo de configuración de Junos OS.

La nueva jerarquía de configuración, que habilita el servicio FTP en el dispositivo, es:

El código de programa crea un nuevo Device objeto y llama al connect() método. Esto establece una conexión SSHv2 y una sesión NETCONF predeterminada con el dispositivo en el que se ejecuta el servidor NETCONF.

Para evitar conflictos con otros usuarios que podrían editar simultáneamente la configuración del candidato, el código llama al lockConfig() método en el objeto de dispositivo para bloquear la configuración. Si se produce un error en el bloqueo, el método genera un mensaje de error y el programa se sale. Si el bloqueo es correcto, el loadXMLConfiguration(ftp_config.toString(), "merge") método carga la nueva jerarquía de configuración en la configuración candidata mediante la merge opción. Observe que, aunque la jerarquía de configuración se construye inicialmente como XML, debe convertirla en una cadena antes de pasarla como un argumento al loadXMLConfiguration() método.

Una vez que la nueva jerarquía de configuración se fusiona con la configuración de candidato, el programa intenta confirmar la configuración. Si la operación de confirmación no es exitosa, el programa imprime el mensaje de error asociado. Luego, el programa desbloquea la configuración y cierra la conexión del dispositivo y la sesión de NETCONF.

Nota:

Para obtener más información acerca de las merge replace y opciones para cargar jerarquías e instrucciones de configuración en la configuración del candidato, consulte la Guía del usuario de CLI.

Configuración

Creación del programa Java

Procedimiento paso a paso

Para construir el archivo de programa Java que contiene el código para los cambios y solicitudes de configuración:

  1. Asigne al archivo un nombre descriptivo.

    El nombre de archivo debe ser el mismo que el nombre de la clase. Para este ejemplo, el archivo y la clase se denominan EditConfig.

  2. Agregue el código al archivo y actualice las variables específicas del entorno, como la dirección IP del host remoto, el nombre de usuario y la contraseña.

    El código Java completo para el programa EditConfig se presenta aquí.

Compilación y ejecución del programa Java

Procedimiento paso a paso

Necesita un compilador Java para compilar el código fuente y crear un programa ejecutable.

Para compilar el código y ejecutar el programa en el servidor de administración de configuración:

  1. Compile el archivo EditConfig.java .

  2. Ejecute el programa EditConfig .

Verificación

Verificar la ejecución del programa

Propósito

Verifique que el programa EditConfig se ejecute correctamente.

Acción

Si el programa se ejecuta correctamente, establece una conexión y crea una sesión NETCONF con el dispositivo especificado. El programa combina la nueva jerarquía con la configuración del candidato en el dispositivo y confirma la configuración.

Puede comprobar que la configuración se fusionó y se con comprometió correctamente viendo la configuración resultante en el dispositivo remoto. La ftp instrucción ahora debería estar en la configuración activa. En un dispositivo que ejecuta Junos OS, escriba el siguiente comando de modo operativo para ver la [edit system services] jerarquía:

Solución de problemas

Mensajes de error para la solución de problemas

Problema

El siguiente mensaje de error se imprime en la pantalla:

Solución

Otro usuario tiene actualmente un bloqueo en la configuración del candidato. Espere hasta que se libere el bloqueo y ejecute el programa.

Ejemplo: Aplicación Java NETCONF para cargar comandos de configuración de conjunto

Este programa de kit de herramientas JAVA NETCONF muestra el loadSetConfiguration() método que actualiza la configuración mediante un conjunto de comandos del modo de configuración de Junos OS.

Requisitos

  • Dispositivo de enrutamiento, conmutación o seguridad que ejecuta la versión 11.4 o posterior de Junos OS.

  • El kit de herramientas Java de NETCONF se instala en el servidor de administración de configuración.

  • La aplicación cliente puede iniciar sesión en el dispositivo donde reside el servidor NETCONF.

  • El servicio NETCONF a través de SSH está habilitado en el dispositivo donde reside el servidor NETCONF.

Visión general

La Device clase contiene los loadSetConfiguration() métodos y loadSetFile() , que cargan datos de configuración como un conjunto de comandos del modo de configuración de Junos OS en dispositivos que ejecutan Junos OS versión 11.4 o una versión posterior. Para cada elemento de configuración, puede especificar la ruta de instrucción completa en el comando o puede usar comandos de navegación, como edit, para moverse por la jerarquía de configuración como lo hace en el modo de configuración de CLI. El kit de herramientas JAVA NETCONF convierte el comando establecido en el EQUIVALENTE EN XML que puede procesar el servidor NETCONF en dispositivos que ejecutan Junos OS. Junos OS ejecuta las instrucciones de configuración línea por línea.

La sintaxis del método es:

El loadSetConfiguration() método toma como argumento la cadena de comandos de configuración que ingresaría en el modo de configuración de CLI de Junos OS. Por ejemplo, para agregar la ftp instrucción en el [edit system services] nivel de jerarquía, utilice el set system services ftp comando. El loadSetFile() método toma como argumento la ruta del archivo que contiene el conjunto de comandos de configuración.

También puede usar ambos métodos para cargar varios comandos. Para cargar varios comandos mediante el loadSetConfiguration() método, puede enumerar los comandos como una sola cadena y separarlos con la secuencia de nueva \n línea, o puede ejecutar el método por separado para cada comando. Para cargar varios comandos mediante el loadSetFile() método, coloque cada comando en una línea independiente en el archivo.

Nota:

Cuando utilice el loadSetConfiguration() método con comandos de navegación, debe enumerar los comandos como una sola cadena y separarlos con la secuencia de nueva \n línea. No puede llamar al loadSetConfiguration() método con un único comando de navegación como up.

El programa de este ejemplo carga dos comandos de configuración, que combinan dos instrucciones en la configuración candidata en un dispositivo que ejecuta Junos OS versión 11.4. El primer comando, set system services ftp, agrega la ftp instrucción en el [edit system services] nivel de jerarquía. El segundo comando, set interfaces ge-0/0/0 disable, agrega la disable instrucción en el [edit interfaces ge-0/0/0] nivel de jerarquía. Las instrucciones relevantes del código de programa son:

Configuración

Creación del programa Java

Procedimiento paso a paso

Para construir el archivo de programa Java:

  1. Asigne al archivo un nombre descriptivo.

    El nombre de archivo debe ser el mismo que el nombre de la clase. Para este ejemplo, el archivo y la clase se denominan LoadSetConfig.

  2. Agregue el código al archivo y actualice las variables específicas del entorno, como la dirección IP del host remoto, el nombre de usuario, la contraseña y <rpc-reply> los elementos de etiqueta.

    Aquí se presenta el código Java completo para el programa LoadSetConfig.java .

    Si carga el conjunto de comandos desde un archivo, cree un archivo que contenga los comandos y reemplace las dos loadSetConfiguration() llamadas al método por una llamada al loadSetFile() método.

Compilación y ejecución del programa Java

Procedimiento paso a paso

Necesita un compilador Java para compilar el código fuente y crear un programa ejecutable.

Para compilar el código y ejecutar el programa en el servidor de administración de configuración:

  1. Compile el archivo LoadSetConfig.java .

  2. Ejecute el programa LoadSetConfig .

Verificación

Para confirmar que el programa funciona correctamente:

Verificar la ejecución del programa

Propósito

Compruebe que el programa LoadSetConfig se ejecute correctamente.

Acción

Si el programa se ejecuta correctamente, establece una conexión y crea una sesión NETCONF con el dispositivo especificado. El programa combina las nuevas instrucciones con la configuración de candidato en el dispositivo y confirma la configuración.

Verificar los cambios de configuración

Propósito

Puede comprobar que la configuración se fusionó y se con comprometió correctamente viendo la configuración resultante en el dispositivo remoto. Las ftp instrucciones y ahora disable deben estar en la configuración activa. En un dispositivo que ejecute Junos OS, emita los siguientes comandos de modo operativo para ver los [edit system services] niveles y [edit interfaces] de jerarquía:

Acción

Verificar la confirmación

Propósito

Además, puede revisar el registro de confirmación para comprobar que la confirmación fue correcta. En un dispositivo que ejecute Junos OS, emita el comando de show system commit modo operativo para ver el registro de confirmación. En este ejemplo, el registro confirma que el usuario admin confirmó la configuración candidata en una sesión NETCONF en la fecha y hora dadas.

Acción

Emita el comando del show system commit modo operativo y revise el registro de confirmación.