JUNIPER: Mengapa adjacency OSPF rusak ketika saya mengaktifkan FBF pada antarmuka OSPF?

9

Saya telah membangun laboratorium pengujian tempat saya menguji Filter Based Forwarding (FBF), alias Routing Berbasis Kebijakan. Pertanyaan akan mengikuti di bawah, tetapi pertama-tama, detailnya:

Di bawah ini adalah diagram topologi:

masukkan deskripsi gambar di sini

TUJUAN: Setiap traffic yang ditujukan ke Pementasan dari Situs 1 harus merutekan melalui Link 2 ke dalam WAN dan TIDAK melalui Link 1. Karena Link 1 akan dipenuhi dengan lalu lintas replikasi antara dua pusat data.

  • SW-1 & SW-2 adalah switch Juniper EX4200
  • RTR-1 & RTR-2 adalah Juniper J4350
  • PE-1 & PE-2 adalah router Cisco 1841 yang menjalankan ISIS dan MPLS VPN untuk mensimulasikan tulang punggung penyedia WAN

SW-1, SW-2, RTR-1 dan RTR-2 adalah semua tetangga OSPF di Area 0. Baik RTR-1 dan RTR-2 adalah ASBR dan menyuntikkan rute yang dipelajari BGP ke OSPF. Setiap router mengiklankan rute ke WAN untuk situsnya masing-masing (serta rute yang ditangguhkan untuk situs lain untuk redundansi).

Routing traffic dari Site 1 ke Staging di Site 2 mudah dicapai dengan hanya mendistribusikan kembali rute statis ke Staging pada SW-2 ke dalam OSPF dengan metrik yang lebih tinggi. Karena rute itu diiklankan oleh RTR-2 ke dalam WAN, RTR-1 akan mempelajari rute itu dan mendistribusikannya kembali ke OSPF dengan metrik 0. Rute OSPF yang dipelajari pada SW-1 dari SW-2 akan memiliki metrik yang lebih tinggi, sehingga Routing akan lebih disukai daripada WAN.

Mengembalikan lalu lintas dari situs 2 juga perlu mengalir dengan cara ini sehingga kami menghindari perutean asimetris. FBF diterapkan pada antarmuka masuk (Tautan 4) memasuki SW-2. Filter ini akan mengambil semua lalu lintas yang bersumber dari Staging (10.100.190 / 24) dan membuat RTR-2 next-hop. Bagian FBF ini berfungsi, seperti yang telah saya uji di lab.

Karena rute pilihan RTR-2 kembali ke Situs 1 adalah melalui Tautan 1, kita perlu menerapkan FBF sekali lagi pada antarmuka LAN masuk RTR-2 (menghadap SW-2).

Inilah masalahnya ... Ketika FBF diterapkan pada router itu, kedekatan OSPF dengan SW-2 istirahat.

PERTANYAAN: Mengapa adjacency OSPF melanggar antara RTR-2 dan SW-2 ??

Konfigurasi untuk RTR-2 dan SW-2 terlampir:

RTR-2 Konfigurasi

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

Konfigurasi 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
NetEng76
sumber
dapatkah Anda memasukkan ACL uji FBF, dugaan saya adalah bahwa Anda tidak mengecualikan alamat Ip SW2 atau Anda termasuk lalu lintas yang dihasilkan secara internal dari router
fredpbaker
ACL sudah termasuk. Cari baris "tampilkan konfigurasi firewall".
NetEng76
Bisakah Anda memasukkan konfigurasi antarmuka?
user2697
Saya menambahkan konfigurasi antarmuka ke posting asli di atas.
NetEng76
Bukankah seharusnya filter Anda memiliki garis "terima" di akhir setiap istilah? Bukankah itu akan menghentikan lalu lintas yang tidak cocok?
SpacemanSpiff

Jawaban:

4

Jadi, setelah bekerja dengan JTAC kemarin, "I", seperti pada saya benar-benar tidak membutuhkan JTAC karena saya menemukan masalahnya sendiri .. menyadari bahwa filter firewall saya agak berlebihan dan kurang memiliki pernyataan "ijin apa saja" .

Kedekatan OSPF rusak karena filter firewall mengambil lalu lintas "lain" (istilah DEFAULT) dan mengirimkannya ke routing-instance PATH-2, yang tidak membantu karena mengirim lalu lintas kembali ke SW-2, sesuatu pernyataan "terima" akan mudah dilakukan

Jadi, untuk memperbaiki masalah ..

Konfigurasi SW-2 & RTR-2 yang baru dikoreksi:

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

Snig konfigurasi baru untuk 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;
                    }
                }
            }
        }
    }
}

Potongan konfigurasi baru untuk 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;
                    }
                }
            }
        }
    }
}
NetEng76
sumber