Part 3: BGP Traffic Engineering - Local Preference & AS-Path Prepend di Juniper
Selamat datang di Part 3 seri tutorial BGP! Jika di part sebelumnya kita sudah belajar mengamankan router dari rute "sampah" menggunakan Import dan Export Policy, sekarang kita akan naik ke level yang lebih advanced: Traffic Engineering.
Di dunia nyata (terutama di kelas ISP atau Enterprise), kita jarang hanya memiliki satu koneksi internet. Umumnya ada dua atau lebih Upstream untuk kebutuhan redundancy. Masalahnya, bagaimana cara memaksa trafik agar lewat ke jalur A sebagai Primary (jalur utama) dan jalur B hanya sebagai Backup?
Di BGP, kita menggunakan dua attribute andalan: Local Preference (untuk mengatur trafik keluar/Download) dan AS-Path Prepend (untuk mengatur trafik masuk/Upload).
Prefix: 192.168.100.0/24"] <==>|"Local-Pref: 200
(Jalur Prioritas)"| B(("Upstream A (AS: 65002)
Primary Link")) A <==>|"Local-Pref: 80
Prepend: 3x
(Jalur Dilemahkan)"| C(("Upstream B (AS: 65003)
Backup Link")) style A fill:#2d2d2d,stroke:#a6e22e,stroke-width:2px,color:#fff style B fill:#2d2d2d,stroke:#66d9ef,stroke-width:2px,color:#fff style C fill:#2d2d2d,stroke:#ff5f56,stroke-width:2px,color:#fff
Langkah 1: Mengatur Trafik Keluar (Outbound) dengan Local Preference
Local Preference digunakan untuk memberitahu router internal kita: "Lewat pintu mana yang paling bagus untuk menuju ke internet?". Aturannya sederhana: Nilai Local-Pref yang lebih tinggi akan selalu menang. (Default BGP adalah 100).
Mari kita buat Import Policy untuk meninggikan nilai Local-Pref dari Upstream A (Primary), dan merendahkan nilai Local-Pref dari Upstream B (Backup).
# Policy untuk Upstream A (Primary) - Set Local-Pref 200 set policy-options policy-statement IN-UPSTREAM-A term ACCEPT-ALL then local-preference 200 set policy-options policy-statement IN-UPSTREAM-A term ACCEPT-ALL then accept # Policy untuk Upstream B (Backup) - Set Local-Pref 80 set policy-options policy-statement IN-UPSTREAM-B term ACCEPT-ALL then local-preference 80 set policy-options policy-statement IN-UPSTREAM-B term ACCEPT-ALL then accept
Langkah 2: Mengatur Trafik Masuk (Inbound) dengan AS-Path Prepend
Jika Local-Pref untuk mengatur Download, maka AS-Path Prepend digunakan untuk mengatur trafik masuk (Upload/kunjungan ke server kita). Aturannya kebalikan: BGP di internet akan selalu memilih jalur dengan jumlah AS-Path paling pendek.
Oleh karena itu, kita akan memanipulasi Export Policy ke Upstream B (Backup) dengan menambahkan AS Number kita sendiri berulang-ulang agar jalurnya terlihat "sangat jauh" dan dihindari oleh trafik internet dunia.
# Policy ke Upstream A (Primary) - Iklankan rute normal tanpa modifikasi set policy-options policy-statement OUT-UPSTREAM-A term MY-PREFIX from route-filter 192.168.100.0/24 exact set policy-options policy-statement OUT-UPSTREAM-A term MY-PREFIX then accept set policy-options policy-statement OUT-UPSTREAM-A term DENY-ALL then reject # Policy ke Upstream B (Backup) - Tambahkan Prepend 3 kali set policy-options policy-statement OUT-UPSTREAM-B term MY-PREFIX from route-filter 192.168.100.0/24 exact set policy-options policy-statement OUT-UPSTREAM-B term MY-PREFIX then as-path-prepend "65001 65001 65001" set policy-options policy-statement OUT-UPSTREAM-B term MY-PREFIX then accept set policy-options policy-statement OUT-UPSTREAM-B term DENY-ALL then reject
Langkah 3: Terapkan Policy ke BGP Peer
Sekarang, terapkan policy yang sudah kita buat ke masing-masing IP neighbor.
# Neighbor Upstream A (Primary) set protocols bgp group PEER-UPSTREAM-A neighbor 10.10.20.1 import IN-UPSTREAM-A set protocols bgp group PEER-UPSTREAM-A neighbor 10.10.20.1 export OUT-UPSTREAM-A # Neighbor Upstream B (Backup) set protocols bgp group PEER-UPSTREAM-B neighbor 10.10.30.1 import IN-UPSTREAM-B set protocols bgp group PEER-UPSTREAM-B neighbor 10.10.30.1 export OUT-UPSTREAM-B commit
Langkah 4: Verifikasi Traffic Engineering
Bagaimana cara mengetahui bahwa rekayasa trafik kita berhasil? Kita buktikan dari tabel routing router kita.
show route 8.8.8.8
inet.0: 89456 destinations, 178912 routes (89456 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
8.8.8.0/24 *[BGP/170] 2w1d 12:00:00, localpref 200
AS path: 65002 15169 I, validation-state: valid
> to 10.10.20.1 via xe-0/0/0.0
[BGP/170] 2w1d 12:00:00, localpref 80
AS path: 65003 15169 I, validation-state: valid
> to 10.10.30.1 via xe-0/0/1.0
Perhatikan simbol asterisk/bintang (*). Simbol tersebut menandakan rute mana yang Aktif dan dipilih oleh router. Sesuai prediksi, router memilih lewat 10.10.20.1 (Upstream A) karena nilai localpref 200 mengalahkan localpref 80 milik Upstream B!
Untuk mengecek Prepend ke Upstream B, Anda bisa menggunakan perintah pengecekan export seperti di Part 2:
show route advertising-protocol bgp 10.10.30.1 inet.0: 89456 destinations, 89456 routes (89456 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 192.168.100.0/24 Self 65001 65001 65001 I
Traffic Engineering adalah seni dalam mengelola routing. Dengan menguasai Local Preference dan AS-Path Prepend, Anda sudah bisa mengendalikan penuh dari mana dan ke mana trafik jaringan Anda mengalir. Sampai jumpa di Part selanjutnya!
Post a Comment