Home

MPLS Configuration (Part 3 – Route Distinguisher, Route Target, and Route Leak)

Leave a comment

sebuah ISP punya 2 konsumen…A dan B, ISP menyediakan VPN (VRF A dan VRF B) untuk masing2 konsumen sehingga routing table/route mereka tidak campur aduk. ISP punya layanan Voice over IP (VoIP) tersendiri yang bisa disewakan (VRF Voice), kebetulan ingin digunakan oleh A dan B

The question is…how to do that?!? …emang bisa 1 VRF bisa nyampur dengan 1 VRF lain?!

Kita pengen routing table Voice masuk kedalam VRF A dan VRF B…TANPA harus route2 VRF A dan VRF B campur aduk (routing table-nya campur)

WOKEEH, dalam kasus ini berarti ada 3 VRF didalam ISP…VRF A, VRF B, dan VRF Voice

Solusinya adalah dengan men-define Route Distinguisher (RD) dan export/import itu RD dengan keyword Route-Target

RD formatnya <AS:nomor> ato <ip:nomor> …walaupun kebanyakan pakeknya AS (contoh 65000:10), tapi sistem penomorannya BEBAS (coba liat yang gw pake…1:1 2:2 dan 3:3)

Intinya kita bikin RD ini untuk nambahin IP address (32 bit) dengan 64 bit-nya RD supaya bedain IP VRF yang satu dengan yang lain (contoh: ISP ke A dan ISP ke B..ip nya sama kan)

Tapi antar dalam 1 router VRF-nya harus BEDA RD ya…ntar ga bisa ngebedain VRF lagi

================================

Initial Config

Step 1.
Biasa, create VRF dulu (trus define RD dan RT-nya)

Disini ada 2 catatan:

  • Untuk inisialisasi, kita bikin VRF ini bisa di-export dan di-import, dari sini ada pertanyaan…dipoint ke-2
  • Kenapa import dan export RD yang sama…di VRF sendiri?!? Jawabannya GA TAU…TAPI HARUS BEGITU…bingung kan?!? Sama gw juga
  • Ada yang bilang nge-bug, ada yang bilang harus import dan export ke diri dia sendiri dulu baru ke yang lain…di IOS XR ga perlu begini sih
  • Dan…Route-target both…itu biar ga repot2 ngetik import dan export (hasilnya sama aja kek ketikan di ip vrf A sub-config)

Step 2.
Pasang itu VRF dimasing2 interface

Step 3.
Setting routing protocolnya antara CE (A, B, dan Voice) dan PE (ISP), apa aja bole sih sebenernya, gw disini pake OSPF

Pasang router-id di masing2 OSPF (1 OSPF mungkin ga perlu kasi router-id, tapi klo 2 atau lebih harus dikasi…klo ga nanti ga jalan OSPF nya)

Hmm…redistribusi aja…beres itu import export route…

Yang bener?? we’ll see below

Tetep ga bisa, beda proses…bukan beda routing protocol (redistribution untuk ROUTING protocol BUKAN process VRF protocol)

solusinya gimana dong?!? Karena value RD ini bikin IP kita jadi 96 bit…kita perlu routing protocol yang bisa bawa IP versi baru ini

Btw…IP address yang jadi 96 bit ini disebut IP VPN atau VPNv4

Routing protocol apa yang bisa bawa VPNv4?!?…Yup, BGP

Karena BGP itu defaultnya “carry” IPv4 yang 32 bit…BGP yang bisa bawa protocol selain IPv4 disebut MP-BGP (Multi-Protocol BGP)

Step 4.
Configuring MP-BGP (and redistribute OSPF to BGP supaya routing table OSPF dikasi ke BGP)

Nah, sekarang masing2 VRF yang ada di OSPF bisa di “carry” oleh MP-BGP, but…

Cara MP-BGP ini ngasih ini routing table VRF yang satu ke yang lain gimana?! Redistribute BGP to OSPF balik…

Step 5. kasih VRF Voice ke VRF A dan B (export) dan terima itu VRF Voice di VRF A dan B (import)

Step 6.
Untuk bisa komunikasi antar VRF A dan B dengan VRF Voice, berarti VRF Voice juga harus import route dari VRF A dan B

