Cara Setting Load Balance & Failover 2 ISP di OpenWrt dengan mwan3: Internet Anti Putus

Punya dua koneksi internet di rumah atau kantor, tapi cuma satu yang kepakai sedangkan yang satunya menganggur? Atau pernah internet putus total saat ISP utama gangguan, padahal ada koneksi kedua yang sebenarnya bisa langsung mengambil alih? Di OpenWrt, kedua masalah ini diselesaikan sekaligus dengan mwan3: paket yang mengatur load balance (membagi beban ke dua ISP) dan failover (pindah otomatis ke ISP yang masih hidup saat satu ISP putus).

Artikel ini membahas setting mwan3 dari nol sampai terverifikasi: menyiapkan interface WAN kedua, install mwan3, menulis konfigurasi lengkapnya, lalu menguji failover dengan cara mencabut salah satu ISP. Semua perintah dan isi file konfigurasinya bisa langsung di-copy-paste.

Gambaran Cara Kerja mwan3

mwan3 bekerja dengan memantau kesehatan tiap koneksi WAN. Setiap beberapa detik, router mengirim ping ke IP pemantau (misalnya 1.1.1.1 dan 8.8.8.8) lewat masing-masing ISP. Kalau sebuah ISP gagal menjawab ping beberapa kali berturut-turut, mwan3 menyatakan interface itu down dan memindahkan seluruh trafik ke ISP yang masih hidup. Begitu ISP yang bermasalah pulih, trafik dibagi lagi sesuai kebijakan yang kamu tentukan.

Penting untuk dipahami: load balance mwan3 membagi koneksi, bukan membelah satu koneksi menjadi dua. Satu unduhan file tidak akan tiba-tiba dua kali lebih cepat, karena satu koneksi tetap lewat satu ISP. Yang terasa adalah: banyak perangkat dan banyak koneksi (streaming di TV, Zoom di laptop, game di HP) tersebar ke dua ISP sehingga tidak saling berebut, dan total kapasitas rumah jadi terpakai penuh.

Prasyarat dan Topologi

Yang kamu butuhkan: router OpenWrt dengan dua jalur WAN. Idealnya router punya dua port WAN fisik. Kalau router cuma punya satu port WAN, solusinya bisa memakai adapter USB-to-LAN untuk WAN kedua, atau membagi satu port lewat switch managed dengan VLAN. Pada contoh artikel ini, ISP pertama terhubung sebagai interface wan dan ISP kedua sebagai interface wan2 di port eth2. Sesuaikan nama perangkatnya dengan router kamu, cek dulu dengan perintah ip link.

Asumsi pada contoh ini: kedua ISP memakai DHCP (kabel LAN langsung dari modem ISP dalam mode bridge atau router). Kalau ISP kamu memakai PPPoE, lihat catatan di Langkah 2, karena yang berubah hanya cara interface WAN kedua dibuat, sedangkan konfigurasi mwan3-nya sama.

Langkah 1: Install mwan3

Masuk ke router lewat SSH, lalu install mwan3 beserta antarmuka LuCI-nya:

opkg update
opkg install mwan3 luci-app-mwan3

Setelah instalasi selesai, buka LuCI di browser dan menu Network lalu Load Balancing sudah tersedia. Kita akan setting lewat file konfigurasi langsung karena lebih mudah di-copy-paste dan lebih mudah dicek ulang, tapi semua hasil setting ini juga bisa dilihat lewat menu tersebut.

Langkah 2: Siapkan Interface WAN Kedua

Pertama, buat interface wan2 di file /etc/config/network. Tambahkan blok berikut (sesuaikan eth2 dengan port fisik ISP kedua di router kamu):

config interface 'wan2'
        option device 'eth2'
        option proto 'dhcp'
        option metric '20'

Angka metric 20 membuat rute default ISP kedua kalah prioritas dibanding ISP pertama (yang biasanya bermetric 0 atau 10). Ini sengaja: mwan3 yang akan mengatur pembagian trafiknya, bukan tabel routing biasa. Kalau kedua interface memakai metric yang sama tanpa mwan3, routing bisa tidak menentu.

Kalau ISP kedua memakai PPPoE (misalnya username dan password dari ISP), ganti blok di atas dengan:

