ip mdm1=10.2.5.2/30
ip mdm2=10.2.4.2/30
gateway mdm1=10.2.5.1
gateway mdm2=10.2.4.1
######==========START PCC load balancing=============#########
/interface
set ether3 name=lan
set ether4 name=mdm1
set ether5 name=mdm2
=======================================================
/ip address
add address=10.10.5.1/24 network=10.10.5.0 broadcast=10.10.5.255 interface=lan
add address=10.2.5.2/30 network=10.2.5.0 broadcast= 10.2.5.3 interface=mdm1
add address=10.2.4.2/30 network=10.2.4.0 broadcast=10.2.4.3 interface=mdm2
=======================================================
/ip firewall mangle
add chain=prerouting dst-address=10.2.5.0/30 action=accept
in-interface=lan
add chain=prerouting dst-address=10.2.4.0/30 action=accept
in-interface=lan
=======================================================
add action=mark-connection chain=input comment="connection mdm1"
connection-state=new disabled=no in-interface=mdm1
new-connection-mark=mdm1 passthrough=yes
add action=mark-connection chain=input comment="connection mdm2"
connection-state=new disabled=no in-interface=mdm2
new-connection-mark=mdm2 passthrough=yes
=======================================================
add action=mark-routing chain=output comment="route mdm1"
connection-mark=mdm1 connection-state=new disabled=no
new-routing-mark=mdm1 passthrough=no
add action=mark-routing chain=output comment="route mdm2"
connection-mark=mdm2 connection-state=new disabled=no
new-routing-mark=mdm2 passthrough=no
=======================================================
add action=mark-connection chain=prerouting comment="established connection mdm1" connection-state=established disabled=no in-interface=mdm1 new-connection-mark=mdm1 passthrough=yes
add action=mark-connection chain=prerouting comment="established connection mdm2"
connection-state=established disabled=no in-interface=mdm2 new-connection-mark=mdm2 passthrough=yes
=======================================================
add action=mark-routing chain=output comment="established route mdm1" connection-mark=mdm1 connection-state=established disabled=no new-routing-mark=to_mdm1 passthrough=no
add action=mark-routing chain=output comment="established route mdm2" connection-mark=mdm2 connection-state=established disabled=no new-routing-mark=to_mdm2 passthrough=no
=======================================================
##PILIH SALAH SATU (sample1 / sampele2)
# sample1 round robin outbound traffic routing, based on src port and src address
/ip firewall mangle
add chain=prerouting dst-address-type=!local in-interface=lan per-connection-classifier=src-address-and-port:2/0 action=mark-connection new-connection-mark=mdm1_pcc_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=lan per-connection-classifier=src-address-and-port:2/1 action=mark-connection new-connection-mark=mdm2_pcc_conn passthrough=yes
add chain=prerouting connection-mark=mdm1_pcc_conn in-interface=lan action=mark-routing new-routing-mark=to_mdm1
add chain=prerouting connection-mark=mdm2_pcc_conn in-interface=lan action=mark-routing new-routing-mark=to_mdm2
=======================================================
# sample2 round robin outbound traffic routing, based on both-addresses-and-ports
/ip firewall mangle
add chain=prerouting dst-address-type=!local in-interface=lan per-connection-classifier=both-addresses-and-ports:2/0 action=mark-connection new-connection-mark=mdm1_pcc_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=lan per-connection-classifier=both-addresses-and-ports:2/1 action=mark-connection new-connection-mark=mdm2_pcc_conn passthrough=yes
add chain=prerouting connection-mark=mdm1_pcc_conn in-interface=lan action=mark-routing new-routing-mark=to_mdm1
add chain=prerouting connection-mark=mdm2_pcc_conn in-interface=lan action=mark-routing new-routing-mark=to_mdm2
=========================================================
/ip firewall nat
add action=masquerade chain=srcnat comment="" disabled=no out-interface=mdm1
add action=masquerade chain=srcnat comment="" disabled=no out-interface=mdm2
=========================================================
/ip route
add dst-address=0.0.0.0/0 gateway=10.2.5.1 routing-mark=to_mdm1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.2.4.1 routing-mark=to_mdm2 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.2.5.1 distance=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.2.4.1 distance=2 check-gateway=ping
########==========END PCC load balancing=============########






