주니퍼 : OSPF 인터페이스에서 FBF를 활성화 할 때 OSPF 인접성이 깨지는 이유는 무엇입니까?


9

정책 기반 라우팅이라고하는 FBF (Filter Based Forwarding)를 테스트하는 테스트 랩을 구축했습니다. 질문은 아래에 있지만 먼저 세부 사항을 따릅니다.

아래는 토폴로지 다이어그램입니다.

여기에 이미지 설명을 입력하십시오

목표 : 사이트 1에서 준비로 예정된 트래픽은 링크 2를 통해가 아니라 링크 2를 통해 WAN으로 라우팅해야합니다. 링크 1은 두 데이터 센터 간의 복제 트래픽으로 포화되기 때문입니다.

  • SW-1 및 SW-2는 Juniper EX4200 스위치입니다
  • 주니퍼 J4350은 RTR-1 및 RTR-2입니다.
  • PE-1 및 PE-2는 공급자 WAN 백본을 시뮬레이션하기 위해 ISIS 및 MPLS VPN을 실행하는 Cisco 1841 라우터입니다.

SW-1, SW-2, RTR-1 및 RTR-2는 영역 0의 모든 OSPF 이웃입니다. RTR-1 및 RTR-2는 모두 ASBR이며 BPF 학습 경로를 OSPF에 주입합니다. 각 라우터는 해당 사이트에 대해 WAN으로 경로를 알리고 있으며 (이중화를 위해 다른 사이트에 대해 미리 보류 된 경로).

사이트 1에서 사이트 2의 스테이징으로 트래픽을 라우팅하는 것은 고정 된 경로를 SW-2의 스테이징에 대한 고정 경로를 더 높은 메트릭으로 OSPF로 재분배함으로써 쉽게 수행 할 수 있습니다. 이 경로는 RTR-2에 의해 WAN으로 보급되기 때문에 RTR-1은 해당 경로를 학습하고이를 메트릭 0으로 OSPF에 재배포합니다. SW-2에서 SW-1에 대해 학습 된 OSPF 경로는 더 높은 메트릭을 가지므로 라우팅은 WAN보다 선호됩니다.

비대칭 라우팅을 피하기 위해 사이트 2의 리턴 트래픽도 이러한 방식으로 흐를 필요가 있습니다. FBF는 SW-2를 입력하는 인바운드 인터페이스 (링크 4)에 적용됩니다. 이 필터는 Staging (10.100.190 / 24)에서 발생하는 모든 트래픽을 가져와 다음 홉 RTR-2를 만듭니다. FBF의이 부분은 실험실에서 테스트 한대로 작동합니다.

사이트 1로 돌아가는 RTR-2의 기본 경로는 링크 1을 통한 것이기 때문에 RTR-2의 인바운드 LAN 인터페이스 (SW-2에 직면)에서 FBF를 다시 한 번 적용해야합니다.

문제가 있습니다 ... FBF가 해당 라우터에 적용되면 SW-2와의 OSPF 인접성이 중단됩니다.

질문 : 왜 RPF-2와 SW-2 사이에 OSPF 인접성이 깨져 있습니까?

RTR-2 및 SW-2 구성이 첨부되어 있습니다.

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

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

FBF 테스트 ACL을 포함시킬 수 있습니까? 제 생각에는 SW2의 IP 주소를 제외하지 않거나 내부적으로 생성 된 라우터 트래픽을 포함하고있는 것 같습니다
fredpbaker

ACL이 포함되어 있습니다. "구성 방화벽 표시"줄을 찾으십시오.
NetEng76

인터페이스 구성을 포함 할 수 있습니까?
user2697

위의 원래 게시물에 인터페이스 구성을 추가했습니다.
NetEng76

각 용어의 끝에 필터에 "그런 다음 수락"줄이 없어야합니까? 그렇지 않으면 일치하지 않는 트래픽이 발생하지 않습니까?
SpacemanSpiff

답변:


4

그래서 어제 JTAC와 함께 일한 후, "I"는 스스로 문제를 파악한 이후로 JTAC가 실제로 필요하지 않았기 때문에 방화벽 필터가 약간 중복되었고 "허용"문장이 없다는 것을 깨달았습니다. .

방화벽 필터가 "다른"트래픽 (DEFAULT라는 용어)을 가져와 라우팅 인스턴스 PATH-2로 전송했기 때문에 OSPF 인접성이 깨졌습니다. "그런 다음"진술은 쉽게 이루어 졌을 것입니다

따라서 문제를 해결하려면 ..

새로운 SW-2 및 RTR-2 수정 된 구성 :

delete routing-instances PATH-2
delete firewall family inet filter FBF-TEST term DEFAULT
set firewall family inet filter FBF-TEST term PERMIT-ANY then accept

SW-2를위한 새로운 설정 코드 :

routing-options {
    nonstop-routing;
    interface-routes {
        rib-group inet STAGING-RIB;
    }
    static {
        route 10.100.190.0/24 next-hop 10.100.100.2;
        route 10.100.191.0/24 next-hop 10.100.100.2;
    }
    rib-groups {
        STAGING-RIB {
            import-rib [ inet.0 PATH-1.inet.0 ];
        }
    }
    router-id 10.100.254.1;
}
firewall {
    family inet {
        filter FBF-TEST {
            term TERM-1 {
                from {
                    source-address {
                        10.100.190.0/24;
                        10.100.191.0/24;
                    }
                }
                then {
                    routing-instance PATH-1;
                }
            }
            term PERMIT-ANY {
                then accept;
            }
        }
    }
}
routing-instances {
    PATH-1 {
        instance-type forwarding;
        routing-options {
            static {
                route 10.100.30.0/24 {
                    next-hop 10.100.254.2;
                    qualified-next-hop 10.10.10.1 {
                        preference 100;
                    }
                }
            }
        }
    }
}

RTR-2의 새로운 구성 스니핑 :

routing-options {
    interface-routes {
        rib-group inet STAGING-RIB;
    }
    rib-groups {
        STAGING-RIB {
            import-rib [ inet.0 PATH-1.inet.0 ];
        }
    }
    router-id 200.200.200.2;
    autonomous-system 1;
}
firewall {
    family inet {
        filter FBF-TEST {
            term TERM-1 {
                from {
                    source-address {
                        10.100.190.0/24;
                        10.100.191.0/24;
                    }
                }
                then {
                    routing-instance PATH-1;
                }
            }
            term PERMIT-ANY {
                then accept;
            }
        }
    }
}
routing-instances {
    PATH-1 {
        instance-type forwarding;
        routing-options {
            static {
                route 10.100.30.0/24 {
                    next-hop 200.200.200.1;
                    qualified-next-hop 10.100.254.1 {
                        preference 100;
                    }
                }
            }
        }
    }
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.