Pada Lan kali ini kita akan mengkonfigurasi yang sangat penting, yaitu Filtering di BGP. kenapa hal ini sangat penting, karena beberapa ISP atau Instansi yang menjalankan Routing Protocol BGP ini pernah membuat Server Google Down karena salah Advertise IP. sehingga seluruh Traffic masuk ke dalam Instansi tersebut.
Dapat kita ketahui bahwasanya BGP ini adalah Protokol Routing yang menyatukan seluruh jaringan yang ada di Dunia sehingga kita harus berhati hati dalam melakukan konfigurasi dan mematikan bahwasanya Router kita tidak menjadi Gateway atau jalur yang akan dilewati.
Oleh karena itu pada LAB kali ini kita akan mengkonfigurasikan Filtering pada BGP di Device MikroTik RouterOS v7 yang memiliki beberapa perbedaan.
Konfigurasi eBGP
- Gols kita adalah memantau bagaimana BGP tanpa Filter dan sudah ketika kita lakukan Filtering
- Melihat Traffic sebelum dan sesudah
- Topologi Lab:
Langsung saja kita konfigurasikan di seluruh router, tetapi kita akan fokus pada ISP-IDN atau ISP dengan AS3310
Konfigurasi ISP-1
[admin@ISP-1] > /system identityset name=ISP-1 [admin@ISP-1] > /ip addressadd address=103.111.1.1/24 interface=lo add address=10.13.13.1/24 interface=ether1add address=10.14.14.1/24 interface=ether2 [admin@ISP-1] > /ip firewall address-listadd address=103.111.1.0/24 list=BGP-Out [admin@ISP-1] > /routing/bgp/template/set default as=100 [admin@ISP-1] > /routing bgp connectionadd local.address=10.13.13.1 name=peer1 local.role=ebgp output.network=BGP-Out remote.address=10.13.13.254 remote.as=3310 templates=default add name=peer2 local.address=10.14.14.1 local.role=ebgp output.network=BGP-Out remote.address=10.14.14.4 remote.as=400 templates=default |
Kita lanjut konfigurasikan pada ISP-2
[admin@ISP2] > /system identityset name=ISP2 [admin@ISP2] > /ip addressadd address=10.23.23.2/24 interface=ether1add address=10.24.24.2/24 interface=ether2 add address=103.222.1.1/24 interface=lo [admin@ISP2] > /ip firewall address-listadd address=103.222.1.0/24 list=BGP-Out [admin@ISP2] > /routing bgp templateset default as=200 [admin@ISP2] > /routing bgp connectionadd local.address=10.24.24.2 local.role=ebgp name=peer1 output.network=BGP-Out remote.address=10.24.24.4 remote.as=400 templates=default add local.address=10.23.23.2 local.role=ebgp name=peer2 output.network=BGP-Out remote.address=10.23.23.254 remote.as=3310 templates=default |
Lanjutkan pada R4 kita ibaratkan sebagai penghubung ke internasional
[admin@ISP4-Global] > /system identityset name=ISP4-Global [admin@ISP4-Global] > /ip addressadd address=10.14.14.4/24 interface=ether1add address=10.24.24.4/24 interface=ether2add address=8.8.8.8 interface=lo network=8.8.8.8 [admin@ISP4-Global] > /ip firewall address-listadd address=8.8.8.8 list=BGP-Out [admin@ISP4-Global] > /routing bgp templateset default as=400 [admin@ISP4-Global] > /routing bgp connectionadd local.address=10.14.14.4 local.role=ebgp name=peer1 remote.address=10.14.14.1 remote.as=100 templates=default output.network=BGP-Out add local.address=10.24.24.4 local.role=ebgp name=peer2 remote.address=10.24.24.2 remote.as=200 templates=default output.network=BGP-Out |
kita ibaratkan seluruh ISP 1,2 dan 4 merupakan penyedia layanan transit atau peering. tugas kita disini agar dari ISP kita mendapatkan peering dari internasional. Tetapi kita akan mencoba mengkonfigurasikan terlebih dahulu tanpa Filtering nih, apa yang akan terjadi.
Langsung kita konfigurasikan pada ISP kita.
[admin@ISP-IDN] > /system identityset name=ISP-IDN [admin@ISP-IDN] > /ip addressadd address=10.13.13.254/24 interface=ether1add address=10.23.23.254/24 interface=ether2 add address=103.112.1.1/24 interface=lo [admin@ISP-IDN] > /routing bgp templateset default as=3310 [admin@ISP-IDN] > /routing bgp connectionadd local.address=10.13.13.254 local.role=ebgp name=peer1-ISP-1 output.network=BGP-Out remote.address=10.13.13.1 remote.as=100 templates=default add local.address=10.23.23.254 local.role=ebgp name=peer2-ISP-2 output.network=BGP-Out remote.address=10.23.23.2 remote.as=200 templates=default |
Disini kita sudah melakukan peering ke 2 ISP nih temen temen, yang mana berarti kita menggunakan BGP Multihoming, yang mana menggunakan atau peering ke dalam 2 ISP yang berbeda.
Sumber: https://wiki.mikrotik.com/wiki/Manual:Simple_BGP_Multihoming
Pengecekan Tabel Routing:
[admin@ISP-IDN] > ip route/print where distance=20Flags: D – DYNAMIC; A – ACTIVE; b – BGP DST-ADDRESS GATEWAY DISTANCED b 8.8.8.8/32 10.23.23.2 20DAb 8.8.8.8/32 10.13.13.1 20D b 103.111.1.0/24 10.23.23.2 20DAb 103.111.1.0/24 10.13.13.1 20DAb 103.222.1.0/24 10.23.23.2 20D b 103.222.1.0/24 10.13.13.1 20 |
Kita sudah mendapatkan Advertise dari ISP yang melakukan Advertise Prefix, disini kita tidak akan melakukan perubahan atau filtering. Tujuan kita melihat bagaimana kalau kita mengkonfigurasikan BGP ini tanpa filtering atau SOP. Bagaimana sih bahaya nya
Semisal salah satu upstem dari ISP Transit kita mengalami masalah atau sedang Down yang terjadi adalah BGP akan mencari Rute yang lain. nah hal ini lah yang bisa membuat perusahaan atau ISP mengalami kerugian karena kadang tanpa adanya Filtering Router ISP kita akan dijadikan Gateway, sehingga Traffic yang seharusnya bukan melalui kita mala lewat kita semua.
Sebagai contohnya disini kita akan mendisable salah satu interface yang ada pada ISP 2, yang mengarah ke ISP4
Disable Interface R-ISP2 Ether2
[admin@ISP2] > ip address/print# ADDRESS NETWORK INTERFACE0 10.23.23.2/24 10.23.23.0 ether11 10.24.24.2/24 10.24.24.0 ether22 103.222.1.1/24 103.222.1.0 lo [admin@ISP2] > ip address/disable numbers=1 |
Oke, kita coba cek tabel routing R2 sekarang
[admin@ISP2] > ip route/print where distance=20Flags: D – DYNAMIC; I – INACTIVE, A – ACTIVE; b – BGP; H – HW-OFFLOADEDColumns: DST-ADDRESS, GATEWAY, DISTANCE DST-ADDRESS GATEWAY DISTANCEDAb 8.8.8.8/32 10.23.23.254 20DIbH 8.8.8.8/32 10.24.24.4 20DAb 103.111.1.0/24 10.23.23.254 20DIbH 103.111.1.0/24 10.24.24.4 20DIbH 103.112.1.0/24 10.24.24.4 20DAb 103.112.1.0/24 10.23.23.254 20 |
Jika kita perhatikan karena Link ke R4 atau ISP4 dalam keadan Down maka ISP2 akan melewati router kita. nah hal itulah kemungkinan yang akan terjadi.
[admin@ISP2] > tool/traceroute 8.8.8.8 src-address=103.222.1.1# ADDRESS LOSS SENT LAST AVG BEST WORST STD-DEV1 10.23.23.254 0% 3 3ms 6.2 3 8.4 2.32 10.13.13.1 0% 3 5ms 7.7 5 11.3 2.63 8.8.8.8 0% 3 14.7ms 15.4 9.9 21.5 4.8 |
Jika kita melakukan Traceroute maka dia akan melewati ISP kita. nah semisal Bandwidth yang kita miliki hanya 1G nih. pastinya akan habis dong karena dibuat jalur oleh ISP 2 dan seterusnya.
Langsung saja kita konfigurasikan Filtering biar Trafik yang ada tidak melalui Router kita lagi
Balik lagi ke ISP-IDN
[admin@ISP-IDN] > /routing filter ruleadd chain=TO-ISP-1-in rule=”if (dst in 0.0.0.0/0 && dst-len in 8-24) { accept;}”add chain=TO-ISP-1-out rule=”if (dst in 103.112.1.0/24) {accept;}”add chain=TO-ISP-1-out rule=”if (dst in 0.0.0.0/0 && dst-len in 8-24) {reject;}” add chain=TO-ISP-2-in rule=”if (dst in 0.0.0.0/0 && dst-len in 8-24) { accept;}”add chain=TO-ISP-2-out rule=”if (dst in 103.112.1.0/24) {accept;}”add chain=TO-ISP-2-out rule=”if (dst in 0.0.0.0/0 && dst-len in 8-24) {reject;}” [admin@ISP-IDN] > /routing/bgp/connection/set peer1-ISP-1 input.filter=TO-ISP-1-in output.filter-chain=TO-ISP-1-outset peer2-ISP-2 input.filter=TO-ISP-2-in output.filter-chain=TO-ISP-2-out |
Routing Filter diatas diurutkan berdasarkan Sequence Number, berarti dari atas ke bawah berdasarkan nomor yang dibawah #
[admin@ISP-IDN] > routing/filter/rule/print where .id Flags: X – disabled, I – inactive 0 chain=TO-ISP-2-in rule=”if (dst in 0.0.0.0/0 && dst-len in 8-24) { accept;}” 1 chain=TO-ISP-1-in rule=”if (dst in 0.0.0.0/0 && dst-len in 8-24) { accept;}” 2 chain=TO-ISP-2-out rule=”if (dst in 103.112.1.0/24) {accept;}” 3 chain=TO-ISP-1-out rule=”if (dst in 103.112.1.0/24) {accept;}” 4 chain=TO-ISP-2-out rule=”if (dst in 0.0.0.0/0 && dst-len in 8-24) {reject;}” 5 chain=TO-ISP-1-out rule=”if (dst in 0.0.0.0/0 && dst-len in 8-24) {reject;}” |
Penjelasan:
- Untuk Sq Number 0,1, itu kita fungsikan agar prefix yang masuk ke kita diizinkan, atau network yang di advertise oleh ISP dan Internasional dapat masuk ke Routing tabel kita
- Untuk Sq Number 2,3, itu kita fungsikan agar prefix yang kita advertise dapat ter advertise atau keluar, dan diterima oleh Router lain
- Untuk Sq Number 4,5, itu kita fungsikan agar traffic yang masuk ke kita tidak melewati Router kita. nah Filtering inilah yang sangat terpakai dan sangat penting. seperti pengujian sebelumnya.
Jika kita sudah menambahkan Filtering seperti di atas,selanjutnya kita bisa melakukan pengetesan kembali nih. kita coba tes lagi di R2 atau ISP2 apakah traffic tetap melalui Router kita atau tidak.
Pengujian 2:
[admin@ISP2] > ip route/printFlags: D – DYNAMIC; A – ACTIVE; c – CONNECT, b – BGPColumns: DST-ADDRESS, GATEWAY, DISTANCE DST-ADDRESS GATEWAY DISTANCEDAc 10.23.23.0/24 ether1 0DAb 103.112.1.0/24 10.23.23.254 20DAc 103.222.1.0/24 lo 0 |
Jika kita perhatikan pada R2 tau ISP2 sudah tidak mendapatkan advertise dari Internasional. karena filtering yang kita lakukan. Untuk pembuktian kita bisa melakukan Traceroute apakah masih sama atau berbeda
[admin@ISP2] > tool/traceroute 8.8.8.8 src-address=103.222.1.1Columns: LOSS, SENT, LAST# LOSS SENT LAST1 100% 1 timeout2 100% 1 timeout3 100% 1 timeout |
Jozzz.. dapat kita lihat bahwa ISP2 sudah tidak melewati Router kita lagi, aman dehh!!
Kita aktifkan lagi interfacenya
[admin@ISP2] > ip address/printColumns: ADDRESS, NETWORK, INTERFACE# ADDRESS NETWORK INTERFACE0 10.23.23.2/24 10.23.23.0 ether11 X 10.24.24.2/24 10.24.24.0 ether22 103.222.1.1/24 103.222.1.0 lo [admin@ISP2] > ip address/enable numbers=1 |
[admin@ISP2] > tool/traceroute 8.8.8.8 src-address=103.222.1.1Columns: ADDRESS, LOSS, SENT, LAST, AVG, BEST, WORST, STD-DEV# ADDRESS LOSS SENT LAST AVG BEST WORST STD-DEV1 8.8.8.8 0% 7 2ms 6 2 11.8 3.5 |
Tabel routing R-ISP-IDN
[admin@ISP-IDN] > ip route/print where distance=20 DST-ADDRESS GATEWAY DISTANCEDIb 8.8.8.8/32 10.23.23.2 20DIb 8.8.8.8/32 10.13.13.1 20D b 103.111.1.0/24 10.23.23.2 20DAb 103.111.1.0/24 10.13.13.1 20D b 103.222.1.0/24 10.13.13.1 20DAb 103.222.1.0/24 10.23.23.2 20 [admin@ISP-IDN] > ping 8.8.8.8 0 8.8.8.8 56 55 39ms424us 1 8.8.8.8 56 55 21ms881us 2 8.8.8.8 56 55 18ms460us |
Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikuti, klik disini untuk info lengkapnya.
Penulis : Agung Prasetio