- play_arrow Visión general
- play_arrow Descripción general del protocolo de administración XML de NETCONF
- play_arrow Descripción general de las etiquetas XML de NETCONF y Junos
- Descripción general de XML y Junos OS
- Información general sobre XML
- Descripción general de las convenciones del protocolo de administración XML y NETCONF
- Asigne comandos y resultados de comandos de Junos OS a elementos de etiqueta XML de Junos
- Asigne instrucciones de configuración a elementos de etiqueta XML de Junos
- Uso de elementos de etiqueta de respuesta de configuración de NETCONF en solicitudes y cambios de configuración de NETCONF
-
- play_arrow Administrar sesiones de NETCONF
- play_arrow Descripción general de la sesión de NETCONF
- play_arrow Administrar sesiones de NETCONF
- Establecer una conexión SSH para una sesión NETCONF
- Sesiones de NETCONF a través de Seguridad de la capa de transporte (TLS)
- Sesiones de NETCONF y Shell a través de HTTPS saliente mejorado
- Sesiones de NETCONF a través de HTTPS saliente
- Sesiones de NETCONF Call Home
- Conéctese al servidor NETCONF mediante SSH
- Iniciar una sesión de NETCONF
- Enviar solicitudes al servidor NETCONF
- Analice la respuesta del servidor NETCONF
- Analizar elementos de etiqueta de respuesta mediante una API estándar en sesiones de protocolo XML NETCONF y Junos
- Cómo funciona la codificación de caracteres en dispositivos de Juniper Networks
- Controlar un error o advertencia en una sesión de NETCONF
- Bloquear y desbloquear la configuración candidata mediante NETCONF
- Terminar una sesión de NETCONF
- Finalizar una sesión de NETCONF y cerrar la conexión
- Ejemplo de sesión de NETCONF
- Configurar sesiones de NETCONF compatibles con RFC
- Monitoreo de NETCONF
- Notificaciones de eventos de NETCONF
- play_arrow Operaciones de rastreo de NETCONF
- play_arrow Operaciones y atributos del protocolo NETCONF
- play_arrow Etiquetas de solicitud y respuesta de NETCONF
- play_arrow Elementos del protocolo XML de Junos admitidos en sesiones de NETCONF
- <abort/>
- <abort-acknowledgement/>
- <checksum-information>
- <close-configuration/>
- <commit-configuration>
- <commit-results>
- <commit-revision-information>
- <database-status>
- <database-status-information>
- <end-session/>
- <get-checksum-information>
- <get-configuration>
- <load-configuration>
- <load-configuration-results>
- <lock-configuration/>
- <open-configuration>
- <reason>
- <request-end-session/>
- <routing-engine>
- <unlock-configuration/>
- <xnm:error>
- <xnm:warning>
- play_arrow Atributos de elemento de protocolo XML de Junos admitidos en sesiones de NETCONF
-
- play_arrow Solicitar información operativa y de configuración mediante NETCONF
- play_arrow Solicitar información operativa mediante NETCONF
- play_arrow Solicitar información de configuración mediante NETCONF
- Solicitar la configuración confirmada y el estado del dispositivo mediante NETCONF
- Solicitar datos de configuración mediante NETCONF
- Especificar el origen de las solicitudes de información de configuración mediante NETCONF
- Especifique el ámbito de la información de configuración que se va a devolver en una respuesta NETCONF
- Solicitar la configuración completa mediante NETCONF
- Solicitar un nivel de jerarquía de configuración o un objeto contenedor sin un identificador mediante NETCONF
- Solicitar todos los objetos de configuración de un tipo especificado mediante NETCONF
- Solicitar identificadores para objetos de configuración de un tipo especificado mediante NETCONF
- Solicitar un objeto de configuración específico mediante NETCONF
- Solicitar etiquetas secundarias específicas para un objeto de configuración mediante NETCONF
- Solicitar varios elementos de configuración simultáneamente mediante NETCONF
- Recuperar una configuración anterior (reversión) mediante NETCONF
- Comparar dos configuraciones anteriores (de reversión) mediante NETCONF
- Recuperar la configuración de rescate mediante NETCONF
- Solicitar un esquema XML para la jerarquía de configuración mediante NETCONF
-
- play_arrow Utilidades de NETCONF
- play_arrow Cliente Perl de NETCONF
- play_arrow Desarrollar aplicaciones cliente NETCONF Perl
- Escribir aplicaciones cliente NETCONF Perl
- Importar módulos Perl y declarar constantes en aplicaciones cliente NETCONF Perl
- Conéctese al servidor NETCONF en aplicaciones cliente Perl
- Recopilar parámetros de forma interactiva en aplicaciones cliente NETCONF Perl
- Enviar una solicitud al servidor NETCONF en aplicaciones cliente Perl
- Ejemplo: solicitar un inventario de componentes de hardware mediante una aplicación cliente NETCONF Perl
- Ejemplo: cambiar la configuración mediante una aplicación cliente NETCONF Perl
- Analizar la respuesta del servidor NETCONF en aplicaciones cliente Perl
- Cierre la conexión al servidor NETCONF en aplicaciones cliente Perl
-
- play_arrow YANG
- play_arrow Descripción general de YANG
- Descripción de YANG en dispositivos que ejecutan Junos OS
- Descripción de los módulos YANG de Junos
- Descripción general de los módulos YANG
- Descripción de los módulos de YANG que definen la configuración de Junos OS
- Descripción de los módulos de YANG para comandos operativos de Junos
- Modelos de datos de YANG de Junos Genstate
- Descripción del módulo YANG de extensiones DDL de Junos
- Anotaciones de metadatos de YANG para dispositivos Junos
- Usar los módulos YANG de Juniper Networks
- play_arrow Crear y usar módulos YANG no nativos
- Descripción de la administración de módulos yang no nativos en dispositivos que ejecutan Junos OS
- Administrar paquetes, módulos y scripts de YANG en dispositivos Junos
- Administración de paquetes y configuraciones de YANG durante una actualización o degradación de software
- Crear scripts de traducción para modelos de configuración de YANG
- Deshabilitar y habilitar scripts de traducción de YANG en dispositivos que ejecutan Junos OS
- Confirmar y mostrar datos de configuración para módulos YANG no nativos
- Crear RPC personalizadas en YANG para dispositivos que ejecutan Junos OS
- Crear scripts de acción para RPC de YANG en dispositivos Junos
- Usar RPC de YANG personalizados en dispositivos que ejecutan Junos OS
- Ejemplo: Usar una RPC de YANG personalizada para recuperar información operativa en dispositivos Junos
- Descripción de las extensiones de YANG de Junos OS para formatear la salida RPC
- Personalizar la salida RPC de YANG en dispositivos que ejecutan Junos OS
- Definir diferentes niveles de salida en RPC de YANG personalizadas para dispositivos Junos
- Mostrar valores válidos de opción de comando e instrucción de configuración en la CLI para módulos YANG personalizados
- Configurar un sensor de telemetría proxy NETCONF en Junos
-
- play_arrow Integración de OpenDaylight
- play_arrow Configurar la integración de OpenDaylight
-
- play_arrow Instrucciones de configuración y comandos operativos
EN ESTA PÁGINA
Ejemplo: Configure la base de datos de configuración efímera mediante NETCONF
La base de datos efímera es una base de datos de configuración alternativa que permite a las aplicaciones cliente cargar y confirmar simultáneamente cambios de configuración en dispositivos Junos y con una transferencia de datos significativamente mayor que cuando se confirman datos en la base de datos de configuración candidata. En este ejemplo, se muestra cómo habilitar una instancia de la base de datos de configuración efímera y realizar actualizaciones a esa instancia en una sesión NETCONF.
Requisitos
En este ejemplo, se utilizan los siguientes componentes de software:
Un dispositivo que admite la configuración de la base de datos efímera y ejecuta Junos OS versión 16.2R2 o posterior o Junos OS Evolved versión 22.1R1 o posterior.
Antes de comenzar:
Habilite el servicio NETCONF sobre SSH en el dispositivo Junos.
Visión general
Varias aplicaciones cliente de protocolos NETCONF y Junos XML pueden cargar y confirmar simultáneamente cambios de configuración en un dispositivo Junos mediante el uso de instancias de base de datos efímeras. En este ejemplo, se habilita la instancia eph1
de base de datos efímera y, a continuación, se configura la instancia mediante una sesión NETCONF.
Una aplicación cliente debe abrir una instancia de la base de datos de configuración efímera para poder verla o modificarla. Después de establecer una sesión NETCONF, el cliente abre la instancia efímera mediante la operación de protocolo <open-configuration>
XML de Junos, que encierra la <ephemeral-instance>
etiqueta secundaria y el nombre de la instancia. Abrir la instancia efímera adquiere automáticamente un bloqueo exclusivo.
A continuación, el cliente carga los datos de configuración en formato de texto en la eph1
instancia efímera. Dado que los datos de configuración tienen formato de texto, la <load-configuration>
operación debe incluir el format="text"
atributo y los datos de configuración deben estar incluidos en el <configuration-text>
elemento.
En estos ejemplos, se confirman los cambios de configuración en la instancia efímera mediante la emisión de la operación del protocolo <commit-configuration>
XML de Junos. El <load-configuration>
action="merge"
atributo solo determina cómo se combinan los datos de configuración en esa instancia de la base de datos efímera. Después de confirmar los cambios en la instancia efímera, el dispositivo fusiona los datos de configuración en la configuración activa según las reglas de priorización. Si hay datos en conflicto en las diferentes bases de datos de configuración, las instrucciones de la eph1
instancia tienen una prioridad más alta que las de la instancia efímera predeterminada o la base de datos de configuración estática. Si hay otras instancias efímeras definidas por el usuario, la prioridad se determina por el orden en que se enumeran las instancias en la configuración en el [edit system configuration-database ephemeral]
nivel de jerarquía.
La <close-configuration/>
operación cierra la instancia efímera abierta y libera el bloqueo exclusivo. Los datos efímeros comprometidos se conservan hasta que se reinicia el dispositivo, momento en el que el dispositivo elimina los datos de configuración en la eph1
instancia efímera, así como los datos en todas las demás instancias efímeras.
Configuración
- Habilite la instancia de base de datos efímera
- Configure la instancia de base de datos efímera
- Resultados
Habilite la instancia de base de datos efímera
Procedimiento paso a paso
Para habilitar la instancia de base de datos efímera:
Configure el nombre de la instancia.
content_copy zoom_out_map[edit] user@host# set system configuration-database ephemeral instance eph1
Confirme la configuración.
content_copy zoom_out_map[edit] user@host# commit
Resultados
Desde el modo de configuración, escriba el comando para confirmar la show system configuration-database
configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.
[edit] user@host# show system configuration-database ephemeral { instance eph1; }
Configure la instancia de base de datos efímera
Procedimiento paso a paso
Para configurar la instancia de base de datos efímera y confirmar los cambios desde una sesión NETCONF, las aplicaciones cliente realizan los pasos siguientes:
Abra la instancia de base de datos efímera.
content_copy zoom_out_map<rpc> <open-configuration> <ephemeral-instance>eph1</ephemeral-instance> </open-configuration> </rpc> ]]>]]>
Cargue los datos de configuración en la instancia efímera abierta e incluya las etiquetas y atributos adecuados para esos datos.
content_copy zoom_out_map<rpc> <load-configuration action="merge" format="text"> <configuration-text> protocols { mpls { label-switched-path to-hastings { to 192.0.2.1; } } } </configuration-text> </load-configuration> </rpc> ]]>]]>
Si la
<load-configuration>
operación no genera errores, confirme la configuración.content_copy zoom_out_map<rpc> <commit-configuration/> </rpc> ]]>]]>
Cierre la instancia de base de datos efímera.
content_copy zoom_out_map<rpc> <close-configuration/> </rpc> ]]>]]>
Resultados
Si no hay errores al abrir o cerrar la base de datos, el servidor NETCONF devuelve un elemento vacío <rpc-reply>
en respuesta a las solicitudes. El servidor NETCONF indica una operación correcta <load-configuration>
mediante la devolución de una etiqueta vacía <ok/>
entre los <load-configuration-results>
elementos y <rpc-reply>
. De forma similar, el servidor NETCONF indica una operación correcta <commit-configuration>
mediante la devolución de una etiqueta vacía <ok/>
incluida en un <rpc-reply>
elemento.
Verificación
- Verifique la confirmación
- Compruebe los datos de configuración en la instancia de base de datos Efímera
Verifique la confirmación
Propósito
La respuesta del servidor NETCONF a la operación de confirmación debe indicar el éxito o el error de la confirmación. También puede comprobar el éxito de la confirmación revisando los eventos de confirmación de la base de datos efímera en el archivo de registro del sistema.
Acción
Revise el archivo de registro del sistema y muestre los eventos que coincidan UI_EPHEMERAL
.
user@host> show log messages | match UI_EPHEMERAL Feb 10 13:20:32 host mgd[5172]: UI_EPHEMERAL_COMMIT: User 'user' has requested commit on 'eph1' ephemeral database Feb 10 13:20:32 host mgd[5172]: UI_EPHEMERAL_COMMIT_COMPLETED: commit complete on 'eph1' ephemeral database
Significado
La UI_EPHEMERAL_COMMIT_COMPLETED
etiqueta de mensaje indica que la operación de confirmación en la eph1
instancia se realizó correctamente.
Compruebe los datos de configuración en la instancia de base de datos Efímera
Propósito
Compruebe que se agregaron los datos de configuración correctos a la instancia efímera.
Acción
En la sesión NETCONF, abra la instancia de base de datos efímera y recupere la configuración.
<rpc> <open-configuration> <ephemeral-instance>eph1</ephemeral-instance> </open-configuration> </rpc> ]]>]]> <rpc> <get-configuration format="text"/> </rpc> ]]>]]>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/16.2R2/junos"> <configuration-text xmlns="http://xml.juniper.net/xnm/1.1/xnm"> ## Last changed: 2017-02-10 13:20:32 PDT protocols { mpls { label-switched-path to-hastings { to 192.0.2.1; } } } </configuration-text> </rpc-reply> ]]>]]>
<rpc> <close-configuration/> </rpc> ]]>]]>
Puede ver los datos de configuración comprometidos con una instancia de base de datos efímera desde la CLI emitiendo el comando operativo en la show ephemeral-configuration instance instance-name
versión 18.2R1 y posteriores de Junos OS o emitiendo el show ephemeral-configuration instance-name
comando operativo en versiones anteriores.
Solución de problemas
Solucionar problemas al abrir la instancia efímera
Problema
Intenta abrir una instancia de la base de datos efímera y el servidor solo devuelve una etiqueta de apertura <rpc-reply>
. Por ejemplo:
<rpc> <open-configuration> <ephemeral-instance>eph1</ephemeral-instance> </open-configuration> </rpc> ]]>]]> <rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" xmlns:junos="http://xml.juniper.net/junos/16.2R2/junos">
Este problema puede producirse cuando otro cliente tiene el bloqueo exclusivo en esa instancia.
Solución
Si otro usuario tiene un bloqueo exclusivo en la instancia efímera, una aplicación cliente puede emitir llamadas de procedimiento remoto (RPC) para actualizar la instancia efímera, pero las operaciones en esa instancia efímera no se procesan hasta que se libera el bloqueo. Cuando se libera el bloqueo, el servidor debe emitir la etiqueta de cierre </rpc-reply>
y procesar las RPCs emitidas mientras se bloqueó la instancia efímera.
Como alternativa, una aplicación cliente puede elegir actualizar una instancia efímera diferente, pero con la advertencia de que diferentes instancias efímeras tienen distintos niveles de prioridad a la hora de resolver instrucciones de configuración en conflicto.
Solucionar problemas operativos
Problema
El dispositivo no ejecuta cambios operativos que deberían producirse como resultado de confirmar ciertos datos de configuración en la instancia de base de datos efímera, aunque haya comprobado que la confirmación se realizó correctamente y que los datos de configuración están presentes en la configuración de esa instancia efímera.
Es posible que los cambios operativos no se produzcan si hay otra instancia efímera definida por el usuario que tiene datos de configuración en conflicto y una prioridad más alta. Si hay datos en conflicto en las instancias efímeras, las instrucciones de una instancia con una prioridad más alta anulan instrucciones en una instancia con una prioridad más baja. Una instancia definida por el usuario de la base de datos de configuración efímera tiene mayor prioridad que la instancia predeterminada de base de datos efímera, que tiene mayor prioridad que la base de datos de configuración estática. Si hay varias instancias efímeras definidas por el usuario, la prioridad se determina según el orden en que se enumeran las instancias en la configuración.
Solución
Puede comprobar las instancias efímeras configuradas y su orden de prioridad mediante la emisión del show configuration system configuration-database ephemeral comando operativo en el dispositivo. Las instancias se enumeran en orden de mayor a menor prioridad. Si hay otras instancias que tienen una prioridad más alta, revise los datos de configuración en esos casos para determinar si hay instrucciones en conflicto. También puede mostrar la vista combinada de las bases de datos de configuración estáticas y efímeras emitiendo el comando en la show ephemeral-configuration merge
versión 18.2R1 y posteriores de Junos OS o emitiendo el show ephemeral-configuration | display merge
comando en versiones anteriores.
Si la instancia efímera tiene datos de configuración en conflicto y una prioridad menor que otra instancia efímera definida por el usuario, y la configuración en ese nivel jerárquico debe entrar en vigor en el dispositivo, debe eliminar los datos en conflicto en la otra instancia efímera o colocar los datos de configuración en una instancia de mayor prioridad.