Konfigurasi full nya seperti ini:

Jgn lupa cek ping dari A, B, dan Voice ke ISP

Step 7.
Check A, B, dan Voice routing table

See…A dan B dapet 10.1.1.3 (ip loopback voice) tapi A ga dapet ip loopback dari B dan sebaliknya

Tes ping

A menuju ke Voice Loopback bisa, ke B ga bisa…(cek aja ping dari B ke A)

================================

Question

Case 1.

Klo kek gambar diatas, si A mau join routing table dengan si B…bisa ga?!? Hmm..bisa iya bisa engga…

Inget, VRF gunanya untuk membedakan routing table di ISP…untuk masing2 konsumen

Nah, begitu DIGABUNG…ya konflik di konsumen A dan B (liat de…ip 10.1.1.1-nya sama)

Coba liat de gambar gw pertama…IP voice nya beda (A dan B pake 192.168.1.0, sedang Voice pake 192.168.2.0…dan ping-nya harus pake source karena IP A dan B dipake berdua, nge ping dari ISP aja kita harus pake command tambahan “ping vrf [nama] ip X.X.X.X“)

Tapi ini topologi bisa diterapkan…asal di NAT di masing CE-nya (dan BEDA IP NAT juga ya !!!…nanti NAT Overlapping lagi)

Case 2.

Klo gambar pertama gw pake 1 Router ISP…sekarang klo 2 router ISP gimana??

Ya kek configurasi MPLS part 2 gw…antar PE pake MP-BGP

================================

Route-Leak

eh…gw pengen ada 1 jalur Voice sendiri selain 10.1.1.3…ga pengen sharing ama company lain

Contoh: selain 10.1.1.3, A hanya mau 10.10.10.1-nya aja dan B hanya mau 10.10.10.2-nya aja

Klo kita hanya pure VRF export-import…ya begini jadinya:

Si A juga dapet 10.10.10.2 buat si B…trus gimana dong?? Kita pake route-leak

Alias bocorin route…dengan cara import map

Karena kita pengen A hanya dapet 10.10.10.1 dan B hanya dapet 10.10.10.2 berarti kita harus filter di ISP yang directly attached ke A dan B

Pertama2…kita create ACL untuk filter IP yang boleh masuk ke A dan B

Kedua, kita tambahkan keyword import map [nama route-map] ke VRF masing2

Route-map nya emang uda dibikin? Blum…yuk bikin dulu

Ketiga, create route-map (step kedua dan ketiga ini bisa dibalik, tergantung selera)

Nah…yuk cek…

Nah, A dapet rute 10.10.10.1 dan di ping juga bisa, ke 10.10.10.2 ga bisa…

B pun dapet rute 10.10.10.2 dan di ping juga bisa, ke 10.10.10.1 ga bisa…

Hmm…bisa kan pake filter di OSPF aja?? Ato filter prefix list aja??

Bisa…klo EIGRP dan RIP mungkin ga masalah…tapi klo OSPF jadi masalah, gini:

So…percuma nge-filter route dalam OSPF dalam 1 area…karena cuma router yang dipasang filter aja yang kena efek ilang route-nya

Yang dibelakang-nya ga kena efek filter (walaupun ujung2nya ga bisa di ping karena pas masuk ke router yang uda di filter akan di blok gara2 ga ada di routing table)

MPLS Configuration (part 2 – VPN)

Leave a comment

Last time we configure initial MPLS configuration for Backbone ISP

Now we configure “the customers” and their VRF…

We configure…MPLS VPN

=========================================

Gw anggep ip addressing untuk masing2 konsumen uda selesai semua ya…

Sekarang configure static default route aja dari masing2 PT

(di router2 non-ISP lain juga ya)

Sekarang kita masuk ke PE…configure VRF

VRF ini untuk bedain mana routing table yang akan gw kasi ke PT A dan mana ke PT B (liat aja IP nya overlapping gitu…192.168.1.1)

Tes ping (dari PT.A HQ)

(jgn lupa setting VRF juga di PE Kanan dan masing2 Branch)

Nah, karena kita mo konek masing2 PT HQ dengan BR-nya masing2…berarti kita harus export dan import VRF dari masing2 HQ ke BR (dan sebaliknya)

