He creado un laboratorio de pruebas donde estoy probando el reenvío basado en filtros (FBF), también conocido como enrutamiento basado en políticas. La pregunta seguirá a continuación, pero primero, los detalles:
A continuación se muestra el diagrama de topología:
OBJETIVO: Cualquier tráfico destinado a la Etapa desde el Sitio 1 debe enrutarse a través del Enlace 2 a la WAN y NO a través del Enlace 1. Dado que el Enlace 1 estará saturado con tráfico de replicación entre los dos centros de datos.
- SW-1 y SW-2 son conmutadores Juniper EX4200
- RTR-1 y RTR-2 son Juniper J4350's
- PE-1 y PE-2 son enrutadores Cisco 1841 que ejecutan ISIS y MPLS VPN para simular la red troncal WAN del proveedor
SW-1, SW-2, RTR-1 y RTR-2 son vecinos de OSPF en el Área 0. Tanto RTR-1 como RTR-2 son ASBR e inyectan rutas aprendidas BGP en OSPF. Cada enrutador anuncia rutas en la WAN para su sitio respectivo (así como rutas pre-pendientes para el otro sitio por redundancia).
El enrutamiento del tráfico del Sitio 1 a la Etapa en el Sitio 2 se logra fácilmente redistribuyendo la ruta estática a la Etapa en SW-2 en OSPF con una métrica más alta. Dado que RTR-2 anuncia esa ruta en la WAN, RTR-1 aprenderá esa ruta y la redistribuirá en OSPF con una métrica de 0. La ruta OSPF aprendida en SW-1 de SW-2 tendría una métrica más alta, por lo tanto se preferiría el enrutamiento sobre la WAN.
El tráfico de retorno del sitio 2 también debe fluir de esta manera para evitar el enrutamiento asimétrico. FBF se aplica en la interfaz entrante (Enlace 4) que ingresa SW-2. Este filtro tomará todo el tráfico proveniente de la Etapa (10.100.190 / 24) y realizará el próximo salto RTR-2. Esta parte del FBF está funcionando, como lo he probado en el laboratorio.
Dado que la ruta preferida de RTR-2 de regreso al Sitio 1 es a través del Enlace 1, necesitamos aplicar FBF una vez más en la interfaz LAN entrante de RTR-2 (frente a SW-2).
Aquí está el problema ... Cuando se aplica FBF en ese enrutador, la adyacencia de OSPF con SW-2 se rompe.
PREGUNTA: ¿Por qué se rompe la adyacencia OSPF entre RTR-2 y SW-2?
Se adjunta la configuración para RTR-2 y SW-2:
Configuraciones RTR-2
root@RTR-2> show configuration interfaces | display set
set interfaces ge-0/0/0 unit 0 family inet filter input FBF-TEST
deactivate interfaces ge-0/0/0 unit 0 family inet filter
set interfaces ge-0/0/0 unit 0 family inet address 10.100.254.2/24
set interfaces ge-0/0/3 description "Uplink to WAN"
set interfaces ge-0/0/3 unit 0 family inet address 200.200.200.2/30
set interfaces lo0 unit 0 family inet address 10.100.199.4/32
root@RTR-2> show configuration routing-options | display set
set routing-options interface-routes rib-group inet STAGING-RIB
set routing-options rib-groups STAGING-RIB import-rib inet.0
set routing-options rib-groups STAGING-RIB import-rib PATH-1.inet.0
set routing-options rib-groups STAGING-RIB import-rib PATH-2.inet.0
set routing-options router-id 200.200.200.2
set routing-options autonomous-system 1
root@RTR-2> show configuration routing-instances | display set
set routing-instances PATH-1 instance-type forwarding
set routing-instances PATH-1 routing-options static route 10.100.30.0/24 next-hop 200.200.200.1
set routing-instances PATH-1 routing-options static route 10.100.30.0/24 qualified-next-hop 10.100.254.1 preference 100
set routing-instances PATH-2 instance-type forwarding
set routing-instances PATH-2 routing-options static route 10.100.30.0/24 next-hop 10.100.254.1
set routing-instances PATH-2 routing-options static route 10.100.30.0/24 qualified-next-hop 200.200.200.1 preference 100
root@RTR-2> show configuration firewall | display set
set firewall family inet filter FBF-TEST term TERM-1 from source-address 10.100.190.0/24
set firewall family inet filter FBF-TEST term TERM-1 from source-address 10.100.191.0/24
set firewall family inet filter FBF-TEST term TERM-1 then routing-instance PATH-1
set firewall family inet filter FBF-TEST term DEFAULT then routing-instance PATH-2
root@RTR-2> show configuration protocols | display set
set protocols bgp path-selection cisco-non-deterministic
set protocols bgp log-updown
set protocols bgp group TEST type external
set protocols bgp group TEST local-address 200.200.200.2
set protocols bgp group TEST import REJECT
set protocols bgp group TEST export ADVERTISED
set protocols bgp group TEST peer-as 65000
set protocols bgp group TEST neighbor 200.200.200.1 preference 20
set protocols ospf rib-group STAGING-RIB
set protocols ospf export BGP-to-OSPF
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 priority 150
set protocols ospf area 0.0.0.0 interface lo0.0 passive
Configuraciones SW-2
root@SW-2> show configuration interfaces | display set
set interfaces ge-0/0/0 unit 0 family inet address 10.10.10.2/30
set interfaces ge-0/0/1 unit 0 family ethernet-switching port-mode access
set interfaces ge-0/0/1 unit 0 family ethernet-switching vlan members VLAN-254
set interfaces ge-0/0/11 description "Uplink to STAGING"
set interfaces ge-0/0/11 unit 0 family inet filter input FBF-TEST
set interfaces ge-0/0/11 unit 0 family inet address 10.100.100.1/30
set interfaces lo0 unit 0 family inet address 10.100.199.2/32
set interfaces vlan unit 2 family inet address 10.100.2.1/24
set interfaces vlan unit 251 family inet address 10.100.251.1/24
set interfaces vlan unit 254 family inet address 10.100.254.1/24
root@SW-2> show configuration routing-options | display set
set routing-options nonstop-routing
set routing-options interface-routes rib-group inet STAGING-RIB
set routing-options static route 172.22.128.0/21 next-hop 10.22.76.1
set routing-options static route 10.22.20.0/24 next-hop 10.22.76.1
set routing-options static route 10.100.190.0/24 next-hop 10.100.100.2
set routing-options static route 10.100.191.0/24 next-hop 10.100.100.2
set routing-options rib-groups STAGING-RIB import-rib inet.0
set routing-options rib-groups STAGING-RIB import-rib PATH-1.inet.0
set routing-options rib-groups STAGING-RIB import-rib PATH-2.inet.0
set routing-options router-id 10.100.254.1
root@SW-2> show configuration routing-instances | display set
set routing-instances PATH-1 instance-type forwarding
set routing-instances PATH-1 routing-options static route 10.100.30.0/24 next-hop 10.100.254.2
set routing-instances PATH-1 routing-options static route 10.100.30.0/24 qualified-next-hop 10.10.10.1 preference 100
set routing-instances PATH-2 instance-type forwarding
set routing-instances PATH-2 routing-options static route 10.100.30.0/24 next-hop 10.10.10.1
set routing-instances PATH-2 routing-options static route 10.100.30.0/24 qualified-next-hop 10.100.254.2 preference 100
root@SW-2> show configuration firewall | display set
set firewall family inet filter FBF-TEST term TERM-1 from source-address 10.100.190.0/24
set firewall family inet filter FBF-TEST term TERM-1 from source-address 10.100.191.0/24
set firewall family inet filter FBF-TEST term TERM-1 then routing-instance PATH-1
set firewall family inet filter FBF-TEST term DEFAULT then routing-instance PATH-2
root@SW-2> show configuration protocols | display set
set protocols ospf export ADVERTISED
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 interface-type p2p
set protocols ospf area 0.0.0.0 interface vlan.2 passive
set protocols ospf area 0.0.0.0 interface vlan.251 passive
set protocols ospf area 0.0.0.0 interface vlan.254 priority 250