config interface 'wan2'
        option device 'eth2'
        option proto 'pppoe'
        option username 'username-isp-kedua'
        option password 'password-isp-kedua'
        option metric '20'

Selanjutnya, pastikan interface wan2 masuk ke zona firewall wan supaya trafiknya diizinkan keluar internet dan masquerading aktif. Di file /etc/config/firewall, cari zona bernama wan lalu tambahkan wan2 ke daftar network-nya:

config zone
        option name 'wan'
        list network 'wan'
        list network 'wan2'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'

Terakhir, terapkan perubahan network dan firewall, lalu cek apakah wan2 mendapat IP dari ISP kedua:

/etc/init.d/network restart
/etc/init.d/firewall restart
ip addr show wan2
ping -I wan2 -c 4 1.1.1.1

Perintah ping dengan opsi -I wan2 memaksa ping keluar lewat ISP kedua. Kalau ping ini berhasil, berarti jalur kedua sudah hidup sebelum mwan3 diaktifkan. Kalau gagal, jangan lanjut dulu: cek kabel, port, dan apakah modem ISP kedua sudah memberi IP.

Langkah 3: Tulis Konfigurasi mwan3 Lengkap

Sekarang tulis konfigurasi mwan3 ke file /etc/config/mwan3. Berikut isi lengkapnya untuk dua ISP dengan bobot seimbang (50:50) dan failover otomatis:

config globals 'globals'
        option mmx_mask '0x3F00'

config interface 'wan'
        option enabled '1'
        list track_ip '1.1.1.1'
        list track_ip '8.8.8.8'
        option reliability '1'
        option count '1'
        option timeout '2'
        option interval '5'
        option down '3'
        option up '3'
        option family 'ipv4'

config interface 'wan2'
        option enabled '1'
        list track_ip '1.1.1.1'
        list track_ip '8.8.8.8'
        option reliability '1'
        option count '1'
        option timeout '2'
        option interval '5'
        option down '3'
        option up '3'
        option family 'ipv4'

config member 'wan_m1_w1'
        option interface 'wan'
        option metric '1'
        option weight '1'

config member 'wan2_m1_w1'
        option interface 'wan2'
        option metric '1'
        option weight '1'

config policy 'balanced'
        list use_member 'wan_m1_w1'
        list use_member 'wan2_m1_w1'

config policy 'wan_only'
        list use_member 'wan_m1_w1'

config policy 'wan2_only'
        list use_member 'wan2_m1_w1'

config rule 'default_rule'
        option dest_ip '0.0.0.0/0'
        option use_policy 'balanced'

Penjelasan tiap bagiannya. Bagian interface mengatur pemantauan: track_ip adalah IP yang di-ping untuk mengecek kesehatan ISP, interval 5 berarti ping dikirim tiap 5 detik, down 3 berarti interface dinyatakan putus setelah 3 kali gagal berturut-turut (sekitar 15 detik), dan up 3 berarti dinyatakan pulih setelah 3 kali berhasil berturut-turut. Bagian member memberi bobot: karena keduanya weight 1, beban dibagi rata. Kalau kecepatan kedua ISP tidak sama, sesuaikan bobotnya dengan perbandingan kecepatannya, misalnya weight 2 untuk ISP 100 Mbps dan weight 1 untuk ISP 50 Mbps, supaya ISP yang lebih cepat menerima beban dua kali lebih banyak. Bagian policy balanced dipakai oleh rule default_rule untuk semua trafik, sedangkan wan_only dan wan2_only berguna sebagai cadangan kalau kamu nanti mau memaksa perangkat tertentu lewat satu ISP saja.

Setelah file ditulis, aktifkan dan jalankan mwan3:

/etc/init.d/mwan3 restart
/etc/init.d/mwan3 enable
mwan3 status

Perintah mwan3 status menampilkan status tiap interface dan policy yang aktif. Pastikan keduanya tertulis online sebelum lanjut ke pengujian.

Langkah 4: Verifikasi Load Balance Jalan

Cek tabel routing: sekarang harus ada dua rute default, satu lewat tiap ISP:

ip route | grep default
mwan3 interfaces
mwan3 policies

