- 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 configuraciones mediante NETCONF
- play_arrow Cambiar la configuración mediante NETCONF
- Editar la configuración mediante NETCONF
- Cargar y dar formato a los datos de configuración en una sesión de NETCONF
- Establecer el modo de edición de configuración en una sesión de NETCONF
- Controlar errores al editar la configuración candidata en una sesión de NETCONF
- Reemplazar la configuración candidata mediante NETCONF
- Revertir cambios no confirmados en la configuración candidata mediante NETCONF
- Eliminar la configuración mediante NETCONF
- Cambiar elementos de configuración individuales mediante NETCONF
- Combinar elementos de configuración mediante NETCONF
- Crear elementos de configuración mediante NETCONF
- Eliminar elementos de configuración mediante NETCONF
- Reemplazar elementos de configuración mediante NETCONF
- Reemplazar patrones en los datos de configuración mediante el protocolo XML de NETCONF o Junos
- play_arrow Confirmar la configuración mediante NETCONF
- play_arrow Base de datos de configuración efímera
- Descripción de la base de datos de configuración efímera
- Instrucciones de configuración no admitidas en la base de datos de configuración efímera
- Habilitar y configurar instancias de la base de datos de configuración efímera
- Confirmar y sincronizar datos de configuración efímeros mediante el protocolo XML NETCONF o Junos
- Administración del espacio de base de datos de configuración efímera
- Ejemplo: configurar la base de datos de configuración efímera mediante 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
Notificaciones de eventos de NETCONF
RESUMEN Los clientes de NETCONF pueden suscribirse a notificaciones de eventos en las sesiones de NETCONF para recibir alertas de eventos que puedan afectar las operaciones del dispositivo o las actividades de administración.
Descripción general de las notificaciones de eventos de NETCONF
Algunos dispositivos que ejecutan Junos OS Evolved admiten notificaciones de eventos NETCONF, un servicio de notificación de eventos asíncrono entre un servidor NETCONF y un cliente NETCONF. Después de habilitar el servicio de notificación, el servidor de NETCONF envía notificaciones de eventos, de forma asincrónica a medida que se producen los eventos, a todos los clientes de NETCONF que se suscriben a las notificaciones. Los clientes pueden suscribirse a las notificaciones de NETCONF para recibir alertas de eventos que puedan afectar las operaciones del dispositivo o las actividades de administración.
El servidor NETCONF envía notificaciones para los siguientes tipos de eventos:
netconf-session-start
: indica cuándo se inicia una sesión de NETCONF e identifica al usuario que inició la sesión.netconf-session-end
: indica cuándo finaliza una sesión de NETCONF e identifica al usuario propietario de la sesión y el motivo por el que se terminó la sesión.netconf-config-change
: indica cuándo una sesión de administración confirma cambios en la configuración activa y proporciona un resumen de los cambios.OpenConfig ON_CHANGE eventos
Puede habilitar el servicio de notificación de eventos NETCONF en dispositivos compatibles. Consulte Cómo habilitar y suscribirse a las notificaciones de eventos de NETCONF para obtener instrucciones. Opcionalmente, puede configurar la capacidad de intercalado, que permite a los clientes de NETCONF suscribirse a notificaciones y enviar RPC en la misma sesión de NETCONF, como se describe en Capacidad de intercalado.
Después de habilitar las notificaciones de eventos de NETCONF, el servidor de NETCONF anuncia la notification
capacidad y la interleave
capacidad en el intercambio de capacidades.
<nc:hello xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <nc:capabilities> ... <nc:capability>urn:ietf:params:netconf:capability:notification:1.0</nc:capability> <nc:capability>urn:ietf:params:xml:ns:netconf:notification:1.0</nc:capability> <nc:capability>urn:ietf:params:netconf:capability:interleave:1.0</nc:capability> <nc:capability>urn:ietf:params:xml:ns:netmod:notification</nc:capability> ... </nc:capabilities> <nc:session-id>29862</nc:session-id> </nc:hello>
Para suscribirse al servicio de notificación de eventos en un dispositivo específico, un cliente NETCONF envía un <create-subscription>
RPC al servidor NETCONF en el dispositivo e indica lo siguiente:
<stream>
—El flujo de eventos que es de interés.Una secuencia es un conjunto de notificaciones de eventos que coincide con algunos criterios de reenvío. Una suscripción está vinculada a una sola secuencia durante la vigencia de la suscripción. La
NETCONF
transmisión es la predeterminada y solo se admite en dispositivos Junos. El servidor NETCONF devuelve un error si la solicitud de suscripción es para cualquier otra secuencia. Si omite este parámetro, el dispositivo trata la solicitud de suscripción como una solicitud para laNETCONF
secuencia.<filter>
: un filtro de subárbol que selecciona un subconjunto de todos los eventos posibles.Si un cliente NETCONF especifica un filtro, el servidor reenvía sólo los eventos seleccionados por el filtro. Si un cliente no especifica un filtro, el servidor reenvía todos los eventos. Junos OS Evolved solo admite filtros de nivel superior y no admite el uso de filtros XPATH para este elemento. Consulte Capacidad de filtrado para obtener más información.
Después de que un cliente NETCONF se suscribe a las notificaciones de eventos, el servidor de NETCONF envía las notificaciones a medida que se producen. Las notificaciones continúan hasta que finaliza la sesión de NETCONF.
Un cliente NETCONF recibe todas las notificaciones de eventos de forma predeterminada. No hay forma de restringir o limitar el contenido de una notificación en función de los privilegios del usuario. Dado que algunos eventos, por ejemplo, netconf-config-change
eventos, pueden contener información confidencial, es importante controlar el acceso de lectura a la información.
Para obtener información adicional acerca de las notificaciones de eventos de NETCONF, consulte las siguientes RFC:
Formato de notificación de eventos de NETCONF
Las notificaciones de eventos de NETCONF son documentos XML bien formados. Cuando el servidor NETCONF recibe un evento interno, lo convierte en una codificación XML adecuada con un elemento de nivel <notification>
superior y un <eventTime>
elemento secundario. El contenido real de la notificación depende del evento.
Una solicitud de suscripción puede incluir filtros para tipos específicos de notificaciones. Si la solicitud de suscripción incluye filtros, los filtros definidos por el usuario se aplican a cada notificación en la secuencia de eventos, y el servidor NETCONF reenvía sólo los eventos coincidentes al cliente.
La siguiente notificación de suceso de ejemplo contiene un netconf-config-change
evento. La notificación captura la marca de tiempo del evento, la marca de tiempo de confirmación, el usuario que confirmó los cambios de configuración y un resumen de dichos cambios.
<notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"> <eventTime>2021-04-15T11:39:41-07:00</eventTime> <netconf-config-change xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-notifications"> <change-time>2021-04-15T18:39:41Z</change-time> <changed-by> <username>admin</username> <session-id>29862</session-id> <source-host>198.51.100.25</source-host> </changed-by> <datastore>running</datastore> <edit> <target xmlns:junos-conf-root="http://yang.juniper.net/junos/conf/root" xmlns:junos-conf-interfaces="http://yang.juniper.net/junos/conf/interfaces">/junos-conf-root:configuration/junos-conf-interfaces:interfaces/junos-conf-interfaces:interface[junos-conf-interfaces:name='et-0/0/0']/junos-conf-interfaces:description</target> <operation>replace</operation> </edit> </netconf-config-change> </notification>
Las siguientes notificaciones contienen ejemplos netconf-session-start
y netconf-session-end
eventos:
<notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"> <eventTime>2021-04-15T11:28:51-07:00</eventTime> <netconf-session-start xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-notifications"> <username>admin</username> <session-id>29862</session-id> <source-host>198.51.100.25</source-host> </netconf-session-start> </notification>
<notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"> <eventTime>2021-04-15T11:49:06-07:00</eventTime> <netconf-session-end xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-notifications"> <username>admin</username> <session-id>29862</session-id> <source-host>198.51.100.25</source-host> <termination-reason>closed</termination-reason> </netconf-session-end> </notification>
Capacidad de intercalado
De forma predeterminada, después de que un cliente NETCONF se suscribe a notificaciones de eventos en una sesión de NETCONF, el cliente tampoco puede enviar RPC en la misma sesión. La capacidad de intercalado permite al cliente y al servidor de NETCONF continuar intercambiando RPC y respuestas RPC dentro de la misma sesión de NETCONF que se utiliza para las notificaciones. La capacidad de intercalado reduce el número total de sesiones de NETCONF porque no necesita una sesión de NETCONF dedicada para las notificaciones. Para utilizar la capacidad de intercalado en dispositivos que admitan esta característica, debe configurar la interleave
instrucción en el nivel de [edit system services netconf notification]
jerarquía.
Un cliente de NETCONF finaliza una suscripción terminando la sesión de NETCONF o la sesión de transporte subyacente de la sesión de NETCONF, por ejemplo, con una <close-session>
operación o <kill-session>
. Si habilita la capacidad de intercalado, un cliente puede terminar la sesión ejecutando una <close-session>
operación desde la misma sesión. Si no habilita la capacidad de intercalado, el cliente puede terminar la sesión, por ejemplo, ejecutando la <kill-session>
operación desde otra sesión.
Capacidad de filtrado
Cuando un cliente de NETCONF se suscribe a notificaciones de eventos, el cliente puede suscribirse a todas las notificaciones de eventos en la secuencia o el cliente puede suscribirse a un subconjunto de notificaciones de eventos. Para suscribirse a un subconjunto de notificaciones de eventos, el cliente incluye el elemento opcional <filter>
en el <create-subscription>
RPC. Si la solicitud de suscripción incluye filtros, los filtros se aplican a cada notificación en la secuencia de eventos y el servidor NETCONF reenvía solo los eventos coincidentes al cliente. De lo contrario, el servidor reenvía todos los eventos.
El <filter>
formato de parámetro para la <create-subscription>
operación es similar al formato de filter
parámetro para otras operaciones de NETCONF. Encierra un filtro de subárbol que selecciona las notificaciones de eventos deseadas. Sin embargo, en el caso de la operación, los <create-subscription>
dispositivos Junos solo admiten filtros de subárbol que coincidan con el elemento de nivel superior de la notificación adjunta, por ejemplo, <netconf-config-change>
. El filtro se aplica a las notificaciones de la secuencia y solo contra el contenido del <notification>
contenedor.
Los dispositivos Junos no admiten el uso de XPath para filtrar las notificaciones.
Cuando filtre para notificaciones específicas, debe incluir el espacio de nombres adecuado en la etiqueta. Si no especifica el espacio de nombres, las notificaciones de eventos no coincidirán con el filtro y el servidor NETCONF no reenviará las notificaciones. En el ejemplo siguiente, la solicitud de suscripción devuelve un subconjunto de todas las notificaciones de eventos de NETCONF. El filtro selecciona y reenvía solo <netconf-config-change>
eventos y <oc-ifl-event>
eventos.
<nc:rpc xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"> <create-subscription xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"> <filter type="subtree"> <netconf-config-change xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-notifications"></netconf-config-change> <oc-ifl-event xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0"></oc-ifl-event> </filter> </create-subscription> </nc:rpc> ]]>]]>
Cómo habilitar y suscribirse a las notificaciones de eventos de NETCONF
Debe habilitar el servicio de notificación de eventos de NETCONF en un dispositivo antes de que un cliente de NETCONF pueda suscribirse a notificaciones de eventos en una sesión de NETCONF. Una vez habilitado el servicio, un cliente de NETCONF se suscribe para recibir notificaciones de eventos enviando una solicitud de suscripción al servidor de NETCONF. La respuesta del servidor NETCONF indica si la solicitud se realiza correctamente. Si la solicitud se realiza correctamente, el servidor envía notificaciones de eventos asincrónicas al cliente NETCONF a medida que se producen los eventos y hasta que finaliza la sesión de NETCONF.
Este ejemplo requiere el siguiente hardware y software:
Dispositivo con Junos OS Evolved versión 21.2R1 o posterior compatible con el servicio de notificación de eventos NETCONF. Consulte Explorador de características para conocer los dispositivos compatibles.
Para habilitar y suscribirse a las notificaciones de eventos de NETCONF, realice las siguientes tareas:
- Habilitar el servicio de notificación de eventos de NETCONF
- Suscríbase para recibir notificaciones de eventos
- Cancelar la suscripción
Habilitar el servicio de notificación de eventos de NETCONF
Para permitir que un cliente se suscriba a notificaciones de eventos en una sesión de NETCONF:
Suscríbase para recibir notificaciones de eventos
Después de habilitar el servicio de notificación de eventos de NETCONF en un dispositivo, los clientes de NETCONF pueden suscribirse para recibir notificaciones de eventos en una sesión de NETCONF. Un cliente NETCONF puede incluir los siguientes parámetros opcionales en la solicitud de suscripción:
<stream>
—Flujo de eventos que es de interés. El valor predeterminado y único aceptable esNETCONF
.<filter>
: filtro de subárbol que selecciona un subconjunto de todos los eventos posibles.
Para suscribirse a notificaciones de eventos en una sesión de NETCONF:
Cancelar la suscripción
Un cliente de NETCONF termina una suscripción para recibir notificaciones de eventos al finalizar la sesión de NETCONF o la sesión de transporte subyacente de la sesión de NETCONF.
Si la capacidad de intercalado está habilitada, emita la
<close-session/>
operación en la sesión de NETCONF.content_copy zoom_out_map<rpc><close-session/></rpc>
Emita la
<kill-session>
operación desde una sesión NETCONF externa y especifique el ID de sesión para que finalice la sesión de NETCONF (como se define en el<session-id>
elemento del intercambio inicial<hello>
).content_copy zoom_out_map<rpc><kill-session><session-id>29862</session-id></kill-session></rpc>
Finalice la sesión de transporte subyacente de la sesión de NETCONF.