Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Uso de la llamada gRPC para la recopilación segura de telemetría

Descripción de la llamada de salida gRPC

A partir de Junos OS versión 22.4R1, JTI admite la compatibilidad con la llamada remota gRPC en enrutadores serie ACX, enrutadores serie MX, enrutadores serie PTX y conmutadores serie QFX. Con el marcado gRPC, el dispositivo de destino (servidor) inicia una sesión gRPC con el recopilador (cliente). Cuando se establece la sesión, el destino transmite al recopilador los datos de telemetría especificados por la suscripción del grupo de sensores. Esto contrasta con el método de acceso telefónico de la interfaz de administración de red gRPC (gNMI), en el que el recopilador inicia una conexión con el dispositivo de destino.

El marcado gRPC simplifica las estadísticas de telemetría de streaming. La configuración del dispositivo de destino para transmitir estadísticas y exportarlas a una dirección IP del recopilador elimina la carga del acceso que recae sobre el recopilador (cliente). (ver Figura 1).

Figura 1: Marcación gRPC gRPC Dial-Out

La llamada gRPC ofrece varios beneficios en comparación con la llamada gRPC:

  • Reduce la exposición de los dispositivos de destino a amenazas fuera de su topología.

  • Simplifica el acceso a un dispositivo de destino. El método de acceso telefónico gRPC requiere que un recopilador supere una serie de configuraciones complejas de firewall para obtener acceso al dispositivo de destino. gRPC Dial-Out no.

  • Los recolectores pueden ser apátridas; Sin la necesidad de iniciar una sesión, simplemente escuchan, se suscriben y almacenan los datos recopilados.

  • Admite el cifrado mutuo para una mayor seguridad.

