Descripción general de la generación de cambios de configuración persistentes o transitorios mediante scripts de confirmación
Los scripts de confirmación de Junos OS aplican reglas de configuración personalizadas. Cuando una configuración candidata incluye instrucciones que decidió que no se deben incluir en la configuración o cuando la configuración de candidato omite instrucciones que decidió que son obligatorias, los scripts de confirmación pueden cambiar automáticamente la configuración y, por lo tanto, corregir el problema.
Diferencias entre los cambios persistentes y transitorios
Los cambios de configuración realizados por scripts de confirmación pueden ser persistentes o transitorios.
Un cambio persistente permanece en la configuración candidata y afecta a las operaciones de enrutamiento hasta que lo elimine explícitamente, incluso si posteriormente elimina o deshabilita la secuencia de comandos de confirmación que generó el cambio y reedita el commit
comando. En otras palabras, la eliminación de la secuencia de comandos de confirmación no provoca que se elimine un cambio persistente de la configuración.
Por el contrario, se realiza un cambio transitorio en la configuración de pago , pero no en la configuración candidata. La configuración de pago es la base de datos de configuración que se inspecciona para buscar sintaxis estándar de Junos OS justo antes de copiarla para que se convierta en la configuración activa en el dispositivo. Si posteriormente quita o deshabilita la secuencia de comandos de confirmación que hizo el cambio y reeditó el commit
comando, el cambio ya no se realiza en la configuración de pago y, por lo tanto, no afecta a la configuración activa. En otras palabras, la eliminación de la secuencia de comandos de confirmación elimina efectivamente un cambio transitorio de la configuración.
Un uso común de los cambios transitorios es eliminar la necesidad de configurar y mostrar políticas conocidas repetidamente, lo que permite que estas políticas se apliquen implícitamente. Por ejemplo, si la MPLS debe habilitarse en cada interfaz con un protocolo de la Organización Internacional de Normalización (ISO) habilitado, el cambio puede ser transitorio, de modo que los datos de configuración repetitivos o redundantes no necesitan transportarse ni mostrarse en la configuración candidata. Además, los cambios transitorios le permiten escribir instrucciones de script que aplican el cambio solo si se cumple un conjunto de condiciones.
Los cambios persistentes y transitorios se cargan en la configuración de la misma manera que el comando del load replace
modo de configuración carga una configuración entrante. Al generar un cambio persistente o transitorio, agregar el replace="replace"
atributo a un elemento de configuración produce el mismo comportamiento que una replace:
etiqueta en una load replace
operación.
De forma predeterminada, Junos OS fusiona la configuración entrante y la configuración candidata. Se agregan nuevas instrucciones y jerarquías, y se anulan las instrucciones en conflicto. Al generar un cambio persistente o transitorio, si agrega el replace="replace"
atributo a un elemento de configuración, Junos OS reemplaza el elemento de configuración existente con el elemento de configuración entrante. Si el replace="replace"
atributo se agrega a un elemento de configuración, pero no hay ningún elemento existente del mismo nombre en la configuración actual, el elemento de configuración entrante se agrega a la configuración. Los elementos que no tienen el replace
atributo se fusionan en la configuración.
Los cambios persistentes y transitorios se cargan antes de que se realicen las comprobaciones de validación estándar de Junos OS. Esto significa que cualquier cambio de configuración introducido por una secuencia de comandos de confirmación se valida para la sintaxis correcta. Si la sintaxis es correcta, la nueva configuración se convierte en la configuración de dispositivo activo y operativo.
Los elementos protegidos de la jerarquía de configuración no se pueden modificar ni eliminar mediante un cambio persistente o transitorio. Si una secuencia de comandos de confirmación intenta modificar o eliminar una instrucción o jerarquía protegidas, Junos OS emite una advertencia de que no se puede realizar el cambio y procede con la confirmación.
Los cambios persistentes y transitorios tienen varias diferencias importantes, como se describe en la Tabla 1.
Cambios persistentes |
Cambios transitorios |
---|---|
Puede representar un cambio persistente en los scripts de confirmación mediante el uso del Los scripts de confirmación SLAX y XSLT también pueden representar un cambio persistente mediante la |
Puede representar un cambio transitorio en los scripts de confirmación con el Los scripts de confirmación SLAX y XSLT también pueden representar un cambio transitorio mediante el uso de la |
Puede usar cambios persistentes para realizar cualquier operación de protocolo XML de Junos, como activar, desactivar, eliminar, insertar (reordenar), comentar (anotar) y reemplazar secciones de la configuración. |
Al igual que los cambios persistentes, puede usar cambios transitorios para realizar cualquier operación de protocolo JUNOS XML. Sin embargo, algunas operaciones de protocolo XML de Junos no tienen sentido para usar con cambios transitorios, como la generación de comentarios y la configuración inactiva. |
Los cambios persistentes siempre se cargan durante el proceso de confirmación si no se generan errores por ningún script de confirmación o por la comprobación de validez estándar de Junos OS. |
Para que se carguen los cambios transitorios, debe incluir la Al igual que los cambios persistentes, los cambios transitorios deben pasar la comprobación de validez estándar de Junos OS. |
Los cambios persistentes funcionan como el comando del Al generar un cambio persistente, si agrega el |
Los cambios transitorios funcionan como el comando del Al generar un cambio transitorio, si agrega el Los cambios transitorios no se copian a la configuración candidata. Por este motivo, los cambios transitorios no se guardan en la configuración si se elimina o desactiva la secuencia de comandos de confirmación asociada. |
Después de confirmar un cambio persistente, el software lo trata como un cambio que usted hace editando y confirmando directamente la configuración del candidato. Después de copiar los cambios persistentes en la configuración candidata, se copian en la configuración de pago. Si los cambios pasan las comprobaciones de validez estándar de Junos OS, los cambios se propagan al conmutador, enrutador o componentes del dispositivo de seguridad. |
Cada vez que se confirma un cambio transitorio, el software actualiza la base de datos de configuración de pago. Después de que los cambios transitorios pasan las comprobaciones de validez estándar de Junos OS, los cambios se propagan a los componentes del dispositivo. |
Después de confirmar una secuencia de comandos que hace que se genere un cambio persistente, puede ver el cambio persistente emitiendo el comando del user@host# show Este comando muestra solo los cambios persistentes, no los transitorios. |
Después de confirmar una secuencia de comandos que hace que se genere un cambio transitorio, puede ver el cambio transitorio emitiendo el comando del user@host# show | display commit-scripts Este comando muestra los cambios persistentes y transitorios. |
Los cambios persistentes deben ajustarse a las reglas de diseño de configuración personalizadas según lo dictado por los scripts de confirmación. Esto no se hace evidente hasta después de una segunda operación de confirmación, ya que los cambios persistentes no se evalúan mediante reglas de script de confirmación en la operación de confirmación actual. La operación de confirmación posterior se produce un error si los cambios persistentes no se ajustan a las reglas impuestas por los scripts de confirmación configurados durante la primera operación de confirmación. |
Los cambios transitorios nunca se prueban y no es necesario que se ajusten a sus reglas personalizadas. Esto se debe al orden de las operaciones en el modelo de confirmación de Junos OS, que se explica en detalle en los scripts de confirmación y en el modelo de confirmación de Junos OS. |
Un cambio persistente permanece en la configuración incluso si elimina, deshabilita o desactiva las instrucciones de secuencia de comandos de confirmación que generaron el cambio. |
Si elimina, deshabilita o desactiva las instrucciones de la secuencia de comandos de confirmación que generan un cambio transitorio, el cambio se quitará de la configuración después de la siguiente operación de confirmación. En resumen, si se eliminan las instrucciones asociadas o toda la secuencia de comandos de confirmación, también se elimina el cambio transitorio. |
Al igual que con la configuración directa de la CLI, puede quitar un cambio persistente volviendo a una configuración anterior que no incluye el cambio y emitiendo el |
No puede quitar un cambio transitorio volviendo a una configuración anterior. |
Puede modificar los cambios persistentes directamente mediante la edición de la configuración mediante la CLI. |
No puede modificar ni eliminar directamente un cambio transitorio mediante la CLI de Junos OS, ya que el cambio no se encuentra en la configuración de candidato. Para modificar el contenido de un cambio transitorio, debe modificar las instrucciones de la secuencia de comandos de confirmación que genera el cambio transitorio. |
Interacción de cambios de configuración y grupos de configuración
Cualquier cambio de configuración que puede realizar editando directamente la configuración mediante la interfaz de línea de comandos (CLI) de Junos OS también puede generarse mediante una secuencia de comandos de confirmación como un cambio persistente o transitorio. Esto incluye valores especificados en un nivel de jerarquía específico o en grupos de configuración. Al igual que con la configuración directa de CLI, los valores especificados en los valores de anulación de destino heredados de un grupo de configuración. El destino es la instrucción a la que se aplica un grupo de configuración mediante la inclusión de la apply-groups
instrucción.
Si define cambios persistentes o transitorios como pertenecientes a un grupo de configuración, los grupos de configuración se aplican en el orden especificado en las apply-groups
instrucciones, que puede incluir en cualquier nivel de jerarquía, excepto en el nivel superior. También puede deshabilitar la herencia de un grupo de configuración mediante la inclusión de la apply-groups-except
instrucción en cualquier nivel jerárquico, excepto en el superior.
Cada script de confirmación inspecciona la vista posterior a la entrada de la configuración. Si una configuración candidata contiene un grupo de configuración, tenga cuidado al usar una secuencia de comandos de confirmación para cambiar la configuración de destino relacionada, ya que al hacerlo podría alterar la herencia deseada del grupo de configuración.
También tenga cuidado al usar una secuencia de comandos de confirmación para cambiar un grupo de configuración, ya que el grupo de configuración puede ser generado por una aplicación que realice una load replace
operación en el grupo durante cada operación de confirmación.
Para obtener más información acerca de los grupos de configuración, consulte la Guía del usuario de la CLI .
Elementos de etiqueta y plantillas para generar cambios
Para generar cambios persistentes o transitorios en los scripts de confirmación, los scripts SLAX y XSLT pueden usar la plantilla, y los jcs:emit-change
scripts de Python pueden usar el jcs.emit_change
método. La jcs:emit-change
plantilla y el jcs.emit_change
método incluyen <change>
implícitamente elementos XML <transient-change>
. Los scripts SLAX y XSLT también pueden generar cambios mediante la inclusión de los <change>
elementos y <transient-change>
directamente en la secuencia de comandos de confirmación. El uso de la jcs:emit-change
plantilla en scripts SLAX y XSLT le permite establecer el contexto jerárquico del cambio una vez en lugar de varias veces. En los scripts de Python, el jcs.emit_change
método requiere que los datos de configuración para el cambio solicitado incluyan la ruta de configuración completa que representa todos los niveles de la jerarquía de configuración formateada como una cadena XML.
Los <change>
elementos y <transient-change>
son similares a la <load-configuration>
operación definida por el protocolo de administración XML de Junos. El contenido posible de los <change>
elementos y <transient-change>
es el mismo que el contenido del <configuration>
elemento tag utilizado en la operación <load-configuration>
de protocolo JUnos XML . Para obtener más información sobre el <load-configuration>
elemento, consulte la Guía para desarrolladores del protocolo de administración XML de Junos .