Disinilah gunanya RD dan RT

(PE_Kanan juga di konfigurasi sama)

Penjelasan:

  • VRF itu locally significant alias nama sama antara router ga masalah (ngaru-nya di local router itu sendiri), tapi klo uda di export/import = globally significant
  • RD = route distinguisher, untuk bedain vrf yang satu dengan yang lain dengan nambahin 64bit (32 bit IPv4 + 64bit = 96bit)
  • Route-target import [rd], kita allow ini RD (baca: VRF) di import ke VRF yang lain
  • Route-target export [rd], kita export ini RD ke VRF
  • Route-target both, untuk configure export dan import RD yang sama
  • Route-target ini akan di carry oleh BGP Community, tau dari mana?! Look at this information below…

Nah, kita perlu routing protocol untuk “carry” ini informasi dari router PE yang satu untuk di advertise ke PE lain…tapi apa?? EIGRP kah?? OSPF kah?? Ato BGP kah??

Klo pake IGP (OSPF dan EIGRP) ga mungkin…mereka ga bisa bikin P router yang ditengah2 untuk tidak terbebani oleh routing process (inget…kita pengen P router itu jadi switching kan?!?)

Ya satu2nya yang bisa adalah BGP, tapi…karena RD ini nambahin 64 bit ke IP yang 32 bit, berarti IPv4 nya uda ga “murni” lagi…alias ga bisa dibaca lagi…(emang siapa yang bisa baca 96 bit?!? Ga ada)

Untuk itulah kita perlu protocol baru untuk BGP…namanya MP-BGP (Multi-Protocol BGP)

Untuk mengaktifkan MP-BGP kita harus ketik address-family vpnv4 di BGP subkonfig, tapi ketika gw cek show run…kok ga ada address-family??

Pas kita aktifkan MP-BGP, kita juga harus aktifkan NEIGHBOR MANA yang akan kita kirim MP-BGP packet yang 96 bit itu dengan keyword neighbor [ip neighbor] activate

Dibawah ini konfig plus show run-nya

Tuh kan…jadi banyak tulisannya @_@

Tadi kan gw bilang…value rd dan rt ini akan di carry oleh BGP Community dengan cara mengaktifkan MP-BGP dengan keyword address-family vpnv4

Kenapa bisa begitu?!…ketika kita activate neighbor (agar BGP sending 96 bit address ke neighbor ini), maka otomatis BGP juga akan create community untuk ngirim value RD RT (take a look at send-community extended that automatically created)

Masi ga percaya??…sniff packet-nya via wireshark (ga gw tampilkan disini…males)

Untuk verifikasi VRF kita bisa pake show ip vrf [interface, optional]

VRF udah, MP-BGP udah, static route dari PT.A dan PT.B ke ISP udah…yang belum static route adalah si ISP ke masing2 PT (static route kan harus 2 arah)

Static route-nya ISP juga pake VRF ya…

Cek ping ke 10.1.1.1 loopback-nya PT.A

(jgn lupa pasang juga di branch dan PE kanan ya)

Tinggal redistribusi static ke BGP…jalan dah itu traffic dari HQ ke BR

Bisa ga kita pasang IGP untuk masing2 PT ke ISP??…bisa dong…pake VRF juga pastinya

Yuk…kita pasang (contoh: OSPF) untuk masing2 PT dan ISP

Penjelasan:

  • Hapus dulu static route
  • Untuk PE dan CE (PTA & PTB), kita pake ospf dengan vrf

Nah, ip loopback PTA dan PTB ini uda ada di routing table si PE…kita mau carry ini ke masing2 Branch…pake apa??? BGP

Dan supaya BGP advertise ke PT yang benar…kita pake address-family ipv4 vrf
dan redistribute OSPF ke BGP
dan sebaliknya

BGP:


OSPF:

(jgn lupa di configure dimasing2 PE)

Sekarang cek di masing2 PT (HQ dan BR)

PT.A HQ:

Yup…10.1.2.1 punya BR-nya PT.A dapet, yuk di ping

(jangan lupa konekin juga PT.B HQ ke BR-nya)

Route Distinguisher, Route Target, dan Route Leak akan kita bahas di sesi berikutnya (part 3)