Kalau hanya satu rute default yang muncul, berarti salah satu interface belum dinyatakan online oleh mwan3. Cek lagi statusnya dan pastikan ping lewat interface tersebut berhasil (Langkah 2). Perlu diingat, mwan3 baru membagi trafik setelah kedua interface berstatus online.

Untuk melihat pembagian beban secara nyata, jalankan unduhan dari dua perangkat berbeda secara bersamaan, lalu cek interface mana yang dipakai tiap koneksi dengan perintah mwan3 status dan pemakaian bandwidth di Status lalu Realtime Graphs di LuCI. Perangkat yang berbeda seharusnya tersebar ke ISP yang berbeda.

Langkah 5: Uji Failover dengan Mencabut Satu ISP

Ini pengujian terpenting. Dari laptop, jalankan ping terus-menerus ke internet:

ping 1.1.1.1

Sambil ping berjalan, cabut kabel ISP pertama (atau matikan modem ISP pertama). Yang seharusnya terjadi: ping putus sesaat selama belasan detik, lalu tersambung lagi lewat ISP kedua tanpa kamu mengubah apa pun. Jalankan juga:

mwan3 status

Di outputnya, interface ISP pertama harus tertulis offline dan seluruh trafik berjalan lewat ISP kedua. Setelah itu, colokkan kembali kabel ISP pertama dan tunggu sekitar satu menit: statusnya kembali online dan beban terbagi lagi ke dua ISP. Kalau failover tidak terjadi, lihat bagian troubleshooting di bawah sebelum menyimpulkan mwan3 bermasalah.

Troubleshooting: Masalah yang Sering Muncul

Pertama, WAN kedua tidak mendapat IP. Cek nama perangkatnya: ip link menunjukkan nama port yang sebenarnya, dan di sebagian router urutan port bisa berbeda dari label di casing. Salah nama perangkat adalah penyebab paling umum.

Kedua, mwan3 menyatakan interface offline padahal internetnya jalan. Biasanya karena ISP memblokir ping ICMP ke IP pemantau. Ganti track_ip dengan IP yang bisa di-ping dari ISP tersebut, misalnya gateway ISP atau DNS lain, dan pastikan reliability tidak menuntut semua IP pemantau menjawab kalau salah satunya memang diblokir.

Ketiga, failover terasa lama. Itu normal sampai batas tertentu: dengan interval 5 dan down 3, deteksi putus butuh sekitar 15 detik ditambah waktu koneksi lama berpindah. Kalau mau lebih cepat, kecilkan interval menjadi 3 dan down menjadi 2, tapi jangan terlalu agresif karena flapping (interface naik-turun terus) justru membuat koneksi tidak stabil.

Keempat, kecepatan terasa tidak bertambah. Ingat penjelasan di awal: satu koneksi tetap lewat satu ISP. Uji dengan banyak perangkat atau banyak koneksi sekaligus, bukan dengan satu unduhan saja. Kalau satu perangkat penting harus selalu lewat ISP tercepat, buat rule tambahan di mwan3 yang mengarahkan IP perangkat tersebut ke policy wan_only atau wan2_only.

Kalau Mau Langsung Pakai Tanpa Setting Manual

Setting manual di atas memang lengkap, tapi butuh dua jalur WAN yang sudah benar, penulisan konfigurasi mwan3, dan pengujian failover. Kalau kamu mau langsung pakai tanpa repot, ada solusi siap pakai di openwrt.my.id yang tinggal di-import ke router, termasuk preset load balance dan failover dua ISP.

Penutup

Itulah cara setting load balance dan failover 2 ISP di OpenWrt dengan mwan3: siapkan interface WAN kedua, masukkan ke zona firewall WAN, tulis konfigurasi interface, member, policy, dan rule, lalu verifikasi dengan dua rute default dan uji cabut kabel. Sekali jalan, internet rumah atau kantor tidak lagi lumpuh total saat satu ISP gangguan, dan kapasitas dua ISP terpakai bersamaan.

Buat kamu yang mau jalan pintas, Config Load Balance 2 ISP (mwan3) di openwrt.my.id dibanderol Rp59.000 dan berisi konfigurasi failover otomatis plus pembagian beban dua ISP yang tinggal di-import. Selamat mencoba, dan semoga internet kamu tidak pernah putus total lagi.

Komentar