Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Condiciones de coincidencia flexible del filtro de firewall

Las condiciones de coincidencia de filtros de firewall estándar varían según la familia de protocolos del tráfico que coincide. Por ejemplo, los términos disponibles para el tráfico de protocolo de puente son diferentes de los disponibles para las familias de protocolos inet o inet6. Sin embargo, los campos disponibles para coincidir dentro de cada familia de protocolos son fijos o predefinidos. Esto significa que los filtros solo pueden coincidir en patrones dentro de esos campos predefinidos.

Mediante el uso de condiciones de coincidencia flexibles, se pueden construir filtros de firewall que inician la coincidencia en ubicaciones de capa 2, capa 3, capa 4 o de carga. A partir de ahí, se pueden especificar criterios de desplazamiento adicionales, lo que permite coincidencias de patrones en ubicaciones personalizadas y definidas por el usuario dentro de un paquete.

Los términos de filtro de coincidencia flexible se aplican a las interfaces MPC o MIC como filtros de entrada o salida, al igual que cualquier otro término de filtro de firewall. También se pueden crear términos de filtro de coincidencia flexible como plantillas en el [edit firewall] nivel jerárquico. A continuación, se puede hacer referencia a estas plantillas dentro de un término de coincidencia flexible.

Para los enrutadores de la serie MX, las condiciones de coincidencia flexibles solo se admiten con MPC o MIC. En el caso de entornos en los que se instalan FPC, PIC o DPC junto con MPC o MIC, asegúrese de aplicar solo los criterios de filtro de firewall de coincidencia flexible a las interfaces de MPC o MIC.

Nota:

Para los enrutadores serie MX con MPC, debe inicializar el contador de filtros para filtros de coincidencia de solo Trio en la MIB caminando la MIB SNMP correspondiente. Por ejemplo, para cualquier filtro que esté configurado o cambiado con respecto a sus filtros de solo Trio, debe ejecutar un comando como el siguiente: show snmp mib walk (ascii | decimal) object-id. Esto obliga a Junos a aprender los contadores de filtros y asegurarse de que se muestran las estadísticas del filtro (esto se debe a que es posible que la primera encuesta para filtrar estadísticas no muestre todos los contadores). Los filtros de coincidencia de solo Trio son aquellos que incluyen al menos una condición o acción de coincidencia que solo es compatible con el chipset de Trio.

Esta guía se aplica a todos los enhanced-mode filtros de firewall. También se aplica a Condiciones de coincidencia de filtro de firewall para tráfico IPv4 los términos de filtro de coincidencia flexible para el rango de desplazamiento o la máscara de desplazamiento, gre-keyy a las condiciones de coincidencia de filtro de firewall para el tráfico IPv6 con cualquiera de las siguientes condiciones de coincidencia: payload-protocol, extension headers, is_fragment. También se aplica a filtros con cualquiera de los siguientes Acciones de terminación del filtro de firewallelementos: encapsulate o decapsulate, o cualquiera de los siguientes Acciones nominativas de filtro de firewall: policy-mapy clear-policy-map.

Jerarquía de la instrucción

Los términos de filtro de coincidencia flexible están disponibles en tres variaciones, como se muestra en Tabla 1. La flexible-match variación se configura en el [edit firewall] nivel de jerarquía. Se utiliza para definir plantillas de coincidencia flexibles. Los flexible-filter-match-mask y flexible-match-range se configuran en la [edit firewall family [inet|inet6|bridge|ethernet-switching|ccc|vpls] filter <filter-name> term <term-name> from] jerarquía. Utilice el family ethernet-switching filtro para conmutadores EX9200.

Tipos de coincidencia de filtro flexible

Tabla 1: Tipos de coincidencia de filtro flexible

Tipo de coincidencia de filtro flexible

Atributos disponibles

Descripción

flexible-match

<name>

Cree una plantilla de coincidencia flexible denominada como atributo <name> .

 

