that what every one look for
any improve will be welcome
/ip dns
set allow-remote-requests=yes primary-dns= x.x.x.xsecondary-dns=0.0.0.0
/ip route
add dst-address=0.0.0.0 / 0 gateway= pppoe-out1 distance=1 check-gateway=ping
add dst-address=0.0.0.0 / 0 gateway= pppoe-out2 distance=2 check-gateway=ping
/ip firewall nat
add action=masquerade chain=srcnat out-interface= pppoe-out1
add action=masquerade chain=srcnat out-interface= pppoe-out2
/ip proxy
set cache-on-disk=yes enabled=yes max-cache-size=200000KiB port=8080
/ip firewall nat
/ip firewall address-list
add address=(ppoe range) list=local
add address=(my local range) list=local
/ip firewall mangle
add action=accept chain=prerouting dst-address-list=local in-interface=Local comment=“local traffic”
add action=accept chain=output dst-address-list=local
/ip firewall mangle
add action=mark-connection chain=prerouting connection-mark=no-mark in-interface=pppoe-out1 new-connection-mark=con-from-isp1 passthrough=yes comment=“traffic from isp1”
add action=mark-connection chain=prerouting connection-mark=no-mark in-interface=pppoe-out2 new-connection-mark=con-from-isp2 passthrough=yes comment=“traffic from isp2”
/ip firewall mangle
add action=mark-connection chain=output comment=dns dst-address=x.x.x.x dst-port=53 new-connection-mark=dns passthrough=yes protocol=tcp comment=“traffic control citra.net.id”
add action=mark-connection chain=output dst-address=x.x.x.xdst-port=53 new-connection-mark=dns passthrough=yes protocol=udp
add action=mark-routing chain=output connection-mark=dns new-routing-mark=route-to-isp1 passthrough=no
/ip firewall mangle
add action=jump chain=prerouting comment=“jump to the client-lb” connection-mark=no-mark in-interface=Local jump-target=client-lb
add action=jump chain=output comment=“jump to the lb-proxy” connection-mark=no-mark out-interface=!Local jump-target=lb-proxy
/ip firewall mangle
add action=mark-connection chain=client-lb dst-address-type=local new-connection-mark=to-isp1 passthrough=yes per-connection-classifier=both-addresses:3/0 comment=“initial client loadbalancing ”
add action=mark-connection chain=client-lb dst-address-type=local new-connection-mark=to-isp1 passthrough=yes per-connection-classifier=both-addresses:3/1
add action=mark-connection chain=client-lb dst-address-type=local new-connection-mark=to-isp2 passthrough=yes per-connection-classifier=both-addresses:3/2
add action=return chain=client-lb comment=“end of loadbalancing”
/ip firewall mangle
add action=mark-connection chain=lb-proxy-address dst-address-type=local new-connection-mark=con-from-isp1 passthrough=yes per-connection-classifier=both-addresses:3/0 comment=“initial load balancing proxy ”
add action=mark-connection chain=lb-proxy-address dst-address-type=local new-connection-mark=con-from-isp1 passthrough=yes per-connection-classifier=both-addresses:3/1
add action=mark-connection chain=lb-proxy-address dst-address-type=local new-connection-mark=con-from-isp2 passthrough=yes per-connection-classifier=both-addresses:3/2
add action=return chain=lb-proxy comment=“end of loadbalancing”
/ip firewall mangle
add action=jump chain=prerouting comment=“route marking client” connection-mark=no-mark in-interface=Local jump-target=route-client
add action=mark-routing chain=route-client connection-mark=to-isp1 new-routing-mark=route-to-isp1 passthrough=no
add action=mark-routing chain=route-client connection-mark=to-isp2 new-routing-mark=route-to-isp2 passthrough=no
add action=mark-routing chain=route-client connection-mark=con-from-isp1 new-routing-mark=route-to-isp1 passthrough=no
add action=mark-routing chain=route-client connection-mark=con-from-isp2 new-routing-mark=route-to-isp2 passthrough=no
add action=return chain=route-client disabled=no
/ip firewall mangle
add action=mark-routing chain=output comment=“proxy route marking” connection-mark=con-from-isp1 new-routing-mark=route-to-isp1 out-interface=Local passthrough=no
add action=mark-routing chain=output connection-mark=con-from-isp2 new-routing-mark=route-to-isp2 out-interface=Local passthrough=no
/ip route
add check-gateway=ping dst-address=0.0.0.0/0 gateway=pppoe-out1 routing-mark=to-isp1 distance=1
add check-gateway=ping dst-address=0.0.0.0/0 gateway=pppoe-out2 routing-mark=to-isp1 distance=2
add check-gateway=ping dst-address=0.0.0.0/0 gateway=pppoe-out2 routing-mark=to-isp2 distance=1
add check-gateway=ping dst-address=0.0.0.0/0 gateway=pppoe-out1 routing-mark=to-isp2 distance=2