1. Pendahuluan VRF
Virtual Routing and Forwarding (VRF) adalah teknologi virtualisasi network yang memungkinkan beberapa instance routing table terpisah tetapi berjalan di perangkat jaringan yang sama. VRF memberikan kemampuan untuk memisahkan rute dan data antara berbagai network tanpa memerlukan hardware tambahan.
a. Tujuan dan Manfaat VRF
- Pemisahan Trafik: Trafik dari berbagai jaringan dapat diisolasi secara logis, bahkan jika menggunakan perangkat yang sama karena VRF ini akan membuat beberapa routing table baru yang terpisah.
- Keamanan Jaringan: VRF memberikan isolasi trafik yang membantu mencegah kebocoran data.
- Efisiensi Infrastruktur: Mengurangi kebutuhan perangkat tambahan, mengoptimalkan pemanfaatan perangkat keras.
- Fleksibilitas Operasional: Mendukung multi-tenancy untuk jaringan perusahaan atau penyedia layanan.
b. Pengguna VRF
- Jaringan penyedia layanan yang mendukung banyak pelanggan (multi-tenant).
- Isolasi jaringan dalam perusahaan untuk divisi atau aplikasi yang berbeda.
- Mendukung VPN Layer 3 di jaringan berbasis MPLS.
2. Dasar-Dasar VRF
a. Istilah dalam VRF
VRF Instance
VRF instance adalah sebuah ruang logis pada router untuk memisahkan tabel routing. Dalam satu device, dapat dibuat beberapa VRF instance, yang masing-masing memiliki tabel routingnya sendiri.
Fungsi:
- Memisahkan trafik jaringan yang berbeda, meskipun menggunakan perangkat keras yang sama.
- Menyediakan isolasi logis antar jaringan, memastikan bahwa data dari satu jaringan tidak bercampur dengan data dari jaringan lain.
Contoh:
Dalam sebuah perangkat router, Anda dapat membuat VRF bernama “CustomerA” untuk mengelola trafik dari pelanggan A dan “CustomerB” untuk pelanggan B. Keduanya memiliki tabel routing yang terisolasi sehingga rute dari “CustomerA” tidak terlihat oleh “CustomerB.”
Route Distinguisher (RD)
RD adalah sebuah identifier unik yang digunakan untuk membedakan rute di antara berbagai VRF. RD tidak memengaruhi proses routing itu sendiri, tetapi membantu perangkat untuk menjaga agar rute dari setiap VRF tetap unik.
Format:
RD memiliki format
: - Administrator Field: Sebuah nomor, biasanya berupa AS (Autonomous System) atau alamat IP.
- Assigned Number: Sebuah angka unik untuk membedakan rute dalam VRF tersebut.
Contoh Format RD:
- 100:1
- 192.168.1.1:100
Fungsi RD:
Menambahkan “label” unik pada rute di jaringan yang mendukung VRF.
Membantu perangkat untuk mengenali rute mana yang milik VRF tertentu.
Isolasi Rute Antar-VRF:
Jika dua VRF memiliki jaringan yang sama (misalnya
192.168.1.0/24
), RD membantu membedakan rute tersebut.- VRF A memiliki RD
100:1
→ Rute ditandai sebagai100:1:192.168.1.0/24
. - VRF B memiliki RD
100:2
→ Rute ditandai sebagai100:2:192.168.1.0/24
.Router tetap bisa memproses rute ini secara terpisah.
- VRF A memiliki RD
Mengkoneksikan network menggunakan MPLS, BGP dan antar VRF sebagaia identitas VRFnya.
Tidak berfungsi untuk VRF Local
Route Target (RT)
Atribut dalam protokol BGP yang digunakan untuk menentukan kebijakan distribusi rute antar-VRF. RT menentukan apakah rute dari satu VRF bisa diekspor (dibagikan) atau diimpor (digunakan) oleh VRF lain.
Fungsi RT:
- Export RT: Menandai rute yang akan diiklankan (ekspor) dari sebuah VRF ke VRF lain.
- Import RT: Menentukan rute dari VRF lain yang dapat diterima (impor) oleh VRF tertentu.
Hubungan RD dan RT:
- RD: Membuat rute unik untuk VRF tertentu.
- RT: Mengontrol distribusi rute tersebut ke VRF lain.
Contoh Penggunaan RT:
Misalnya, VRF “HR” memiliki rute yang perlu diakses oleh VRF “IT.” Anda dapat mengonfigurasi:
- VRF “HR” dengan Export RT 100:10.
- VRF “IT” dengan Import RT 100:10.
Dengan konfigurasi ini, rute dari VRF “HR” dapat diakses oleh VRF “IT.”
VRF Table
VRF table adalah tabel routing terpisah yang dibuat untuk setiap VRF instance. Tabel ini menyimpan rute khusus untuk trafik dalam VRF tersebut.
Fungsi:
- Mengatur rute secara terpisah untuk setiap VRF, memastikan isolasi antar jaringan.
- Memungkinkan perangkat untuk mengetahui jalur mana yang harus digunakan untuk mengirimkan trafik.
Komponen dalam VRF Table:
- Prefix: Jaringan tujuan (misalnya,
192.168.10.0/24
). - Next Hop: Alamat IP berikutnya dalam jalur routing.
- Interface: Port atau interface fisik/logis yang digunakan untuk mengirimkan trafik.
b. Tabel Routing dan Segmentasi dalam VRF
VRF memungkinkan segmentasi tabel routing sehingga rute dari satu VRF tidak terlihat oleh VRF lain. Hal ini memastikan isolasi penuh antar jaringan.
c. Perbandingan dengan Routing Tradisional
- Routing Tradisional: Semua rute dikumpulkan dalam satu tabel routing.
- VRF: Rute diisolasi ke tabel routing yang berbeda berdasarkan kebutuhan bisnis atau keamanan.
3. Contoh Konfigurasi
Contoh 1: Isolasi Rute Antar VRF
Misalnya, ada dua VRF:
- VRF_A (RD:
100:1
, RT:100:10
) - VRF_B (RD:
100:2
, RT:100:20
)
Tabel routing untuk masing-masing VRF:
VRF_A:
#Configuration ip vrf VRF_A rd 192.168.1.1:1 Destination RD Next Hop 192.168.1.0 100:1 10.0.0.1
VRF_B:
#Configuration ip vrf VRF_B rd 192.168.1.1:2 Destination RD Next Hop 192.168.1.0 100:2 10.0.0.2
Rute
192.168.1.0/24
pada VRF_A dan VRF_B tidak akan saling memengaruhi karena memiliki RD yang berbeda.- VRF_A (RD:
Contoh 2: Inter-VRF Routing (Route Leaking) for BGP/MPLS
Misalnya, VRF_A membutuhkan akses ke jaringan di VRF_B. Anda dapat mengonfigurasi RT sebagai berikut:
VRF_A Configuration:
ip vrf VRF_A rd 100:1 route-target export 100:10 route-target import 100:20
VRF_B Configuration:
ip vrf VRF_B rd 100:2 route-target export 100:20 route-target import 100:10
Penjelasan:
- VRF_A mengekspor/membagikan routing tablenya dengan RT
100:10
. - VRF_B mengimpor/menerima routing table dari VRF_A dengan RT
100:10
dan mengekspor dengan RT100:20
. - VRF_A mengimpor rute dari VRF_B menggunakan RT
100:20
.
Lengkapnya bisa membuka materi MPLS-VPN
4. Troubleshoot
show ip vrf / show ip vrf detail
= Verifikasi Konfigurasi VRF mulai dari Nama instance VRF, RD, dan alokasi Interface VRF.router#show ip vrf Name Default RD Interfaces net1 192.168.10.1:1 Et0/0 Et0/2 net2 192.168.20.1:1 Et0/1 Et0/3 router#show ip vrf detail VRF net1 (VRF Id = 1); default RD 192.168.10.1:1; default VPNID <not set> Old CLI format, supports IPv4 only Flags: 0xC Interfaces: Et0/0 Et0/2 Address family ipv4 unicast (Table ID = 0x3): Flags: 0x0 No Export VPN route-target communities No Import VPN route-target communities No import route-map No global export route-map No export route-map VRF label distribution protocol: not configured VRF label allocation mode: per-prefix VRF net2 (VRF Id = 2); default RD 192.168.20.1:1; default VPNID <not set> Old CLI format, supports IPv4 only Flags: 0xC Interfaces: Et0/1 Et0/3 Address family ipv4 unicast (Table ID = 0x4): Flags: 0x0 No Export VPN route-target communities No Import VPN route-target communities No import route-map No global export route-map No export route-map VRF label distribution protocol: not configured VRF label allocation mode: per-prefix
show ip vrf [vrf-name]
= Check Table Routing VRF.router#show ip route vrf net1 Routing Table: net1 Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2 i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP a - application route + - replicated route, % - next hop override Gateway of last resort is not set 192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks C 192.168.10.0/24 is directly connected, Ethernet0/0 L 192.168.10.1/32 is directly connected, Ethernet0/0 192.168.30.0/24 is variably subnetted, 2 subnets, 2 masks C 192.168.30.0/24 is directly connected, Ethernet0/2 L 192.168.30.1/32 is directly connected, Ethernet0/2
show ip arp vrf [vrf-name]
= Check ARP VRF.router#show ip arp vrf net1 Protocol Address Age (min) Hardware Addr Type Interface Internet 192.168.10.1 - aabb.cc00.0500 ARPA Ethernet0/0 Internet 192.168.10.2 6 0050.7966.6888 ARPA Ethernet0/0 Internet 192.168.30.1 - aabb.cc00.0520 ARPA Ethernet0/2 Internet 192.168.30.2 6 0050.7966.6893 ARPA Ethernet0/2
ping vrf [vrf-name] ip [dest-ip]
traceroute vrf [vrf-name] ip [dest-ip]
= Check Connection via VRF.router#ping vrf net1 ip 192.168.30.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.30.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms router#traceroute vrf net1 ip 192.168.30.2 Type escape sequence to abort. Tracing the route to 192.168.30.2 VRF info: (vrf in name/id, vrf out name/id) 1 192.168.30.2 1 msec 0 msec 0 msec