Basic BGP (Border Gateway Protocol)

───────────

BGP (Border Gateway Protocol)

BGP atau Border Gateway Protocol adalah routing protocol yang merupakan kategori exterior gateway protocol, yang mana BGP ini adalah routing yang menghubungkan antara satu otonom atau suatu instansi yang berada pada satu AS. Dalam hal ini BGP merupakan protokol routing yang sangat penting karena semua akses internet di dunia.

Pada Lab kali ini kita akan mencoba mengkonfigurasikan BGP pada  Device Router Mikrotik, kita akan mencoba update dari MikroTik RouterOS v7.

pada lab kali ini kita akan menggunakan Pnetlab untuk konfigurasi

iBGP (Internal BGP Peering):

  1. Tujuan Lab kali ini kita akan mengkonfigurasikan Peering pada ROS v7 dengan gols Peering kita Establish dengan iBGP (AS yang sama).
  2. Topologi Lab:
Konfigurasi R1
[admin@R1] > system/identity/set name=R1
[admin@R1] > ip address/add address=12.12.12.1/24 interface=ether1
[admin@R1] > routing/bgp/template/set default as=100 
[admin@R1] > routing/bgp/connection/add name=peer1 remote.address=12.12.12.2 remote.as=100 templates=default local.role=ibgp local.address=12.12.12.1  
Konfigurasi R2
[admin@R2] > system/identity/set name=R2
[admin@R2] > ip address/add address=12.12.12.2/24 interface=ether1
[admin@R2] > routing/bgp/template/set default as=100 
[admin@R2] > routing/bgp/connection/add name=peer1 remote.address=12.12.12.1 remote.as=100 templates=default local.role=ibgp local.address=12.12.12.2

Untuk menghubungkan 2 buah BGP Peering yang dibutuhkan hanya menambahkan konfigurasi di Routing BGP Connection dan merubah template menjadi AS, di setiap router yang melakukan peering 

Untuk mengetahui apakah koneksi BGP Peer kita sudah terbentuk (Establish) atau belum, kita bisa menggunakan perintah seperti dibawah ini

Konfigurasi R1
[admin@R1] > routing/bgp/session/printFlags: E – established 0 E name=”peer1-1″     remote.address=12.12.12.2 .as=100 .id=12.12.12.2     .capabilities=mp,rr,gr,as4 .messages=9 .bytes=202 .eor=””     local.role=ibgp .address=12.12.12.1 .as=100 .id=12.12.12.1     .capabilities=mp,rr,gr,as4 .messages=9 .bytes=202 .eor=””     output.procid=20 .network=BGP-Advertise     input.procid=20 ibgp     multihop=yes hold-time=3m keepalive-time=1m uptime=7m20s360ms     last-started=2024-07-11 09:42:02 prefix-count=0

Dari status diatas, koneksi BGP Peer telah berhasil, ditandai dengan status Establish atau E di belakang angka 0 atau number, dengan lama waktu konek (hold-time) selama 3 Menit. Jika kita perhatikan terdapat prefix-count disitu adalah jumlah prefix yang diterima dari pasangan Router BGP peernya. Prefix count bida bertambah ataupun berkurang sewaktu-waktu tergantung pada prefix yang di advertise oleh peeringnya.

Advertise Network Via BGP ROSv7

Pada topologi sebelumnya kita memiliki IP Loopback yang mana seakan akan kita memiliki IP Internal milik kita yang ingin kita Advertise ke AS lain.

Berbeda dengan ROS v6 di sini pada ROS v7 sudah terdapat interface Loopback bawaan sehingga kita tidak perlu mengkonfigurasikan Bridge lagi. Kita buat IP sesuai topologi yang sudah kita buat, lalu kita advertise kedalam BGP yang kita miliki, anggap saja IP Loopback yang kita buat IP Public yang akan kita Advertise.

Pastikan kita sudah mengidentifikasi Local Address yang ada, agar peering yang kita buat bisa Establish 

Untuk caranya mungkin agak berbeda dengan Version6 di v7 ini kita harus mendaftarkan pada:

IP > Firewall > Address-List > +(kita harus membuat Address List yang nantinya kita panggil pada BGP di ROS v7)

Konfigurasi R1
[admin@R1] > ip address/add address=1.1.1.1/32 interface=lo
[admin@R1] > ip firewall/address-list/add list=BGP-Advertise address=1.1.1.1
[admin@R1] > routing/bgp/connection/set peer1 output.network=BGP-Advertise
Konfigurasi R2
[admin@R2] > ip address/add address=2.2.2.2/32 interface=lo
[admin@R2] > ip firewall/address-list/add list=BGP-Advertise address=2.2.2.2/32
[admin@R2] > routing/bgp/connection/set peer1 output.network=BGP-Advertise

