# Mikrotik Failover Setup
# Add IP Addresses for WAN and LAN interfaces
/ip address
add address=192.168.10.1/24 interface=WAN1
add address=192.168.20.1/24 interface=WAN2
add address=192.168.30.1/24 interface=WAN3
add address=192.168.100.1/24 interface=LAN1
add address=192.168.200.1/24 interface=LAN2
# Mark connections for routing
/ip firewall mangle
add chain=prerouting src-address=192.168.100.0/24 action=mark-connection new-connection-mark=LAN1_conn passthrough=yes
add chain=prerouting src-address=192.168.200.0/24 action=mark-connection new-connection-mark=LAN2_conn passthrough=yes
add chain=prerouting connection-mark=LAN1_conn action=mark-routing new-routing-mark=to_WAN1 passthrough=yes
add chain=prerouting connection-mark=LAN2_conn action=mark-routing new-routing-mark=to_WAN2 passthrough=yes
# Add Routes for WAN Failover
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.10.1 routing-mark=to_WAN1 check-gateway=ping distance=1 comment="to_WAN1"
add dst-address=0.0.0.0/0 gateway=192.168.20.1 routing-mark=to_WAN2 check-gateway=ping distance=1 comment="to_WAN2"
add dst-address=0.0.0.0/0 gateway=192.168.30.1 check-gateway=ping distance=2 comment="to_WAN3" disabled=yes
# Configure NAT for Outbound Traffic
/ip firewall nat
add chain=srcnat out-interface=WAN1 action=masquerade
add chain=srcnat out-interface=WAN2 action=masquerade
add chain=srcnat out-interface=WAN3 action=masquerade
# Failover Script to Switch to WAN3 if WAN1 & WAN2 Fail
/system script
add name="Failover-WAN3" source={
:log info "Checking WAN1 & WAN2 status..."
:if ([/ping 8.8.8.8 interface=WAN1 count=3] = 0 && [/ping 8.8.8.8 interface=WAN2 count=3] = 0) do={
:log warning "WAN1 & WAN2 DOWN! Switching to WAN3..."
/ip route set [find comment="to_WAN1"] disabled=yes
/ip route set [find comment="to_WAN2"] disabled=yes
/ip route set [find comment="to_WAN3"] disabled=no
} else={
:log info "WAN1 atau WAN2 masih aktif, tetap di jalur utama."
}
}
/tool netwatch
add host=8.8.8.8 interval=30s timeout=3s up-script="/system script run Restore-MainWAN" down-script="/system script run Failover-WAN3"
# Restore WAN1 or WAN2 if Back Online
/system script
add name="Restore-MainWAN" source={
:log info "Checking if WAN1 or WAN2 is back..."
:if ([/ping 8.8.8.8 interface=WAN1 count=3] > 0 || [/ping 8.8.8.8 interface=WAN2 count=3] > 0) do={
:log warning "WAN1 atau WAN2 UP! Switching back from WAN3..."
/ip route set [find comment="to_WAN1"] disabled=no
/ip route set [find comment="to_WAN2"] disabled=no
/ip route set [find comment="to_WAN3"] disabled=yes
}
}
/system logging
add topics=script action=memory
# Notify Failover to Telegram
/system script
add name="Notify-Failover" source={
/tool fetch url="https://api.telegram.org/bot<TOKEN>/sendMessage?chat_id=<CHAT_ID>&text=WAN1%20&%20WAN2%20DOWN!%20Failover%20ke%20WAN3" keep-result=no
}
/tool netwatch
add host=8.8.8.8 interval=30s timeout=3s down-script="/system script run Notify-Failover"
# Dynamic DDNS Script for WAN3 IP Update
/system script
add name="Dynamic-DDNS" source={
:global ddnsName "myddns.example.com"
:global ddnsUser "myuser"
:global ddnsPass "mypassword"
:global currentIP [/ip address get [find interface=WAN3] address]
:set currentIP [:pick $currentIP 0 [:find $currentIP "/"]]
/tool fetch url="https://dynamicdnsprovider.com/update?hostname=$ddnsName&myip=$currentIP" user=$ddnsUser password=$ddnsPass keep-result=no
}
/system scheduler
add name=Update-DDNS interval=5m on-event="/system script run Dynamic-DDNS"
# VPN Redirect for Speedtest & Traceroute
/interface wireguard add name=VPN-WG private-key="<your-private-key>"
/ip address add address=10.10.10.2/24 interface=VPN-WG
/ip route add dst-address=0.0.0.0/0 gateway=10.10.10.1 routing-mark=speedtest
/ip firewall mangle add chain=prerouting protocol=icmp action=mark-routing new-routing-mark=speedtest passthrough=yes
/ip firewall mangle add chain=prerouting protocol=tcp dst-port=8080 action=mark-routing new-routing-mark=speedtest passthrough=yes
/ip firewall mangle add chain=prerouting protocol=tcp dst-port=80 action=mark-routing new-routing-mark=speedtest passthrough=yes
Kesimpulannya, konfigurasi ini membuat jaringan Anda lebih handal dan dapat mengalihkan koneksi secara otomatis jika terjadi masalah pada WAN utama (WAN1 dan WAN2). Berikut adalah beberapa poin penting:
1. Failover WAN (WAN1, WAN2, WAN3)
-
WAN1 dan WAN2 akan digunakan secara utama untuk koneksi.
-
Jika WAN1 dan WAN2 mati (terdeteksi dengan ping), sistem akan otomatis beralih ke WAN3 sebagai cadangan.
-
Begitu salah satu dari WAN1 atau WAN2 kembali online, sistem akan kembali menggunakan jalur utama (WAN1 atau WAN2).
2. Dynamic DNS
-
Menyediakan pembaruan otomatis alamat IP untuk WAN3 menggunakan layanan DDNS, jadi meskipun IP publik WAN3 berubah, Anda tetap bisa mengakses jaringan tersebut dengan nama domain yang tetap.
3. VPN untuk Redirect Speedtest & Traceroute
-
Menambahkan pengalihan khusus untuk speedtest dan traceroute agar bisa melalui VPN untuk keperluan testing atau pengaturan lainnya. Hal ini memastikan bahwa test koneksi tidak terpengaruh oleh jaringan utama yang sedang dipakai.
4. Notifikasi via Telegram
-
Jika WAN1 dan WAN2 mati dan terjadi failover ke WAN3, Anda akan mendapatkan notifikasi melalui Telegram agar bisa segera menanggapi.
5. Pengaturan Failover yang Fleksibel
-
Konfigurasi ini menggunakan Netwatch dan Script untuk memantau kondisi WAN dan melakukan pengalihan atau pemulihan rute secara otomatis. Ini membuat jaringan tetap stabil tanpa memerlukan intervensi manual.
6. NAT dan Firewall
-
Konfigurasi NAT memastikan bahwa lalu lintas keluar melalui masing-masing WAN tetap termasker dengan benar.
-
Firewall mangle digunakan untuk menandai lalu lintas berdasarkan koneksi dan mengarahkan lalu lintas tersebut ke WAN yang tepat.
Dengan konfigurasi ini, Anda mendapatkan jaringan yang lebih andal dengan failover otomatis, pengalihan VPN untuk testing, dan notifikasi untuk pemeliharaan jaringan.
Jika ada hal yang perlu ditambahkan atau disesuaikan, Anda bisa menyesuaikannya sesuai kebutuhan spesifik di lapangan. Semoga membantu dan mudah dipahami!


April 02, 2025
Rufaidah-network
0 Comments:
Posting Komentar