Saturday, June 24, 2017

Teknik OSPF Route Filtering dan Contoh Konfigurasinya

OSPF Route Filtering biasanya digunakan untuk memfilter sebuah atau sekumpulan subnet antar area bahkan external area (redistribute dari routing protokol selain OSPF), kadang teknik ini juga digunakan untuk path manipulation. Agar dapat memahami teknik ini beberapa point ini harus diingat dengan baik.
  • Router di dalam area harus memiliki LSA yang sama di LSDB mereka.
  • Jika semua router di dalam area tidak memiliki LSDB yang sama, logic SPF akan fail.
  • OSPF dapat memfilter sumber LSA antar area.
  • Type-3 LSA di filter pada ABR; LSA type-5 di filter pada ASBR.
Di catatan kali ini yang akan dibahas yaitu filtering subnet dalam OSPF antar area.

Teknik-Teknik OSPF Route Filtering
Ada 2 jenis teknik route filtering ini antara lain ialah;
  • Filter via Routing Table
    Menggunakan prefix-list, lalu jalankan command ini di dalam ospf sub-interfaces level.
    # area 1 filter-list prefix NAME out/in

    Filtering dari Routing Table juga bisa menggunakan command dibawah ini
    # distribute-list prefix NAME in | out <interface>

    Notes:
    > Biasanya hanya direction "in" yang digunakan untuk filtering.
    > Teknik ini memiliki kemungkinan membuat blackhole sehingga tidak disarankan.

  • Filter LSA via OSPF Database
    Teknik ini adalah teknik paling direkomendasikan, hal ini disebabkan karna LSA yang diupdate sudah di drop terlebih dahulu sehingga subnet nya tidak terupdate di routing table dan dengan demikian akan meminimalisir resiko dari blackhole ataupun routing loop.

    Contoh command dibawah bisa digunakan untuk filtering LSA dan dijalankan di ABR:
    # area 1 range 4.4.4.4 255.255.255.255 not-advertise

Contoh Penerapan Filtering OSPF via Routing Table & OSPF Database
Topologi yang digunakan ialah seperti dibawah ini.


Teknik pertama yang akan kita coba ialah filtering via Routing Table.

1. Teknik Filter via Routing Table
Tujuan lab kita adalah memfilter 4.4.4.4/32 agar menghilang di routing table R1, kondisi saat ini R1 mendapatkan update routing 4.4.4.4/32 dari R2 dan R3.

R1#sh ip route 4.4.4.4
Routing entry for 4.4.4.4/32
  Known via "ospf 1", distance 110, metric 21, type inter area
  Last update from 10.10.13.2 on FastEthernet0/1, 00:06:10 ago
  Routing Descriptor Blocks:
    10.10.13.2, from 3.3.3.3, 00:06:10 ago, via FastEthernet0/1
      Route metric is 21, traffic share count is 1
  * 10.10.12.2, from 2.2.2.2, 00:06:10 ago, via FastEthernet0/0
      Route metric is 21, traffic share count is 1

Untuk menjalankan teknik ini kita bisa menggunakan Standard ACL, Extended ACL, ataupun juga Prefix-List. Dalam case kita ini karna tujuannya adalah memfilter 4.4.4.4/32 di R1 agar subnet tersebut menghilang dari routing table, tekniknya ialah execute command dibawah ini.

Menggunakan Standard ACL
R1(config)# access-list 1 deny 4.4.4.4 0.0.0.0
R1(config)# access-list 1 permit any 
R1 (config)# router ospf 1
R1(config-router)# distribute-list 1 in

Menggunakan Prefix-List
R2(config)# ip prefix-list AZP deny 4.4.4.4/32
R2(config)# ip prefix-list AZP permit 0.0.0.0/0 le 32
R2(config)# router ospf 1
R2(config-router)# distribute-list prefix AZP in

Apabila kita menjalankan salah satu command diatas di R1 maka network 4.4.4.4/32 di R4 akan menghilang dari routing table R1.
R1# sh ip route 4.4.4.4
% Network not in table

