───────────
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):
- Tujuan Lab kali ini kita akan mengkonfigurasikan Peering pada ROS v7 dengan gols Peering kita Establish dengan iBGP (AS yang sama).
- 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):
- Tujuan lab mengkonfigurasikan Peering BGP dengan AS yang berbeda dengan eBGP Peering
- 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