Melanjutkan catatan sebelumnya mengenai cheat sheet BGP, kali ini kita akan membahas perbedaan mendasar strategi routing filter antara eBGP (External BGP) dan iBGP (Internal BGP).

Sebagai network engineer, mindset saat mengonfigurasi eBGP dan iBGP harus dibedakan:

  • eBGP (Antar ASN berbeda): Prinsip utamanya adalah Zerro Trust / Strict Filtering. Kita tidak boleh sembarangan menerima rute (untuk mencegah routing loop/hijack) dan tidak boleh sembarangan membuang rute ke luar (agar tidak menjadi transit AS dadakan).
  • iBGP (Dalam ASN yang sama): Prinsip utamanya adalah Propagation & Trust. Tujuannya adalah menyebarkan rute yang didapat dari eBGP ke seluruh router core/distribusi di dalam jaringan kita sendiri. Filter biasanya lebih longgar, namun berfokus pada manipulasi Next-Hop atau Local Preference.

Berikut adalah contoh skenario dan penerapannya di MikroTik (RouterOS v7 & v6).


Skenario Topologi

  • ASN Kita: 65000
  • IP Prefix Kita: 103.10.10.0/24
  • Router Edge: Melakukan peering eBGP dengan Upstream (AS 65001).
  • Router Core: Berada di dalam jaringan kita, melakukan peering iBGP dengan Router Edge.

1. Penerapan eBGP (Ke Upstream / Peer Luar)

Pada eBGP, kita harus memastikan:

  1. Hanya announce IP Publik (prefix) milik kita sendiri.
  2. Menolak IP Private (Bogon) dari luar.
  3. Menerima Default Route (atau Full Table) dari Upstream.

RouterOS v7 (Isian kolom Rule)

Filter OUT (Ke Upstream): Hanya izinkan prefix 103.10.10.0/24 kita keluar, sisanya reject.

if (dst == 103.10.10.0/24) { accept; }
reject;

Filter IN (Dari Upstream): Buang IP Private, lalu terima Default Route.

Iklan
# Drop Bogon
if (dst in 10.0.0.0/8 || dst in 172.16.0.0/12 || dst in 192.168.0.0/16 || dst in 100.64.0.0/10) { reject; }

# Terima Default Route
if (dst == 0.0.0.0/0) { accept; } else { reject; }

(Catatan: Jika peering dengan OpenIXP, ubah bagian default route menjadi reject, dan sisanya accept).

RouterOS v6 (Via Terminal CLI)

Filter OUT & IN eBGP:

/routing filter
# OUT ke Upstream
add chain=eBGP-OUT prefix=103.10.10.0/24 action=accept
add chain=eBGP-OUT action=discard

# IN dari Upstream
add chain=eBGP-IN prefix=10.0.0.0/8 action=discard
add chain=eBGP-IN prefix=172.16.0.0/12 action=discard
add chain=eBGP-IN prefix=192.168.0.0/16 action=discard
add chain=eBGP-IN prefix=0.0.0.0/0 action=accept
add chain=eBGP-IN action=discard

2. Penerapan iBGP (Ke Router Internal)

Pada iBGP, kita biasanya menggunakan interface Loopback (dibantu OSPF agar antar loopback saling ping). Fokus filter iBGP di Router Edge adalah mendistribusikan default route (atau rute eBGP) ke Router Core, serta memastikan atribut seperti Local Preference atau Next-Hop tersalurkan dengan baik.

Best practice di iBGP: Next-Hop-Self. Router Edge harus mengubah next-hop dari rute eBGP menjadi IP Loopback-nya sendiri sebelum dikirim ke Router Core, agar Router Core tahu jalan keluarnya.

RouterOS v7 (Isian kolom Rule)

(Di ROS v7, fitur next-hop-self biasanya diaktifkan langsung di menu BGP Connection > Output > Network / Nexthop Choice = force-self, tapi kita juga bisa manipulasinya di filter).

Filter OUT (Dari Edge ke Core): Kirim rute yang ada, pastikan set next-hop ke IP Loopback Edge (misal: 10.255.255.1), dan berikan Local Preference agar Core memprioritaskan jalur ini.

set bgp-next-hop 10.255.255.1;
set bgp-local-pref 150;
accept;

Filter IN (Dari Core ke Edge): Terima prefix internal (misal dari segmen pelanggan di bawah Router Core) agar Edge bisa mengumumkannya ke luar (pastikan sinkron dengan rule eBGP OUT).

if (dst in 103.10.10.0/24) { accept; }
reject;

RouterOS v6 (Via Terminal CLI)

Filter OUT & IN iBGP:

/routing filter
# OUT dari Edge ke Core (Kirim rute + ubah nexthop + set loc-pref)
add chain=iBGP-OUT action=accept set-bgp-next-hop=10.255.255.1 set-bgp-local-pref=150

# IN dari Core ke Edge (Hanya terima prefix valid jaringan kita)
add chain=iBGP-IN prefix=103.10.10.0/24 action=accept
add chain=iBGP-IN action=discard

Kesimpulan

  • eBGP Filter: Bersifat membatasi (restriktif). Kita adalah penjaga gerbang ASN kita. Jangan sampai bocor advertise IP orang lain ke internet, dan jangan mau menerima rute sampah (bogon) dari luar.
  • iBGP Filter: Bersifat fasilitator. Tujuannya merapikan tabel routing internal. Filter digunakan untuk traffic engineering di jaringan lokal, seperti menentukan Edge mana yang jadi gateway utama menggunakan Local Preference atau Next-Hop-Self.