EN ESTA PÁGINA
Ejemplo: configuración de RPF de unidifusión (en un enrutador)
En este ejemplo se muestra cómo ayudar a defender las interfaces de entrada contra ataques de denegación de servicio (DoS) y denegación de servicio distribuido (DDoS) configurando RPF de unidifusión en una interfaz perimetral del cliente para filtrar el tráfico entrante.
Requisitos
No se requiere ninguna configuración especial más allá de la inicialización del dispositivo.
Visión general
En este ejemplo, el dispositivo A utiliza OSPF para anunciar un prefijo para el vínculo que se conecta al dispositivo D. El dispositivo B tiene configurado un RPF de unidifusión. OSPF está habilitado en los vínculos entre el dispositivo B y el dispositivo C y los vínculos entre el dispositivo A y el dispositivo C, pero no en los vínculos entre el dispositivo A y el dispositivo B. Por lo tanto, el dispositivo B aprende acerca de la ruta al dispositivo D a través del dispositivo C.
Si se utiliza el filtrado de entrada en un entorno en el que se utiliza DHCP o BOOTP, debe asegurarse de que los paquetes con una dirección de origen de 0.0.0.0 y una dirección de destino de 255.255.255.255 puedan llegar al agente de retransmisión en los enrutadores cuando corresponda.
En este ejemplo también se incluye un filtro de error. Cuando un paquete no supera la comprobación RPF de unidifusión, se evalúa el filtro de error para determinar si el paquete debe aceptarse de todos modos. El filtro de error de este ejemplo permite que las interfaces del dispositivo B acepten paquetes del Protocolo de configuración dinámica de host (DHCP). El filtro acepta todos los paquetes con una dirección de origen de 0.0.0.0 y una dirección de destino de 255.255.255.255.
Configuración
- Configuración rápida de CLI
- Configuración del dispositivo A
- Configuración del dispositivo B
- Resultados
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, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit]
jerarquía.
Dispositivo A
set interfaces fe-1/2/0 unit 1 family inet address 10.0.0.1/30 set interfaces fe-0/0/2 unit 5 family inet address 10.0.0.5/30 set interfaces fe-0/0/1 unit 17 family inet address 10.0.0.17/30 set interfaces fe-0/1/1 unit 25 family inet address 10.0.0.25/30 set interfaces fe-1/1/1 unit 29 family inet address 10.0.0.29/30 set protocols ospf export send-direct set protocols ospf area 0.0.0.0 interface fe-0/1/1.25 set protocols ospf area 0.0.0.0 interface fe-1/1/1.29 set policy-options policy-statement send-direct from protocol direct set policy-options policy-statement send-direct from route-filter 10.0.0.16/30 exact set policy-options policy-statement send-direct then accept
Dispositivo B
set interfaces fe-1/2/0 unit 2 family inet rpf-check fail-filter rpf-special-case-dhcp set interfaces fe-1/2/0 unit 2 family inet address 10.0.0.2/30 set interfaces fe-1/1/1 unit 6 family inet rpf-check fail-filter rpf-special-case-dhcp set interfaces fe-1/1/1 unit 6 family inet address 10.0.0.6/30 set interfaces fe-0/1/1 unit 9 family inet rpf-check fail-filter rpf-special-case-dhcp set interfaces fe-0/1/1 unit 9 family inet address 10.0.0.9/30 set interfaces fe-0/1/0 unit 13 family inet rpf-check fail-filter rpf-special-case-dhcp set interfaces fe-0/1/0 unit 13 family inet address 10.0.0.13/30 set protocols ospf area 0.0.0.0 interface fe-0/1/1.9 set protocols ospf area 0.0.0.0 interface fe-0/1/0.13 set routing-options forwarding-table unicast-reverse-path active-paths set firewall filter rpf-special-case-dhcp term allow-dhcp from source-address 0.0.0.0/32 set firewall filter rpf-special-case-dhcp term allow-dhcp from destination-address 255.255.255.255/32 set firewall filter rpf-special-case-dhcp term allow-dhcp then count rpf-dhcp-traffic set firewall filter rpf-special-case-dhcp term allow-dhcp then accept set firewall filter rpf-special-case-dhcp term default then log set firewall filter rpf-special-case-dhcp term default then reject
Dispositivo C
set interfaces fe-1/2/0 unit 10 family inet address 10.0.0.10/30 set interfaces fe-0/0/2 unit 14 family inet address 10.0.0.14/30 set interfaces fe-1/0/2 unit 21 family inet address 10.0.0.21/30 set interfaces fe-1/2/2 unit 26 family inet address 10.0.0.26/30 set interfaces fe-1/2/1 unit 30 family inet address 10.0.0.30/30 set protocols ospf area 0.0.0.0 interface fe-1/2/0.10 set protocols ospf area 0.0.0.0 interface fe-0/0/2.14 set protocols ospf area 0.0.0.0 interface fe-1/2/2.26 set protocols ospf area 0.0.0.0 interface fe-1/2/1.30
Dispositivo D
set interfaces fe-1/2/0 unit 18 family inet address 10.0.0.18/30
Dispositivo E
set interfaces fe-1/2/0 unit 22 family inet address 10.0.0.22/30
Configuración del dispositivo A
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración.
Para configurar el dispositivo A:
Configure las interfaces.
[edit interfaces] user@A# set fe-1/2/0 unit 1 family inet address 10.0.0.1/30 user@A# set fe-0/0/2 unit 5 family inet address 10.0.0.5/30 user@A# set fe-0/0/1 unit 17 family inet address 10.0.0.17/30 user@A# set fe-0/1/1 unit 25 family inet address 10.0.0.25/30 user@A# set fe-1/1/1 unit 29 family inet address 10.0.0.29/30
Configure OSPF.
[edit protocols ospf] user@A# set export send-direct user@A# set area 0.0.0.0 interface fe-0/1/1.25 user@A# set area 0.0.0.0 interface fe-1/1/1.29
Configure la directiva de enrutamiento.
[edit policy-options policy-statement send-direct] user@A# set from protocol direct user@A# set from route-filter 10.0.0.16/30 exact user@A# set then accept
Si ha terminado de configurar el dispositivo A, confirme la configuración.
[edit] user@A# commit
Configuración del dispositivo B
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración.
Para configurar el dispositivo B:
Configure las interfaces.
[edit interfaces] user@B# set fe-1/2/0 unit 2 family inet address 10.0.0.2/30 user@B# set fe-1/1/1 unit 6 family inet address 10.0.0.6/30 user@B# set fe-0/1/1 unit 9 family inet address 10.0.0.9/30 user@B# set fe-0/1/0 unit 13 family inet address 10.0.0.13/30
Configure OSPF.
[edit protocols ospf area 0.0.0.0] user@B# set interface fe-0/1/1.9 user@B# set interface fe-0/1/0.13
Configure el RPF de unidifusión y aplique el filtro de error opcional.
[edit interfaces] user@B# set fe-1/2/0 unit 2 family inet rpf-check fail-filter rpf-special-case-dhcp user@B# set fe-1/1/1 unit 6 family inet rpf-check fail-filter rpf-special-case-dhcp user@B# set fe-0/1/1 unit 9 family inet rpf-check fail-filter rpf-special-case-dhcp user@B# set fe-0/1/0 unit 13 family inet rpf-check fail-filter rpf-special-case-dhcp
(Opcional) Configure el filtro de error que se evalúa si un paquete no supera la comprobación de RPF.
[edit firewall filter rpf-special-case-dhcp] user@B# set term allow-dhcp from source-address 0.0.0.0/32 user@B# set term allow-dhcp from destination-address 255.255.255.255/32 user@B# set term allow-dhcp then count rpf-dhcp-traffic user@B# set term allow-dhcp then accept user@B# set term default then log user@B# set term default then reject
(Opcional) Configure solo las rutas activas para que se tengan en cuenta en la comprobación del RPF.
Este es el comportamiento predeterminado.
[edit routing-options forwarding-table] user@B# set unicast-reverse-path active-paths
Si ha terminado de configurar el dispositivo B, confirme la configuración.
[edit] user@B# commit
Resultados
Confirme la configuración emitiendo los show firewall
comandos , show interfaces
, show routing-options
show protocols
, y .show policy-options
Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.
Dispositivo A
user@A# show interfaces fe-1/2/0 { unit 1 { family inet { address 10.0.0.1/30; } } } fe-0/0/2 { unit 5 { family inet { address 10.0.0.5/30; } } } fe-0/0/1 { unit 17 { family inet { address 10.0.0.17/30; } } } fe-0/1/1 { unit 25 { family inet { address 10.0.0.25/30; } } } fe-1/1/1 { unit 29 { family inet { address 10.0.0.29/30; } } }
user@A# show protocols ospf { export send-direct; area 0.0.0.0 { interface fe-0/1/1.25; interface fe-1/1/1.29; } }
user@A# show policy-options policy-statement send-direct { from { protocol direct; route-filter 10.0.0.16/30 exact; } then accept; }
Dispositivo B
user@B# show firewall filter rpf-special-case-dhcp { term allow-dhcp { from { source-address { 0.0.0.0/32; } destination-address { 255.255.255.255/32; } } then { count rpf-dhcp-traffic; accept; } } term default { then { log; reject; } } } user@B# show interfaces fe-1/2/0 { unit 2 { family inet { rpf-check fail-filter rpf-special-case-dhcp; address 10.0.0.2/30; } } } fe-1/1/1 { unit 6 { family inet { rpf-check fail-filter rpf-special-case-dhcp; address 10.0.0.6/30; } } } fe-0/1/1 { unit 9 { family inet { rpf-check fail-filter rpf-special-case-dhcp; address 10.0.0.9/30; } } } fe-0/1/0 { unit 13 { family inet { rpf-check fail-filter rpf-special-case-dhcp; address 10.0.0.13/30; } } }
user@B# show protocols ospf { area 0.0.0.0 { interface fe-0/1/1.9; interface fe-0/1/0.13; } }
user@B# show routing-options forwarding-table { unicast-reverse-path active-paths; }
Ingrese las configuraciones en los dispositivos C, D y E, como se muestra en Configuración rápida de la CLI.
Verificación
Confirme que la configuración funciona correctamente.
- Confirmar que el FPR de unidifusión esté habilitado
- Confirmar que las direcciones de origen están bloqueadas
- Confirme que las direcciones de origen estén desbloqueadas
Confirmar que el FPR de unidifusión esté habilitado
Propósito
Asegúrese de que las interfaces del dispositivo B tengan habilitado el RPF de unidifusión.
Acción
user@B> show interfaces fe-0/1/0.13 extensive Logical interface fe-0/1/0.13 (Index 73) (SNMP ifIndex 553) (Generation 208) Flags: SNMP-Traps 0x4000 Encapsulation: ENET2 Traffic statistics: Input bytes : 999390 Output bytes : 1230122 Input packets: 12563 Output packets: 12613 Local statistics: Input bytes : 998994 Output bytes : 1230122 Input packets: 12563 Output packets: 12613 Transit statistics: Input bytes : 396 0 bps Output bytes : 0 0 bps Input packets: 0 0 pps Output packets: 0 0 pps Protocol inet, MTU: 1500, Generation: 289, Route table: 22 Flags: Sendbcast-pkt-to-re, uRPF RPF Failures: Packets: 0, Bytes: 0 Addresses, Flags: Is-Preferred Is-Primary Destination: 10.0.0.12/30, Local: 10.0.0.13, Broadcast: 10.0.0.15, Generation: 241
Significado
El indicador uRPF confirma que el FPR de unidifusión está habilitado en esta interfaz.
Confirmar que las direcciones de origen están bloqueadas
Propósito
Use el comando para asegurarse de que el dispositivo B bloquea el ping
tráfico de direcciones de origen inesperadas.
Acción
Desde el dispositivo A, haga ping a las interfaces del dispositivo B, utilizando 10.0.0.17 como dirección de origen.
user@A> ping 10.0.0.6 source 10.0.0.17 PING 10.0.0.6 (10.0.0.6): 56 data bytes ^C --- 10.0.0.6 ping statistics --- 3 packets transmitted, 0 packets received, 100% packet loss
Significado
Como era de esperar, se produce un error en la operación de ping.
Confirme que las direcciones de origen estén desbloqueadas
Propósito
Utilice el comando para asegurarse de que el dispositivo B no bloquea el ping
tráfico cuando la comprobación RPF está desactivada.
Acción
Desactive la comprobación RPF en una de las interfaces.
Vuelva a ejecutar la operación de ping.
user@B> deactivate interfaces fe-1/1/1.6 family inet rpf-check user@A> ping 10.0.0.6 source 10.0.0.17 PING 10.0.0.2 (10.0.0.2): 56 data bytes 64 bytes from 10.0.0.2: icmp_seq=0 ttl=63 time=1.316 ms 64 bytes from 10.0.0.2: icmp_seq=1 ttl=63 time=1.263 ms ^C --- 10.0.0.2 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.263/1.289/1.316/0.027 ms
Significado
Como era de esperar, la operación de ping se realiza correctamente.