bit-length

Longitud de los datos que se coincidirán en bits, no necesaria para la entrada de cadena (0..32)

Para los conmutadores QFX5120 y EX4650, 16 y 32 son las únicas longitudes de bits válidas.

bit-offset

Desplazamiento de bits después del desplazamiento (match-start + byte) (0..7)

byte-offset

Desplazamiento de byte después del punto de inicio del partido

match-start

Punto de inicio para coincidir en el paquete

flexible-match-mask

bit-length

Longitud de los datos que se coincidirán en bits, no necesaria para la entrada de cadena (0..128)

bit-offset

Desplazamiento de bits después del desplazamiento (match-start + byte) (0..7)

byte-offset

Desplazamiento de byte después del punto de inicio del partido

flexible-mask-name

Seleccione una coincidencia flexible del campo de plantilla predefinido. Obligatorio a menos que match-start esté configurado.

mask-in-hex

Enmascarar bits en los datos del paquete que se coincidirán.

match-start

Punto de inicio para coincidir en el paquete. Obligatorio a menos que flexible-mask-name esté configurado.

prefix

Datos de valor/cadena que se coincidirán.

flexible-match-range

bit-length

Longitud de los datos que se coincidirán en bits. (0..32) Obligatorio a menos que flexible-range-name esté configurado.

bit-offset

Desplazamiento de bits después del desplazamiento (match-start + byte). (0..7)

byte-offset

Desplazamiento de byte después del punto de inicio del partido

flexible-range-name

Seleccione una coincidencia flexible a partir de la plantilla predefinida.

match-start

Punto de inicio para coincidir en el paquete. Obligatorio a menos que flexible-range-name esté configurado.

range

Rango de valores que se coincidirán.

range-except

Rango de valores que no se coincidirán.

Ubicaciones de inicio de coincidencia de filtro flexible

Los términos de filtro de coincidencia flexible se construyen dando una ubicación de inicio o un punto de anclaje dentro del paquete. Las ubicaciones de inicio pueden ser cualquiera de las siguientes: capa 2, capa 3, capa 4 o carga, según la familia de protocolos en uso. Tabla 2 muestra las ubicaciones de inicio de coincidencia de filtros flexibles disponibles por familia de protocolos. Estas ubicaciones de inicio disponibles se utilizan como las ubicaciones para los match-start términos del filtro de coincidencia flexible.

Desde estas ubicaciones de inicio, se pueden utilizar desplazamientos de bytes y bits específicos para permitir que el filtro coincida con patrones en ubicaciones muy específicas dentro del paquete.

Tabla 2: Ubicaciones de inicio de coincidencia de filtro flexible

Familia de protocolos

Ubicaciones de inicio disponibles

inet

layer-3, layer-4 and payload

Para los conmutadores QFX5120 y EX4650, se agregó compatibilidad con filtros de coincidencia flexible de capa 2 y capa 3 (solo) en la versión 20.1R1 de Junos.

inet6

layer-3, layer-4 and payload

Para los conmutadores QFX5120 y EX4650, se agregó compatibilidad con filtros de coincidencia flexible de capa 2 y capa 3 (solo) en la versión 20.1R1 de Junos.

bridge

layer-2, layer-3, layer-4 and payload

ccc

layer-2, layer-3, layer-4 and payload

mpls

layer-3 and payload

vpls

layer-2, layer-3, layer-4 and payload

ethernet-switching

(Conmutadores EX9200) layer-2, layer-3, layer-4 and payload

Para los conmutadores QFX5120 y EX4650, se agregó compatibilidad con filtros de coincidencia flexible de capa 2 y capa 3 (solo) en la versión 20.1R1 de Junos. A continuación, se puede encontrar un ejemplo de uso de desplazamiento de paquete de capa 2 y longitud de coincidencia.

Ejemplos de coincidencia de filtro flexible

En el ejemplo siguiente se ilustra el uso y el contexto de flexible-match-mask.