Jika sudah melakukan Advertise seperti di atas kita bisa mengecek pada tabel Routing apakah kita sudah mendapatkan Prefix dari Peering BGP kita.

Tabel Routing R1
[admin@R1] > ip route/print detail where dst-address=2.2.2.2/32   DAb   dst-address=2.2.2.2/32 routing-table=main gateway=12.12.12.2         immediate-gw=12.12.12.2%ether1 distance=200 scope=40 target-scope=30         suppress-hw-offload=no

Jika ingin melihat semua kita juga dapat melihatnya dengan cara

Tabel Routing ALL R1
[admin@R1] > ip route/print    DST-ADDRESS    GATEWAY     DISTANCEDAc 1.1.1.1/32          lo                   0DAb 2.2.2.2/32         12.12.12.2     200DAc 12.12.12.0/24    ether1            0

eBGP (External BGP Peering):

  1. Tujuan lab mengkonfigurasikan Peering BGP dengan AS yang berbeda dengan eBGP Peering
  2. Topologi Lab:
Konfigurasi R1
[admin@R1] > system/identity/set name=R1
[admin@R1] > ip address/add address=12.12.12.1/24 interface=ether1
[admin@R1] > routing/bgp/template/set default as=100
[admin@R1] > routing/bgp/connection/add name=peer1 remote.address=12.12.12.2 remote.as=200 templates=default local.role=ebgp local.address=12.12.12.1
Konfigurasi R2
[admin@R2] > system/identity/set name=R2
[admin@R2] > ip address/add address=12.12.12.2/24 interface=ether1
[admin@R2] > routing/bgp/template/set default as=200
[admin@R2] > routing/bgp/connection/add name=peer1 remote.address=12.12.12.1 remote.as=100 local.role=ebgp templates=default local.address=12.12.12.2

Untuk memastikan Routing BGP kita sudah terjalin atau belum, kita bisa melakukan cek koneksi BGP kita pada BGP Session, dan pastikan status yang kita dapat adalah Establish

R1-Cek Tabel Routing
[admin@R1] > routing/bgp/session/printFlags: E – established 0 E name=”peer1-1″     remote.address=12.12.12.2 .as=200 .id=12.12.12.2     .capabilities=mp,rr,gr,as4 .messages=5 .bytes=95 .eor=””     local.address=12.12.12.1 .as=100 .id=12.12.12.1     .capabilities=mp,rr,gr,as4 .messages=5 .bytes=95 .eor=””     output.procid=20 input.procid=20 ebgp     hold-time=3m keepalive-time=1m uptime=4m2s800ms     last-started=2024-07-12 06:52:25 prefix-count=0

Jika Routing BGP yang kita konfigurasi sudah terjalin atau Establish, selanjutnya kita bisa menambahkan IP Loopback yang mana nantinya akan kita advertise, sama dengan LAB iBGP sebelumnya 

R1-Advertise Network Address-List
[admin@R1] > ip address/add address=1.1.1.1/32 interface=lo
[admin@R1] > ip firewall/address-list/add list=BGP-Advertise address=1.1.1.1/32
[admin@R1] > routing/bgp/connection/set peer1 output.network=BGP-Advertise
R2-Advertise Network Address-List
[admin@R2] > ip address/add address=2.2.2.2/32 interface=lo
[admin@R2] > ip firewall/address-list/add list=BGP-Advertise address=2.2.2.2/32
[admin@R2] > routing/bgp/connection/set peer1 output.network=BGP-Advertise

Sama seperti sebelumnya, sebelum kita mengadvertise Network kita, kita perlu mengkonfigurasikan ke Address-List terlebih dahulu, setelah itu kita pangil pada Output.Network yang ada pada BGP Connection yang kita buat.

Jika sudah kita advertise kita bisa melihat apakan Network yang di advertise router tetangga kita sudah terdaftar pada Tabel Routing kita

R1-Tabel Routing
[admin@R1] > ip route/print detail where dst-address=2.2.2.2   DAb   dst-address=2.2.2.2/32 routing-table=main gateway=12.12.12.2         immediate-gw=12.12.12.2%ether1 distance=20 scope=40 target-scope=10         suppress-hw-offload=no

Note: Jika ingin mempelajari materi BGP ini kita bisa mengikuti atau belajar MTCINE (MikroTik Certified Inter-networking Engineer). Yang membahas tentang BGP, MPLS dan sebagainya. pada ID-Networkers terdapat Bootcamp yang mana jadwal dari Training atau Bootcamp tersebut setiap 6 Bulan sekali.

Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikuti. Klik disini untuk info lengkapnya.

Penulis : Agung Prasetio