Introducción
Este documento describe el comportamiento observado con el agujero negro desencadenado remoto IPV6 (RTBH). Muestra un escenario en el que el tráfico IPv6 se mantiene intencionalmente en espera en negro utilizando un route map.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- IPv6
- Border Gateway Protocol (BGP)
Componentes Utilizados
La información de este documento se basa en la versión 15.4 del software del IOS de Cisco.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Antecedentes
El filtrado de RTBH es una técnica utilizada generalmente para evitar ataques de denegación de servicio (DoS). Un problema común observado con los ataques de DoS es que la red está inundada de grandes volúmenes de tráfico malintencionado o no deseado. Esto da como resultado el bloqueo de enlaces y otros problemas como el uso excesivo de CPU, etc. Esto priva al tráfico legítimo y tiene graves consecuencias en la red.
Según RFC 2545 , la dirección local del link se incluirá en el campo Siguiente Salto si y sólo si el altavoz BGP comparte una subred común con la entidad identificada por la dirección IPv6 global transportada en el campo Dirección de red del Siguiente Salto y el par al que se anuncia la ruta. En todos los demás casos, un altavoz BGP anunciará a su par en el campo Dirección de red solamente la dirección IPv6 global del salto siguiente.
Básicamente significa que si tiene una relación de vecino EBGP IPv6 en una subred conectada directamente , entonces transporta la IP local de link así como la dirección IPv6 global como salto siguiente. Sin embargo, la solicitud de comando (RFC) no especifica cuál debe ser el preferido. Cisco prefiere la dirección local de link porque mientras envía el paquete siempre es la distancia más corta. Cuando utiliza RTBH, podría ser un problema y este documento explica cómo tratarlo.
Configurar
Este documento toma un caso práctico para explicar el comportamiento y los comandos usados para hacer que RTBH funcione.
Diagrama de la red
Esta imagen se utiliza como topología de ejemplo para el resto de este documento.

