[MIKROTIK] Recursive gateway and fail over - fourslickz/notes GitHub Wiki
SETUP ETHERNET NAME
/interface ethernet
set [ find default-name=ether1 ] name=ether1-speedy
set [ find default-name=ether2 ] name=ether2-biznet
set [ find default-name=ether3 ] name=ether3-lan
SETUP IP ADDRESS
/ip address
add address=192.168.1.254/24 interface=ether1-speedy network=192.168.1.0
add address=192.168.18.254/24 interface=ether2-biznet network=192.168.18.0
add address=192.168.0.254/24 interface=ether3-lan network=192.168.0.0
SETUP NAT
/ip firewall nat
add action=masquerade chain=srcnat comment=NAT-LAN src-address=192.168.0.0/24
SETUP MANGLE PORT 80 & 443
/ip firewall mangle
add action=mark-routing chain=prerouting comment=route-browsing dst-port=\
80,443 in-interface=ether9-lan new-routing-mark=route-browsing \
passthrough=no protocol=tcp src-address=192.168.0.0/24
add action=mark-routing chain=prerouting comment=route-browsing dst-port=\
80,443 in-interface=ether9-lan new-routing-mark=route-browsing \
passthrough=no protocol=udp src-address=192.168.0.0/24
SETUP ROUTING
/ip route
add check-gateway=ping distance=1 dst-address=8.8.8.8/32 gateway=192.168.100.1 comment=RECURSIVE
add check-gateway=ping distance=1 gateway=8.8.8.8 target-scope=30 comment=INDIHOME
add check-gateway=ping distance=2 gateway=192.168.18.1 comment=BIZNET
add check-gateway=ping distance=1 gateway=192.168.18.1 routing-mark=route-browsing comment=route-browsing
SCRIPT PING
/ system script add name="ping-check" source= \
:local target "10.10.2.1"
:local totalsent 10
:local success [/ping count=$totalsent $target ]
:if ( ($success * 100 / $totalsent) > 50 ) do={ :put "good" } else={ :put "not good" }