Press ESC to close

Implementasi Advanced Routing Menggunakan iproute2

WhatsAppTelegramFacebookXThreadsCopy Link

Pernahkah Anda merasa konfigurasi routing di Linux terasa membingungkan, penuh command rumit, dan sering gagal hanya karena satu parameter yang salah? Banyak pemula yang ingin mempelajari advanced routing justru berhenti di tengah jalan karena tidak tahu harus mulai dari mana. Padahal, dengan alat yang tepat—yaitu iproute2—semua bisa dilakukan dengan lebih mudah dan fleksibel.

Masalah umum seperti “bagaimana cara membuat routing untuk multi-gateway?”, “bagaimana menggunakan routing table tambahan?”, hingga “bagaimana memaksa traffic melewati jalur tertentu?” adalah hal-hal yang akan Anda pelajari dan pahami dengan jelas

Apa itu iproute2?

iproute2 adalah kumpulan tools networking modern di Linux yang menggantikan utilitas lama seperti ifconfig dan route. Tool utamanya adalah perintah ip, yang digunakan untuk mengontrol interface, address, route, rule, dan banyak aspek jaringan lain.

Beberapa keuntungan iproute2 dibanding tool lama:

  • Mendukung advanced routing.
  • Lebih lengkap dan fleksibel.
  • Sintaks lebih terstruktur.
  • Cocok untuk environment modern (VLAN, policy routing, tunneling, dsb).

Konsep Dasar Advanced Routing

Sebelum masuk ke tutorial, Anda perlu memahami dua konsep inti:

1. Routing Table

Secara default Linux menggunakan satu routing table utama: main.
Namun, advanced routing memungkinkan Anda membuat routing table tambahan, misalnya untuk mengatur rute berdasarkan interface tertentu.

2. Routing Policy (ip rule)

Routing biasa menggunakan rule: destination-based routing (berdasarkan alamat tujuan).
Dengan routing policy, Anda bisa menambahkan rule berbasis:

  • sumber (source-based routing)
  • interface
  • mark (traffic yang ditandai firewall)
  • hingga prioritas rule

Implementasi Advanced Routing Menggunakan iproute2

Di bawah ini adalah panduan langkah demi langkah untuk membuat routing policy sederhana menggunakan 2 gateway.

1. Tambahkan Routing Table Baru

Pertama, daftarkan table baru di file /etc/iproute2/rt_tables.

Tambahkan, misalnya:

100    table1
200    table2

Table ini akan digunakan untuk memisahkan route berdasarkan sumber atau interface tertentu.

2. Tambahkan IP Address ke Interface

Misalnya Anda memiliki dua interface: eth0 dan eth1.

ip addr add 192.168.10.2/24 dev eth0
ip addr add 192.168.20.2/24 dev eth1

3. Buat Route untuk Masing-Masing Routing Table

Tambahkan default gateway untuk setiap table:

<strong>ip route add 192.168.10.0/24 dev eth0 table table1<br>ip route add default via 192.168.10.1 dev eth0 table table1</strong>
<strong>ip route add 192.168.20.0/24 dev eth1 table table2
ip route add default via 192.168.20.1 dev eth1 table table2</strong>

4. Buat Policy Routing Berdasarkan Sumber IP

Policy routing menentukan kapan sebuah tabel digunakan.

sudo ip rule add from 192.168.1.10 table rt1<br>sudo ip rule add from 192.168.2.10 table rt2

Artinya:

  • Jika paket berasal dari 192.168.1.10 → gunakan routing table rt1
  • Jika paket berasal dari 192.168.2.10 → gunakan routing table rt2

Gunakan perintah untuk memastikan:

ip rule show

5. Mengatur Priority Rule (Opsional tetapi Penting)

Setiap rule memiliki priority. Anda bisa mengatur urutan eksekusinya:

sudo ip rule add priority 100 from 192.168.1.10 table rt1<br>sudo ip rule add priority 200 from 192.168.2.10 table rt2

Priority kecil → dieksekusi lebih dulu.

6. Menguji Routing

Anda bisa menguji jalur yang digunakan oleh IP tertentu:

ip route get 8.8.8.8 from 192.168.1.10

Jika konfigurasi benar, hasilnya akan menunjukkan gateway yang sesuai.

7. Membuat Konfigurasi Permanen

Agar tidak hilang setelah restart, Anda harus memasukkan konfigurasi ke:

  • /etc/network/interfaces (Debian-based)
  • /etc/sysconfig/network-scripts/ (RHEL-based)

Contoh untuk Debian:

post-up ip route add 192.168.1.0/24 dev eth0 src 192.168.1.10 table rt1
post-up ip rule add from 192.168.1.10 table rt1

8. Contoh Kasus: Dual-WAN Load Separation

Salah satu implementasi advanced routing paling populer adalah memisahkan trafik ke dua ISP.

Misalnya:

  • ISP A → untuk trafik umum
  • ISP B → untuk trafik streaming atau download berat

Anda hanya perlu membuat dua tabel, menambahkan route, lalu membuat rule berdasarkan aplikasi atau subnet tertentu. Dengan iptables + mark routing, Anda bisa mengarahkan trafik jenis tertentu ke tabel tertentu.

Sampai di sini, Anda telah mempelajari konsep dasar hingga praktik implementasi advanced routing menggunakan iproute2, mulai dari membuat tabel routing tambahan, menambahkan aturan policy routing, hingga contoh kasus yang bisa diterapkan dalam jaringan nyata. Dengan pemahaman ini, Anda sudah bisa mengelola skenario jaringan yang lebih kompleks dan fleksibel.

WhatsAppTelegramFacebookXThreadsCopy Link