Se <mask-name> especifica para flexible-mask-name qué plantilla predefinida se utiliza para la condición de coincidencia flexible. Las plantillas se pueden definir para especificar en qué lugar (posición) del paquete se debe ejecutar la condición de coincidencia flexible.

El <mask> para mask-in-hex está en formato hexadecimal. Por ejemplo, una máscara configurada de 0xf0fc especifica una coincidencia para los cuatro bits de puño en el primer byte (como se hace referencia por <mask-name>), y para los primeros seis bits en el segundo byte. Si el paquete es IPv4 y <mask-name> hace referencia a los dos primeros bytes en el encabezado L3, la búsqueda es para el campo de versión IP y el campo DSCP. Como otro ejemplo, una máscara 0xffc0 configurada especifica una búsqueda para el primer bytes completo y para dos bits del segundo byte. Si se refiere a los <mask-name> dos primeros bytes en el encabezado L3 y el paquete es paquete IPv6, esto especifica el campo de versión IP y DSCP en el campo Clase de tráfico.

El <pattern> para especificado es prefix una cadena ASCII. Si los dos primeros caracteres son 0x, la cadena se procesa como un número hexadecimal que codifica los bits adecuados. Por ejemplo, el prefijo 0x40c0 configurado en combinación con máscara 0xf0fc y <mask-name> haciendo referencia a los dos primeros bytes en el encabezado L3, indica una búsqueda 0100 en los primeros cuatro bits (el campo de versión es igual a 4) y 1100 00 en el campo DSCP de IPv4 (DSCP es igual a cs6). O bien, usando el prefijo 0x6c00 configurado en combinación con máscara 0xffc0 y <mask-name> haciendo referencia a los dos primeros bytes en el encabezado L3, especifica una búsqueda para 0110 en los primeros cuatro bits (el campo de versión es igual a 6) y 1100 00 en el campo DSCP IPv6 (DSCP es igual a cs6).

El primer ejemplo define una plantilla de máscara que selecciona los dos primeros bytes (16 bits) del encabezado L3 para una coincidencia flexible:

En el siguiente ejemplo se define una plantilla de máscara que selecciona del tercero al sexto bytes (32 bits) de la carga del paquete para una coincidencia flexible:

En este ejemplo, se muestra una coincidencia de caracteres ASCII para la cadena JNPR (caracteres ASCII: 0x4a, 0x4e, , 0x50) 0x52en el tercer al sexto byte de la carga del paquete. El filtro usa la FM-FOUR-PAYLOAD-BYTES plantilla de máscara definida en el ejemplo anterior.

En este ejemplo, se muestra un filtro ccc de familia que busca DSCP igual a cs6 y DSCP ef, independientemente de si los paquetes encapsulados son IPv4 o IPv6. Usa la FM-FIRST-TWO-L3-BYTES plantilla de máscara definida en el primer ejemplo.

En este ejemplo, se muestra cómo usar una longitud de coincidencia, a partir de un desplazamiento de paquete de capa 2, en un filtro de firewall para un dispositivo QFX5120-32C, QFX5120-48Y o EX4650 que ejecuta junos versión 20.1R1. Aquí, usamos una longitud de bits de 32 bits y la ethernet-switching familia (inet y inet6 también son compatibles, al igual que con un desplazamiento de capa 3).

Tabla de historial de versiones
Liberación
Descripción
23.2R1
Desde la versión 23.2R1 de Junos OS, admitemos filtros de coincidencia flexibles de capa 2 y 3 (solo) en el EX4100-24P, Conmutadores EX4100-24T, EX4100-24MP, EX4100-48P, EX4100-48T, EX4400-24T, EX4400-24X y EX4400-48F.
20.1R1
Para los conmutadores QFX5120 y EX4650, se agregó compatibilidad con filtros de coincidencia flexible de capa 2 y capa 3 (solo) en la versión 20.1R1 de Junos.