Namun ketika kita cek network 44.44.44.44/32 yang mana subnet dari R4 maka kita tetap masih bisa melihat subnet tersebut di routing table R1.
R1# sh ip route 44.44.44.44
Routing entry for 44.44.44.44/32
  Known via "ospf 1", distance 110, metric 21, type inter area
  Last update from 10.10.13.2 on FastEthernet0/1, 00:01:45 ago
  Routing Descriptor Blocks:
    10.10.13.2, from 3.3.3.3, 00:01:45 ago, via FastEthernet0/1
      Route metric is 21, traffic share count is 1
  * 10.10.12.2, from 2.2.2.2, 00:01:45 ago, via FastEthernet0/0
      Route metric is 21, traffic share count is 1

Bagaimana apabila kita ingin prefix 4.4.4.4/32 dari R4 di Routing Table R1 hanya di update dari R3? Kita bisa menggunakan Extended ACL yang mana dengan teknik ini maka kita menambahkan source update ospf nya yaitu 10.10.12.2 yang merupakan IP Address PTP R2 dan R1.

Menggunakan Extended ACL
R1(config)# access-list 101 deny ip host 10.10.12.2 4.4.4.4 0.0.0.0
R1(config)# access-list 101 permit ip any any
R1 (config)# router ospf 1
R1(config-router)# distribute-list 101 in

R1#sh ip route 4.4.4.4
Routing entry for 4.4.4.4/32
  Known via "ospf 1", distance 110, metric 21, type inter area
  Last update from 10.10.13.2 on FastEthernet0/1, 00:02:12 ago
  Routing Descriptor Blocks:
  * 10.10.13.2, from 3.3.3.3, 00:02:12 ago, via FastEthernet0/1
      Route metric is 21, traffic share count is 1


2. Teknik Filter LSA via OSPF Database
Seperti saya bahas diatas teknik ini adalah teknik yang paling recommended karna dapat meminimalisir resiko routing loop. Untuk menjalankan teknik ini kita harus tau dimana ABR dalam topologi kita lalu execute command ini di ABR (dalam topologi kita ini ABR adalah R2 dan R3), mari kita review lagi topologinya yah.












Dalam case kita ini tujuannya adalah memfilter 4.4.4.4/32 di R4 agar R1 hanya mendapatkan update dari R3 maka kita execute command yang kita buat nanti di R2.

Kondisi saat ini di R1 sebelum kita jalankan command ialah.
R1# sh ip route 4.4.4.4
Routing entry for 4.4.4.4/32
  Known via "ospf 1", distance 110, metric 21, type inter area
  Last update from 10.10.12.2 on FastEthernet0/0, 00:00:02 ago
  Routing Descriptor Blocks:
  * 10.10.13.2, from 3.3.3.3, 00:00:02 ago, via FastEthernet0/1
      Route metric is 21, traffic share count is 1
    10.10.12.2, from 2.2.2.2, 00:00:02 ago, via FastEthernet0/0
      Route metric is 21, traffic share count is 1

Lalu jalankan command dibawah ini di R2:
R2 (config-router)# area 1 range 4.4.4.4 255.255.255.255 not-advertise 

Cek lagi dari R1 darimana dia mendapat update untuk subnet 4.4.4.4/32.
R1#sh ip route 4.4.4.4
Routing entry for 4.4.4.4/32
  Known via "ospf 1", distance 110, metric 21, type inter area
  Last update from 10.10.13.2 on FastEthernet0/1, 00:00:03 ago
  Routing Descriptor Blocks:
  * 10.10.13.2, from 3.3.3.3, 00:00:03 ago, via FastEthernet0/1
      Route metric is 21, traffic share count is 1

Ternyata dari output diatas setelah kita jalankan command filtering maka R1 hanya akan mendapat update network 4.4.4.4/32 dari R3 (10.10.13.2).

Yang jadi pertanyaan adalah gimana kalo R3 mati? Apakah akan fail over ke R2? Jawabannya tidak karna R2 tidak akan pernah melakukan advertise subnet 4.4.4.4/32 ke R1 dan area 0. Lalu jadi single point of failure dong? Iya memang dan inilah kelemahannya route filtering, namun ada teknik lain seperti metric tuning dan summarization untuk mengatasi hal ini, masing2 dari teknik tersebut memiliki kelebihan dan kekurangan mungkin kalau sempat akan ane bahas teknik dengan summarization di tulisan selanjutnya. 

Semoga bermanfaat...

2 comments: