EN ESTA PÁGINA
Ejemplo: Uso de cadenas de filtro de firewall
En este ejemplo se muestra el uso de cadenas de filtros de firewall. Los filtros de firewall filter1, filter2 y filter3 se aplican a la output-chain
interfaz ge-0/1/1.0 mediante las instrucciones de input-chain
configuración y.
Requisitos
Antes de empezar:
-
Debe tener un enrutador de la serie MX con MPC y que ejecute Junos versión 18.4R1 o posterior.
Si utiliza enrutadores PTX10001-36MR, PTX10004, PTX10008 o PTX10016 para esta función, instale Junos OS Evolved versión 21.4R1.
El enrutador debe estar configurado para el protocolo IP versión 4 (IPv4) (
family inet
) y configurarse como interfaz lógica con una dirección de interfaz. Todas las demás configuraciones iniciales del enrutador deben estar completas, con conectividad IPv4 básica entre los dispositivos confirmada.El tráfico que envíe debe ser compatible con las reglas de filtro del firewall para que las reglas que configure coincidan con el tráfico de prueba que envíe.
Descripción general
En este ejemplo, se muestra cómo encadenar varios filtros de firewall para entrada y salida para que puedan aplicarse a una interfaz determinada y evaluarse en secuencia. El orden de ejecución se produce en el mismo orden que la cadena, de izquierda a derecha.
El uso de cadenas de filtro (a diferencia del filtro de lista de entrada) tiene la ventaja de permitir múltiples niveles de filtrado, como el uso de un filtro inicial para realizar una clasificación genérica (como QoS) y, a continuación, uno o más filtros posteriores para un refinamiento adicional (como la seguridad) .
Una lista de entrada detiene el procesamiento de paquetes al aceptar o descartar; Los filtros de firewall posteriores no se evalúan, mientras que en una cadena de filtros de firewall una acción de aceptar o descartar detiene el procesamiento del filtro de firewall actual, pero el paquete se presenta a los filtros de firewall posteriores en la cadena de filtros de firewall, si los hay.
A partir de Junos OS Evolved versión 21.4R1, puede utilizar cadenas de filtros de firewall en enrutadores PTX10001-36MR, PTX10004, PTX10008 y PTX10016.
Puede aplicar la cadena de filtros de la siguiente manera:
set interfaces interface-name unit unit family inet filter input-chain [filter1 filter2 filter3];
set interfaces interface-name unit unit family inet filter output-chain [filter1 filter2 filter3];
En las plataformas PTX Evo, la función tiene las siguientes limitaciones:
-
Solo puede configurar el primer filtro de una cadena de filtros como específico de la interfaz. En los enrutadores de la serie MX, puede configurar todos los filtros de una cadena de filtros como específicos de la interfaz.
-
No puede configurar los mismos filtros como parte de una CLI normal de filtros y filtros de cadena en el mismo punto de enlace específico de la interfaz. En dichos puntos de enlace específicos de la interfaz, reemplace el filtro CLI existente con cadenas de filtro o viceversa y confirme los controles por separado para evitar errores.
-
No puede configurar filtros de cadena junto con "family ANY" y interface-policers en el mismo punto de enlace.
-
En las interfaces de circuito cerrado, no se admiten filtros de cadena de salida.
-
En las interfaces de circuito cerrado, no puede configurar tanto el filtro regular de CLI de entrada como los filtros de cadena.
-
En el caso de las interfaces IRB, no puede configurar tanto el filtro específico de la interfaz CLI normal como las cadenas de filtro.
-
Para la salida de estilo SP de capa 2, no puede configurar filtros específicos de la interfaz CLI normales ni filtros de cadena.
-
Los filtros como no
fast-lookup-filter
se admiten como parte de los filtros de cadena de CLI. -
Las cadenas de filtros CLI no son compatibles con Urpf-fail-filters.
-
Como los filtros de salida para la familia MPLS son compatibles únicamente y
fast-lookup-filter
los filtros de cadena no admiten filtros de búsqueda rápida, se proporcionará la comprobación de confirmación relevante al configurar la familia de filtros de cadena de salida MPLS.
Topología
En este ejemplo, se configuran varios filtros de firewall y, a continuación, se aplican en secuencia encadenando a una interfaz determinada. En este ejemplo se utiliza ge-0/1/1.0
configurado con la dirección IP 172.16.1.1/30 tanto para la cadena de entrada como para la de salida. Si un paquete no coincide con ninguno de los filtros de la lista de cadenas, el paquete se descarta.
Configuración
En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Usar el editor de CLI en el modo de configuración.
- Configuración rápida de CLI
- Configurar filtros de firewall IPv4
- Aplicar la cadena de filtros de entrada
- Confirme y confirme su configuración candidata
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos en un archivo de texto, quite los saltos de línea y, a continuación, péguelos en la CLI en el nivel de [edit]
jerarquía. Los nombres de filtro utilizados aquí son filter1, y así sucesivamente, mientras que los nombres de término son t1_f1 (término1, usando filtro1), y así sucesivamente.
set firewall family inet filter filter1 term t1_f1 from protocol tcp set firewall family inet filter filter1 term t1_f1 then count f1_t1_cnt set firewall family inet filter filter1 term t2_f1 from precedence 7 set firewall family inet filter filter1 term t2_f1 then count f1_t2_cnt set firewall family inet filter filter1 term t2_f1 then accept set firewall family inet filter filter2 term t1_f2 from dscp 0 set firewall family inet filter filter2 term t1_f2 then count f2_t1_cnt set firewall family inet filter filter2 term t2_f2 from source-port 1020 set firewall family inet filter filter2 term t2_f2 then count f2_t2_cnt set firewall family inet filter filter2 term t2_f2 then accept set firewall family inet filter filter3 term t1_f3 from destination-address 172.30.1.1/32 set firewall family inet filter filter3 term t1_f3 then count f3_t1_cnt set firewall family inet filter filter3 term t2_f3 from destination-port 5454 set firewall family inet filter filter3 term t2_f3 then count f3_t2_cnt set firewall family inet filter filter3 term t2_f3 then accept set interfaces ge-0/1/1 unit 0 family inet address 172.16.1.1/30 set interfaces ge-0/1/1 unit 0 family inet filter input-chain [ filter1 filter2 filter3 ] set interfaces ge-0/1/1 unit 0 family inet filter output-chain [ filter1 filter2 filter3 ]
Configurar filtros de firewall IPv4
Aquí configuramos los filtros del firewall. Cada uno tiene diferentes condiciones de coincidencia y acciones de conteo. Los dos primeros filtros tienen varios términos con la acción de no terminación de count, lo que significa que los paquetes coincidentes se pasarán al siguiente filtro de la cadena, mientras que el tercero tiene una acción de aceptar. Los paquetes que no coincidan con ninguna de las condiciones especificadas se descartarán.
Procedimiento paso a paso
Para configurar los filtros de firewall:
Navegue por la CLI hasta el nivel jerárquico en el que configura los filtros de firewall IPv4.
[edit] user@host# edit firewall family inet
Configure el primer filtro de firewall para contar los paquetes TCP o los paquetes con una prioridad de 7 antes de enviarlos al siguiente filtro de la cadena.
[edit firewall family inet] user@host# set filter filter1 term t1_f1 from protocol tcp user@host# set filter filter1 term t1_f1 then count f1_t1_cnt user@host# set filter filter1 term t2_f1 from precedence 7 user@host# set filter filter1 term t2_f1 then count f1_t2_cnt user@host# set filter filter1 term t2_f1 then accept
Configure el segundo filtro de firewall para contar los paquetes DSCP, o los paquetes con un puerto de origen de 1020, antes de enviarlos al siguiente filtro de la cadena.
[edit firewall family inet] user@host# set filter filter2 term t1_f2 from dscp 0 user@host# set filter filter2 term t1_f2 then count f2_t1_cnt user@host# set filter filter2 term t2_f2 from source-port 1020 user@host# set filter filter2 term t2_f2 then count f2_t2_cnt user@host# set filter filter2 term t2_f2 then accept
Configure el último filtro de firewall para contar y aceptar paquetes con una dirección de destino de 172.30.1.1/32 o un puerto de destino de 5454.
[edit firewall family inet] user@host# set filter filter3 term t1_f3 from destination-address 172.30.1.1/32 user@host# set filter filter3 term t1_f3 then count f3_t1_cnt user@host# set filter filter3 term t2_f3 from destination-port 5454 user@host# set filter filter3 term t2_f3 then count f3_t2_cnt user@host# set filter filter3 term t2_f3 then accept
Aplicar la cadena de filtros de entrada
Aquí adjuntamos los filtros de firewall a una interfaz determinada. El orden de ejecución se produce en el mismo orden que la cadena, de izquierda a derecha.
Procedimiento paso a paso
Para asignar una dirección IP a la interfaz:
Navegue hasta la interfaz que estamos utilizando para los filtros,
ge-0/1/1.0
.[edit] user@host# edit interfaces ge-0/1/1 unit 0 family inet
Asigne una dirección IPv4 a la interfaz lógica.
[edit interfaces ge-0/1/1 unit 0 family inet] user@host# set address 172.16.1.1/30
Aplique los filtros como una lista de filtros de entrada.
[edit interfaces ge-0/1/1 unit 0 family inet] user@host# set filter input-chain [ filter1 filter2 filter3 ] user@host# set filter out-chain [ filter1 filter2 filter3 ]
Confirme y confirme su configuración candidata
Procedimiento paso a paso
Para confirmar y confirmar la configuración del candidato:
Confirme la configuración de los filtros del firewall introduciendo el comando de
show firewall
modo de configuración. Si el resultado del comando no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.[edit firewall] user@host# show family inet { } filter filter1 { term t1_f1 { from { protocol tcp; } then count f1_t1_cnt; accept; } term t2_f1 { from { precedence 7; } then count f1_t2_cnt; accept; } } filter filter2 { term t1_f2 { from { dscp 0; } then count f2_t1_cnt; } term t2_f2 { from { source-port 1020; } then count f2_t2_cnt; } } filter filter3 { term t1_f3 { from { destination-address { 172.30.1.1/32; } } then { count f3_t1_cnt; } } term t2_f3 { from { destination-port 5454; } then { count f3_t2_cnt; accept; } } } } }
Confirme la configuración de la interfaz introduciendo el comando de
show interfaces
modo de configuración.[edit] user@host# show interfaces ge-0/1/1 { unit 0 { family inet { filter { input-chain [ filter1 filter2 filter3 ]; } address 172.16.1.1/30; } } }
Cuando termine de configurar el dispositivo, confirme la configuración.
[edit] user@host# commit
Verificación
Confirme que la configuración funciona como se esperaba, es decir, que el tráfico coincidente se evalúa mediante cada uno de los filtros filter1, filter2 y filter3, y que se ha realizado la acción esperada (contar o aceptar).
Enviar tráfico a través de los filtros del firewall
Propósito
Envíe tráfico desde un dispositivo al enrutador que ha configurado para ver si todos los filtros relevantes de la cadena evalúan los paquetes coincidentes.
Acción
Para comprobar que los paquetes de entrada se evalúan mediante filter1, filter2 y filter3:
Desde el host remoto conectado a
ge-0/1/1.0
, envíe un paquete con una prioridad de 7. El paquete debe contarse y luego evaluarse mediante filter2.Desde el host remoto conectado a
ge-0/1/1.0
, envíe un paquete con un valor DSCP de 0. El paquete debe ser contado y luego evaluado por filter3.Desde el host remoto conectado a
ge-0/1/1.0
, envíe un paquete con la dirección de destino 172.30.1.1/32 y el número de puerto de destino 5454. El paquete debe ser contado y luego aceptado.Para mostrar información del contador de los filtros que configuró, ingrese el comando del
show firewall filter filter-name
modo operativo. El resultado del comando muestra el número de bytes y paquetes que coinciden con los términos de filtro asociados con los contadores.