Para habilitar la exportación de estadísticas, incluya las export-profile instrucciones y sensor en el nivel de jerarquía [edit services analytics]. El perfil de exportación debe incluir la tasa de informes, el servicio de transporte (por ejemplo, gRPC) y el formato (por ejemplo, gbp-gnmi). La configuración del sensor debe incluir el nombre del recopilador (el nombre del servidor), el nombre del perfil de exportación y la ruta del recurso. Un ejemplo de una ruta de recurso es /interfaces/interface[name='fxp0'.

Configurar una dirección IP de origen para conexiones de marcado de gRPC heredadas

A partir de Junos OS Evolved versión 24.2R1, JTI admite la configuración de una dirección IP de origen para conexiones de llamada de servicio gRPC heredadas en enrutadores serie ACX, enrutadores serie PTX y conmutadores serie QFX. En versiones anteriores que admiten el marcado gRPC heredado, la dirección IP de la interfaz saliente se utiliza como dirección de origen sin opción para configurar una dirección IP de origen. Esta función es compatible con las implementaciones FLEX, lo que permite enviar llamadas salientes desde la dirección IP o la dirección de interfaz especificadas del enrutador (como una dirección loopback0).

Si no configura una dirección local, se utilizará la dirección local predeterminada.

Para configurar una dirección local:

  1. En el [edit services analytics export-profile] modo de configuración, vaya al nivel de jerarquía y agregue el nombre de su perfil de exportación (aquíep1).
  2. Incluya la instrucción (aquí, con dirección local-address 2000:200::20IPv6 ).

    Solo puede usar una dirección IPv6 para conexiones de marcado gRPC heredadas (tipo grpcde transporte . Las direcciones IPv6 no son compatibles con el transporte UDP. Si se configura el transporte UDP, se muestra un error al confirmar la configuración.

  3. Utilice el siguiente comando de modo operativo para confirmar la configuración de la dirección local.

    El archivo ep1 de exportación muestra la dirección 2000:200::20 IPv6 como la dirección local.

Configurar una instancia de enrutamiento para conexiones de marcado de gRPC heredadas

A partir de Junos OS Evolved versión 24.2R1, JTI admite la configuración de una instancia de enrutamiento para conexiones de marcado de servicio gRPC heredadas en enrutadores de la serie ACX, enrutadores de la serie PTX y conmutadores de la serie QFX.

Si no configura una instancia de enrutamiento, se utilizará la instancia de enrutamiento predeterminada.

Para configurar una instancia de enrutamiento:

  1. En el [edit services analytics export-profile] modo de configuración, vaya al nivel de jerarquía y agregue el nombre de su perfil de exportación (aquíep1).
  2. Incluya la routing-instance instrucción (aquí, con instancia mgmt-1de enrutamiento ).

    Solo puede configurar una instancia de enrutamiento para conexiones de marcado gRPC heredadas (tipo grpcde transporte . Si se configura el transporte UDP, se muestra un error al confirmar la configuración.

  3. Utilice el siguiente comando de modo operativo para confirmar la configuración de la instancia de enrutamiento.

    El archivo ep1 de exportación muestra la instancia de enrutamiento como mgmt-1.

Descripción general de los túneles gRPC

Un túnel gRPC actúa como un protocolo cliente-servidor que marca una sesión desde el destino al cliente TCP a través de la instancia de enrutamiento predeterminada o la instancia de enrutamiento configurada. Si no elige configurar una instancia de enrutamiento, el túnel gRPC utiliza la instancia de enrutamiento predeterminada.

Puede configurar la dirección de origen de cada sesión de túnel gRPC para marcar una conexión con el servidor de túnel. Si no configura la dirección de origen, el kernel elige la dirección de origen que puede llegar al servidor de túnel.

Para obtener más información acerca de los túneles gRPC, consulte https://github.com/openconfig/grpctunnel.

Un túnel gRPC tiene tres entidades principales:

  • Destino: representa el dispositivo de red. El destino es un cliente gRPC.

  • Servidor de túnel: una entidad de software que es una aplicación externa que administra la suscripción y los registros de destino. El servidor de túnel es un servidor gRPC.

  • Cliente de túnel: entidad de software que realiza tareas de cliente. El cliente de túnel puede ser autónomo dentro del servidor de túnel. El cliente de túnel también es un cliente gRPC.

Ventajas de usar una sesión de túnel gRPC:

  • Supera una serie de configuraciones de firewall complejas a medida que la conexión se establece desde el lado del servidor.

  • Acceda a varias aplicaciones de servidor TCP, como gNMI-gNOI, SSH o NETCONF-SSH, sin ningún requisito operativo.

Arquitectura de túnel gRPC

Un túnel gRPC es una infraestructura genérica para que las aplicaciones basadas en TCP se comuniquen dentro de mensajes gRPC.

En general, el cliente TCP inicia una conexión con el servidor o destino TCP. Los dispositivos Junos actúan como destino que ejecuta aplicaciones de servidor TCP como gNMI-gNOI, SSH y NETCONF-SSH. Si un cliente no puede comunicarse con el servidor, las razones comunes podrían ser:

  • El servidor se encuentra con configuraciones de firewall complejas con firewalls que impiden las conexiones entrantes.

  • El servidor se encuentra con un enrutador que implementa la traducción de direcciones de red (NAT).

  • El servidor se encuentra con cualquier otro requisito operativo, lo que impide las conexiones externas.

Cuando un cliente TCP no puede alcanzar un destino, puede configurar una sesión de túnel gRPC para establecer una conexión entre el cliente TCP y el destino. Una sesión de túnel gRPC establece una conexión en la dirección inversa donde un destino llama a un cliente TCP.

Para utilizar una sesión de túnel gRPC, se agrega un cliente de túnel al lado de destino donde se ejecuta el proceso grpc-tunnel y se realizan todas las configuraciones relacionadas con el túnel gRPC. En el lado del cliente TCP, se agrega un servidor de túnel.

Debe incluir la grpc-tunnel instrucción configuration en la jerarquía [edit system services] para configurar una sesión de túnel gRPC.

Seguridad de túnel gRPC

El túnel gRPC es un modelo de marcado externo en el que un dispositivo inicia una conexión basada en la configuración. El túnel gRPC se encuentra en un canal gRPC seguro que utiliza certificados TLS.

Ejemplo: configurar un túnel gRPC

Visión general

En esta sección se describen los pasos necesarios para configurar el destino para este ejemplo. La atención se centra en el destino, ya que es el dispositivo Junos donde está configurado el túnel gRPC.

Requisitos

En este ejemplo se utilizan los siguientes componentes de software y hardware:

  • Junos OS o Junos Evolved versión 22.4 o posterior para dispositivos de enrutamiento y conmutación

  • Un dispositivo host como cliente de túnel

  • Un dispositivo host como servidor de túnel

Topología

La figura 1 muestra la topología utilizada en este ejemplo.

Figura 2: Configuración del túnel gRPC tunnel setup gRPC

Según la configuración de Junos del dispositivo de destino, marca un túnel grpc al servidor de túnel. El dispositivo de destino se registra con el servidor de túnel a través de la RPC de flujo de registro.

Cuando un cliente solicita una sesión TCP a un destino específico, el servidor de túnel actúa como intermediario y se conecta a la sesión de destino registrada anteriormente en el servidor de túnel.

Si el destino admite el tipo de destino solicitado, el dispositivo marcará un nuevo túnel llamado RPC de flujo de túnel. Esto establece un túnel gRPC entre el cliente y el destino a través del servidor de túnel. El cliente de túnel ahora puede tener acceso a las aplicaciones TCP previstas en el destino.

Nota:

Solo puede haber una secuencia de registro entre un servidor de túnel y el dispositivo de red, pero varias secuencias de túnel para el mismo par.

Configurar un túnel gRPC

Configuración rápida de CLI

Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, luego, copie y pegue los comandos en la CLI en el nivel de jerarquía [edit].

Procedimiento paso a paso

Siga estos pasos para configurar el túnel gRPC en el dispositivo de destino.

  1. Configure los servidores bajo gRPC-tunnel.

    1. Configure la dirección IPv4 o IPv6 o el nombre de host del servidor de túnel.

    2. Configure el número de puerto a través del cual escucha el servidor de túnel.

    3. Configure las credenciales mediante la instrucción tls .

    4. Especifique las aplicaciones de destino a las que desea acceder. Las opciones disponibles son ssh, netconf-ssh y gnmi-gnoi.

  2. (Opcionalmente) Establezca el intervalo de reintento (en segundos). Si no se puede acceder al servidor de túnel, el dispositivo de destino vuelve a intentar conectarse después del intervalo de reintento.

  3. (Opcionalmente)

    Establezca la instancia de enrutamiento. Si no establece la instancia de enrutamiento, el túnel gRPC utiliza la instancia de enrutamiento predeterminada.
  4. (Opcionalmente)

    Establezca la dirección de origen. Si no establece la dirección de origen, el kernel elige la dirección de origen que puede llegar al servidor de túnel.
  5. (Opcionalmente) Configure la opción target-string-option en grpc-tunnel.

    1. Utilice la instrucción pattern para crear una lista ordenada de opciones admitidas.

    2. Utilice la instrucción custom-string para definir una cadena personalizada que se envía cuando el patrón de instrucción contiene custom como una de las opciones.

    3. Utilice la instrucción delimitadora cuando se seleccione más de una opción en el patrón. De forma predeterminada, se utiliza el (símbolo de | barra vertical).

Nota:

Se puede configurar un máximo de 10 servidores de túnel.

Resultados

Mostrar los resultados de la configuración en el dispositivo de destino. El resultado refleja solo la configuración funcional agregada en este ejemplo.

Tabla de historial de cambios

La compatibilidad con las funciones viene determinada por la plataforma y la versión que esté utilizando. Utilice el Explorador de características para determinar si una característica es compatible con su plataforma.

Lanzamiento
Descripción
22.4R1
A partir de Junos OS Release y Junos OS Evolved Release 22.4R1, JTI admite la compatibilidad con la llamada remota gRPC en enrutadores serie ACX, enrutadores serie MX, enrutadores serie PTX y conmutadores serie QFX.