JUNIPER:OSPFインターフェースでFBFを有効にすると、OSPF隣接関係が切断されるのはなぜですか?


9

私は、フィルターベースの転送(FBF)、別名ポリシーベースのルーティングをテストするテストラボを構築しました。質問は以下に従いますが、最初に、詳細:

以下はトポロジー図です:

ここに画像の説明を入力してください

目的:サイト1からステージングに向かうすべてのトラフィックは、リンク1ではなくリンク2を介してWANにルーティングする必要があります。リンク1は2つのデータセンター間のレプリケーショントラフィックで飽和するためです。

  • SW-1およびSW-2はジュニパーEX4200スイッチです。
  • RTR-1とRTR-2はジュニパーJ4350です
  • 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であり、BGP学習ルートを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)に適用されます。このフィルターは、ステージング(10.100.190 / 24)からのすべてのトラフィックを取得し、ネクストホップRTR-2を作成します。ラボでテストしたとおり、FBFのこの部分は機能しています。

サイト1に戻るRTR-2の優先ルートはリンク1経由であるため、RTR-2の受信LANインターフェイス(SW-2に面している)でもう一度FBFを適用する必要があります。

ここに問題があります... FBFがそのルーターに適用されると、SW-2とのOSPF隣接関係が壊れます。

質問: OSPF隣接がRTR-2とSW-2の間で切断されるのはなぜですか?

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が含まれています。「show configuration firewall」行を探します。
NetEng76 2013

インターフェイス構成を含めることはできますか?
user2697 2013

上記の元の投稿にインターフェース設定を追加しました。
NetEng76 2013

フィルターの各用語の終わりに「then accept」行を入れないでください。それ以外の場合は、一致しないトラフィックをドロップしませんか?
SpacemanSpiff

回答:


4

したがって、昨日JTACで作業した後、「私」は自分で問題を見つけたのでJTACは本当に必要なかったので、ファイアウォールフィルターは少し冗長であり、「permit any」ステートメントがないことに気付きました。 。

ファイアウォールフィルターが「else」トラフィック(期間DEFAULT)を取得してルーティングインスタンスPATH-2に送信したため、OSPF隣接関係が壊れていました。これは、トラフィックをSW-2に直接送信していたため、どちらにも役立ちませんでした。 「次に受け入れる」ステートメントは簡単に実行されます

それで、問題を修復するために..

新しい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.