- R1 tiene relación de vecino EBGP con R2 y R2 tiene relación de vecino EBGP con R3.
- El router R1 anuncia su loopback 0 (FC00::192:168:1:1/128) a través de BGP a R2 y R2 lo anuncia a R3.
- R3 utiliza un route-map para establecer el siguiente salto para el prefijo de loopback de R1 en una dirección IPv6 ficticia que apunta a "NULL 0" en la tabla de ruteo.
Configuración relevante
Esta configuración se utiliza en diferentes routers para simular una situación en la que se utilizaría RTBH:
R1
interface Ethernet1/0
no ip address
ipv6 address FC00::1/126
end
!
interface Loopback0
ip address 192.168.1.1 255.255.255.0
ipv6 address FC00::192:168:1:1/128
!
router bgp 65500
bgp router-id 192.168.1.1
bgp log-neighbor-changes
neighbor FC00::2 remote-as 65501
!
address-family ipv6
network FC00::/126
network FC00::192:168:1:1/128
neighbor FC00::2 activate
R2
interface Ethernet1/0
no ip address
ipv6 address FC00::2/126
end
!
interface Ethernet1/1
no ip address
ipv6 address FC00::5/126
!
router bgp 65501
bgp router-id 192.168.1.2
bgp log-neighbor-changes
neighbor FC00::1 remote-as 65500
neighbor FC00::6 remote-as 65502
!
address-family ipv6
network FC00::/126
network FC00::4/126
neighbor FC00::1 activate
neighbor FC00::6 activate
R3
interface Ethernet1/1
no ip address
ipv6 address FC00::6/126
end
!
ipv6 prefix-list BLACKHOLE-PREFIX seq 5 permit FC00::192:168:1:1/128
!
route-map BLACKHOLE-PBR permit 10
match ipv6 address prefix-list BLACKHOLE-PREFIX
set ipv6 next-hop FC00::192:168:1:3
route-map BLACKHOLE-PBR permit 20
!
router bgp 65502
bgp router-id 192.168.1.3
bgp log-neighbor-changes
neighbor FC00::5 remote-as 65501
!
address-family ipv6
network FC00::4/126
neighbor FC00::5 activate
neighbor FC00::5 route-map BLACKHOLE-PBR in
Verificación
Caso de prueba 1
Cuando no hay un routing basado en políticas (PBR) configurado en R3, en la tabla de routing, rutea al loopback de R1 en R3 apunta a la dirección local de enlace de R2 FE80::A8BB:CCFF:FE00:A211.
BGP Configuration
router bgp 65502
bgp router-id 192.168.1.3
bgp log-neighbor-changes
neighbor FC00::5 remote-as 65501
!
address-family ipv6
network FC00::4/126
neighbor FC00::5 activate
BGP has both next-hops.
R3#show bgp ipv6 unicast FC00::192:168:1:1/128
BGP routing table entry for FC00::192:168:1:1/128, version 4
Paths: (1 available, best #1, table default)
Not advertised to any peer
Refresh Epoch 1
65501 65500
FC00::5 (FE80::A8BB:CCFF:FE00:A211) from FC00::5 (192.168.1.2)
Origin IGP, localpref 100, valid, external, best
rx pathid: 0, tx pathid: 0x0
Routing Table has Link Local address as the next-hop.
R3#show ipv6 route FC00::192:168:1:1
Routing entry for FC00::192:168:1:1/128
Known via "bgp 65502", distance 20, metric 0, type external
Route count is 1/1, share count 0
Routing paths:
FE80::A8BB:CCFF:FE00:A211, Ethernet1/1
MPLS label: nolabel
Last updated 00:02:45 ago
Destination is reachable
R3#ping ipv6 FC00::192:168:1:1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FC00::192:168:1:1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Caso de prueba 2
Cuando hay PBR configurado usando route-map BLACKHOLE-PBR en R3, se observa que para FC00::192:168:1:1/128 (loopback de R1), el siguiente salto en la tabla de ruteo todavía apunta a la dirección local de link de R2 FE80::A8BB:CCFF:FE00:A211. Por lo tanto, el tráfico nunca se mantiene en espera en negro y, en su lugar, se rutea usando direcciones locales de link.
BGP Configuration
ipv6 prefix-list BLACKHOLE-PREFIX seq 5 permit FC00::192:168:1:1/128
!
route-map BLACKHOLE-PBR permit 10
match ipv6 address prefix-list BLACKHOLE-PREFIX
set ipv6 next-hop FC00::192:168:1:3
!
route-map BLACKHOLE-PBR permit 20
!
router bgp 65502
bgp router-id 192.168.1.3
bgp log-neighbor-changes
neighbor FC00::5 remote-as 65501
!
address-family ipv4
no neighbor FC00::5 activate
exit-address-family
!
address-family ipv6
network FC00::4/126
neighbor FC00::5 activate
neighbor FC00::5 route-map BLACKHOLE-PBR in
Next-hop in BGP changes to the one defined in route-map.
R3#show bgp ipv6 unicast FC00::192:168:1:1/128
BGP routing table entry for FC00::192:168:1:1/128, version 4
Paths: (1 available, best #1, table default)
Not advertised to any peer
Refresh Epoch 1
65501 65500
FC00::192:168:1:3 (FE80::A8BB:CCFF:FE00:A211) from FC00::5 (192.168.1.2)
Origin IGP, localpref 100, valid, external, best
rx pathid: 0, tx pathid: 0x0
New next-hop is not reachable and points to Null 0
R3#show ipv6 route FC00::192:168:1:3
Routing entry for FC00::192:168:1:3/128
Known via "static", distance 1, metric 0
Route count is 1/1, share count 0
Routing paths:
directly connected via Null0
Last updated 00:19:23 ago
Routing table still uses Link Local address as next-hop.
R3#show ipv6 route FC00::192:168:1:1
Routing entry for FC00::192:168:1:1/128
Known via "bgp 65502", distance 20, metric 0, type external
Route count is 1/1, share count 0
Routing paths:
FE80::A8BB:CCFF:FE00:A211, Ethernet1/1
MPLS label: nolabel
Last updated 00:00:41 ago
Destination is still reachable.
R3#ping ipv6 FC00::192:168:1:1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FC00::192:168:1:1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
Caso de prueba 3
Para superar este comportamiento, utilice el comando de configuración de vecino BGP disable-connected-check en R3. Disable-connected-check se utiliza para suponer que la dirección IPv6 del vecino es sólo una dirección de salto . El escenario más común en el que se utiliza este comando es cuando se establece la relación de vecino EBGP en loopbacks para routers conectados directamente. En este caso, el comando da la impresión de que los routers están creando una relación de vecino EBGP y no están en una subred común. El vecindario podría estar entre loopbacks y por lo tanto, el router mientras anuncia el prefijo que no lleva la dirección local del link sino solamente la dirección IPv6 global .
Una vez agregado este comando , puede ver que la ruta para el loopback de R1 192:168:1:1/128 en la tabla de ruteo de R3, señala al salto siguiente de acuerdo con route-map que es FC00::192:168:1:3. Ahora, ya que FC00::192:168:1:3 tiene una ruta que apunta a Null 0, por lo tanto, el tráfico está en espera negra.
BGP Configuration
ipv6 prefix-list BLACKHOLE-PREFIX seq 5 permit FC00::192:168:1:1/128
!
route-map BLACKHOLE-PBR permit 10
match ipv6 address prefix-list BLACKHOLE-PREFIX
set ipv6 next-hop FC00::192:168:1:3
!
route-map BLACKHOLE-PBR permit 20
!
router bgp 65502
bgp router-id 192.168.1.3
bgp log-neighbor-changes
neighbor FC00::5 remote-as 65501
neighbor FC00::5 disable-connected-check
!
address-family ipv4
no neighbor FC00::5 activate
exit-address-family
!
address-family ipv6
network FC00::4/126
neighbor FC00::5 activate
neighbor FC00::5 route-map BLACKHOLE-PBR in
Next-hop in BGP changes to the one defined in route-map. There is no Link Local Address.
R3#show bgp ipv6 unicast FC00::192:168:1:1/128
BGP routing table entry for FC00::192:168:1:1/128, version 4
Paths: (1 available, best #1, table default)
Not advertised to any peer
Refresh Epoch 1
65501 65500
FC00::192:168:1:3 from FC00::5 (192.168.1.2)
Origin IGP, localpref 100, valid, external, best
rx pathid: 0, tx pathid: 0x0
Routing table uses the new next-hop.
R3#show ipv6 route FC00::192:168:1:1
Routing entry for FC00::192:168:1:1/128
Known via "bgp 65502", distance 20, metric 0, type external
Route count is 1/1, share count 0
Routing paths:
FC00::192:168:1:3
MPLS label: nolabel
Last updated 00:00:37 ago
New next-hop is pointed to Null 0. Traffic will be dropped.
R3#show ipv6 route FC00::192:168:1:3
Routing entry for FC00::192:168:1:3/128
Known via "static", distance 1, metric 0
Route count is 1/1, share count 0
Routing paths:
directly connected via Null 0
Last updated 02:18:03 ago
Destination is not reachable
R3#ping ipv6 FC00::192:168:1:1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to FC00::192:168:1:1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
Nota: Una nueva mejora CSCuv60686 cambia este comportamiento para que route-map surta efecto sin utilizar el comando disable-connected-check.
Troubleshoot
Actualmente no hay información específica sobre la solución de problemas disponible para este documento.