Descripción de la RPF de unidifusión (enrutadores)
Para las interfaces que transportan tráfico IPv4 o IPv6, puede reducir el impacto de los ataques de denegación de servicio (DoS) configurando el reenvío de ruta inversa de unidifusión (RPF). El FPR de unidifusión ayuda a determinar el origen de los ataques y rechaza paquetes desde direcciones de origen inesperadas en interfaces en las que el FPR de unidifusión está habilitado.
-
Puede proteger una red aplicando la función de comprobación de RPF de unidifusión en el borde (en interfaces orientadas al cliente) de la red. En un entorno de ISP, esto puede afectar a la red, que puede imponerse en una configuración escalada. En caso de que ya haya protegido el borde de su red, un paquete con una dirección de origen IP falsificada ni siquiera aparecería en una interfaz orientada hacia el núcleo. En este caso, no es necesaria la comprobación RPF de unidifusión. Habilitar la función RPF de unidifusión puede afectar el rendimiento del plano de control, así que úsela donde sea necesario. Por lo tanto, se recomienda encarecidamente no habilitar esta función en las interfaces principales (internas) de la red.
Actualmente, en plataformas PTX, la configuración de la especificación de flujo BGP (flowspec) crea un filtro implícito para establecer la instancia de VRF. En las plataformas PTX, la búsqueda de filtro precede a la búsqueda de IP de origen/destino. Por lo tanto, la búsqueda de IP de origen y destino se realiza en el contexto de la instancia de VRF.
RPF de unidifusión y ruta predeterminada
Cuando no se puede elegir la ruta activa entre las rutas de una tabla de enrutamiento, el enrutador elige una ruta predeterminada. Una ruta predeterminada equivale a una dirección IP de 0.0.0.0/0. Si configura una ruta predeterminada y configura RPF de unidifusión en una interfaz que utiliza la ruta predeterminada, RPF de unidifusión se comporta de manera diferente a como lo hace de otra manera.
Para determinar si la ruta predeterminada utiliza una interfaz, escriba el show route
comando:
user@host> show route address
address
es la dirección del salto siguiente de la ruta predeterminada configurada. La ruta predeterminada utiliza las interfaces que se muestran en el show route
resultado del comando.
En las secciones siguientes se describe cómo se comporta el RPF de unidifusión cuando una ruta predeterminada utiliza una interfaz y cuando una ruta predeterminada no utiliza una interfaz:
- Comportamiento de RPF de unidifusión con una ruta predeterminada
- Comportamiento de RPF de unidifusión sin una ruta predeterminada
- RPF de unidifusión con asimetría de enrutamiento
Comportamiento de RPF de unidifusión con una ruta predeterminada
En todos los enrutadores, excepto en aquellos con MPC y el enrutador MX80, la RPF de unidifusión se comporta de la siguiente manera si configura una ruta predeterminada que utiliza una interfaz configurada con RPF de unidifusión:
Modo suelto: todos los paquetes se aceptan automáticamente. Por este motivo, se recomienda no configurar el modo flexible RPF de unidifusión en las interfaces que utiliza la ruta predeterminada.
Modo estricto: el paquete se acepta cuando la dirección de origen del paquete coincide con cualquiera de las rutas (predeterminadas o aprendidas) a las que se puede acceder a través de la interfaz. Tenga en cuenta que las rutas pueden tener múltiples destinos asociados a ellas; Por lo tanto, si uno de los destinos coincide con la interfaz entrante del paquete, se acepta el paquete.
En todos los enrutadores con MPC y el enrutador MX80, el FPR de unidifusión se comporta de la siguiente manera si configura una ruta predeterminada que utiliza una interfaz configurada con RPF de unidifusión:
Modo flexible: se aceptan todos los paquetes, excepto los paquetes cuyo origen se aprende de la ruta predeterminada. Todos los paquetes cuyo origen se aprende de la ruta predeterminada se descartan en el motor de reenvío de paquetes. La ruta predeterminada se trata como si la ruta no existiera.
Modo estricto: el paquete se acepta cuando la dirección de origen del paquete coincide con cualquiera de las rutas (predeterminadas o aprendidas) a las que se puede acceder a través de la interfaz. Tenga en cuenta que las rutas pueden tener múltiples destinos asociados a ellas; Por lo tanto, si uno de los destinos coincide con la interfaz entrante del paquete, se acepta el paquete.
En todos los enrutadores, el paquete no se acepta cuando se cumple alguna de las siguientes condiciones:
La dirección de origen del paquete no coincide con un prefijo de la tabla de enrutamiento.
La interfaz no espera recibir un paquete con este prefijo de dirección de origen.
Comportamiento de RPF de unidifusión sin una ruta predeterminada
Si no configura una ruta predeterminada, o si la ruta predeterminada no utiliza una interfaz configurada con RPF de unidifusión, RPF de unidifusión se comporta como se describe en Configuración del modo estricto RPF de unidifusión y Configuración del modo flexible RPF de unidifusión. En resumen, el FPR de unidifusión sin una ruta predeterminada se comporta de la siguiente manera:
Modo estricto: el paquete no se acepta cuando se cumple alguna de las siguientes condiciones:
El paquete tiene una dirección de origen que no coincide con un prefijo de la tabla de enrutamiento.
La interfaz no espera recibir un paquete con este prefijo de dirección de origen.
Modo suelto: el paquete no se acepta cuando tiene una dirección de origen que no coincide con un prefijo de la tabla de enrutamiento.
RPF de unidifusión con asimetría de enrutamiento
En general, se recomienda no habilitar RPF de unidifusión en interfaces internas de la red, ya que es probable que las interfaces internas tengan asimetría de enrutamiento. La asimetría de enrutamiento significa que las rutas de salida y retorno de un paquete son diferentes. Es más probable que los enrutadores en el núcleo de la red tengan rutas inversas asimétricas que los enrutadores en el borde del cliente o proveedor. La figura 1 muestra el FPR de unidifusión en un entorno con asimetría de enrutamiento.
En la figura 1, si habilita RPF de unidifusión en la interfaz so-0/0/0
, no se rechaza el tráfico destinado al enrutador A. Si habilita la RPF de unidifusión en la interfaz so-1/0/1
, se rechaza el tráfico del enrutador A.
Si necesita habilitar RPF de unidifusión en un entorno de enrutamiento asimétrico, puede usar filtros de error para permitir que el enrutador acepte paquetes entrantes que se sabe que llegan por rutas específicas. Para obtener un ejemplo de un filtro de error que acepta paquetes con una dirección de origen y destino específica, consulte Configuración de RPF de unidifusión.
Configuración del modo estricto RPF de unidifusión
En el modo estricto, el FPR de unidifusión comprueba si el paquete entrante tiene una dirección de origen que coincida con un prefijo de la tabla de enrutamiento y si la interfaz espera recibir un paquete con este prefijo de dirección de origen.
Si el paquete entrante no supera la comprobación RPF de unidifusión, el paquete no se acepta en la interfaz. Cuando un paquete no es aceptado en una interfaz, RPF de unidifusión cuenta el paquete y lo envía a un filtro de error opcional. Si el filtro de error no está configurado, la acción predeterminada es descartar silenciosamente el paquete.
El filtro de error opcional permite aplicar un filtro a los paquetes que no superan la comprobación RPF de unidifusión. Puede definir el filtro de error para realizar cualquier operación de filtro, incluidos la aceptación, el rechazo, el registro, el muestreo o la vigilancia.
Cuando el FPR de unidifusión está habilitado en una interfaz, los paquetes del Protocolo de arranque (BOOTP) y los paquetes del Protocolo de configuración dinámica de host (DHCP) no se aceptan en la interfaz. Para permitir que la interfaz acepte paquetes BOOTP y DHCP, debe aplicar un filtro de error que acepte todos los paquetes con una dirección de origen y una dirección de destino de 255.255.255.255.
Para obtener un ejemplo de configuración, consulte Configuración de RPF de 0.0.0.0
unidifusión.
Para obtener más información acerca de cómo definir filtros de error, consulte la Guía del usuario de directivas de enrutamiento, filtros de firewall y políticas de tráfico.
Para configurar RPF de unidifusión, incluya la rpf-check
instrucción:
rpf-check <fail-filter filter-name>;
Puede incluir esta instrucción en los siguientes niveles jerárquicos:
-
[edit interfaces interface-name unit logical-unit-number family (inet | inet6)]
-
[edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number family (inet | inet6)]
El uso de RPF de unidifusión puede tener varias consecuencias cuando se implementa con filtros de tráfico:
-
Los filtros de error RPF se evalúan después de los filtros de entrada y antes de los filtros de salida.
-
Si configura un contador de filtros para los paquetes descartados por un filtro de entrada y desea saber el número total de paquetes descartados, también debe configurar un contador de filtros para los paquetes descartados por la comprobación RPF.
-
Para contar los paquetes que no superan la comprobación RPF y son aceptados por el filtro de error RPF, debe configurar un contador de filtros.
-
Si un filtro de entrada reenvía paquetes a cualquier lugar que no sean las tablas de enrutamiento inet.0 o inet6.0, no se realiza la comprobación del RPF de unidifusión.
-
Si un filtro de entrada reenvía paquetes a cualquier lugar que no sea la instancia de enrutamiento para la que está configurada la interfaz de entrada, no se realiza la comprobación del RPF de unidifusión.
En la lista con viñetas mencionada anteriormente, el primer, penúltimo y último punto no son aplicables a las plataformas MX porque en las plataformas MX uRPF se procesa antes de la ejecución de los filtros de firewall. La comprobación uRPF se procesa para comprobar la dirección de origen antes de habilitar cualquier acción FBF (reenvío basado en filtros) para interfaces estáticas y dinámicas. Esto se aplica a las familias IPv4 e IPv6.
En enrutadores de las series ACX y MX:
-
El filtro de error uRPF se admite en ACX1000, ACX2000, ACX4000 y ACX500, ACX5048 y ACX5096. El filtro no es compatible con ACX5448, ACX710, ACX7100-32C, ACX7100-48, ACX7509 ni en todos los enrutadores de ACX7000 serie.
- El filtro de error uRPF no puede coincidir con los paquetes que fallaron en la comprobación del puerto de entrada (modo estricto).
- El filtro de error uRPF puede hacer coincidir paquetes que fallan en la búsqueda IP de origen, pero no puede hacer coincidir paquetes que no superen la comprobación de la interfaz de entrada (modo estricto).
- El filtro de error uRPF solo se aplica a instancias específicas de la interfaz del filtro de firewall.
- Los filtros de error de uRPF no admiten acciones de rechazo e instancia de enrutamiento.
Configure el modo estricto RPF de unidifusión y aplique un filtro de error que permita a la interfaz aceptar paquetes BOOTP y DHCP. El filtro acepta todos los paquetes con una dirección de 0.0.0.0
origen y una dirección de destino de 255.255.255.255
.
Para configurar RPF de unidifusión en modo estricto:
Configuración del modo flexible RPF de unidifusión
De forma predeterminada, RPF de unidifusión utiliza el modo estricto. El modo suelto de RPF de unidifusión es similar al modo estricto de RPF de unidifusión y tiene las mismas restricciones de configuración. La única comprobación en modo suelto es si el paquete tiene una dirección de origen con un prefijo correspondiente en la tabla de enrutamiento; El modo flexible no comprueba si la interfaz espera recibir un paquete con un prefijo de dirección de origen específico. Si no se encuentra el prefijo correspondiente, el modo flexible RPF de unidifusión no acepta el paquete. Al igual que en el modo estricto, el modo flexible cuenta el paquete con errores y, opcionalmente, lo reenvía a un filtro con errores, que acepta, rechaza, registra, toma muestras o aplica políticas al paquete.
Para configurar el modo flexible RPF de unidifusión, incluya :mode
Configuración del modo flexible RPF de unidifusión con capacidad para descartar paquetes
El modo flexible RPF de unidifusión tiene la capacidad de descartar paquetes con la dirección de origen apuntando a la interfaz de descarte. El uso del modo flexible RPF de unidifusión, junto con el filtrado de ruta nula desencadenada remotamente, proporciona una forma eficaz de descartar paquetes procedentes de orígenes de ataques conocidos. Las políticas de BGP en enrutadores perimetrales garantizan que los paquetes con direcciones de origen que no son de confianza tengan su próximo salto configurado en una ruta de descarte. Cuando un paquete llega al enrutador con una dirección de origen que no es de confianza, RPF de unidifusión realiza una búsqueda de ruta de la dirección de origen. Dado que la ruta de la dirección de origen apunta a un próximo salto de descarte, el paquete se descarta y se incrementa un contador. Esta característica es compatible con las familias de direcciones IPv4 (inet) e IPv6 (inet6).
Para configurar el modo flexible RPF de unidifusión con la capacidad de descartar paquetes, incluya la rpf-loose-mode-discard family (inet | inet6)
instrucción en el nivel de [edit forwarding-options]
jerarquía:
rpf-loose-mode-discard { family { inet; } }
En este ejemplo, no se requiere ninguna configuración especial más allá de la inicialización del dispositivo.
Configure el modo flexible RPF de unidifusión y aplique un filtro de error que permita a la interfaz aceptar paquetes BOOTP y DHCP. El filtro acepta todos los paquetes con una dirección de 0.0.0.0
origen y una dirección de destino de 255.255.255.255
.
Para configurar el modo flexible RPF de unidifusión con la capacidad de descartar paquetes:
Configuración de RPF de unidifusión en una VPN
Puede configurar RPF de unidifusión en una interfaz VPN habilitando RPF de unidifusión en la interfaz e incluyendo la interface
instrucción en el nivel de [edit routing-instances routing-instance-name]
jerarquía.
Puede configurar RPF de unidifusión solo en las interfaces que especifique en la instancia de enrutamiento. Esto significa lo siguiente:
-
Para VPN de capa 3, RPF de unidifusión es compatible con la interfaz del enrutador CE.
-
El FPR de unidifusión no es compatible con interfaces orientadas al núcleo.
-
Para las instancias de enrutamiento de enrutador virtual, RPF de unidifusión es compatible con todas las interfaces que especifique en la instancia de enrutamiento.
-
Si un filtro de entrada reenvía paquetes a cualquier lugar que no sea la instancia de enrutamiento para la que está configurada la interfaz de entrada, no se realiza la comprobación del RPF de unidifusión.
Configure RPF de unidifusión en una interfaz VPN de capa 3:
[edit interfaces] so-0/0/0 { unit 0 { family inet { rpf-check; } } } [edit routing-instance] VPN-A { interface so-0/0/0.0; }
Configuración de RPF de unidifusión
Configure el modo estricto RPF de unidifusión y aplique un filtro de error que permita a la interfaz aceptar paquetes BOOTP y DHCP. El filtro acepta todos los paquetes con una dirección de 0.0.0.0
origen y una dirección de destino de 255.255.255.255
.
[edit firewall] filter rpf-special-case-dhcp-bootp { term allow-dhcp-bootp { from { source-address { 0.0.0.0/32; } address { 255.255.255.255/32; } } then { count rpf-dhcp-bootp-traffic; accept; } } term default { then { log; reject; } } } [edit] interfaces { so-0/0/0 { unit 0 { family inet { rpf-check fail-filter rpf-special-case-dhcp-bootp; } } } }