Part 3 BGP: Traffic Engineering - Local Preference & AS-Path Prepend di Juniper

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).

Topologi Traffic Engineering
graph LR A["Router Kita (AS: 65001)
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).

Juniper CLI - Import Policy (Local-Pref)
# 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.

Juniper CLI - Export Policy (AS-Path Prepend)
# 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.

Juniper CLI - Apply ke BGP Group
# 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.

Router Output - Cek Routing Table
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:

Router Output - Cek Prepend ke Upstream B
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

Post a Comment (0)

Previous Post Next Post