##This script will mark traffic and apply priority for a configuration of two or more WAN/Internet connections ##CREATED BY RAYMOND RUDMAN ##THIS SCRIPT IS NOT TO BE SOLD /ip firewall mangle add action=mark-connection chain=input comment="Mark Routing - WAN1" in-interface=WAN1 new-connection-mark=WAN1 passthrough=yes add action=mark-routing chain=output connection-mark=WAN1 new-routing-mark=WAN1 passthrough=no add action=mark-connection chain=input comment="Mark Routing - WAN2" in-interface=WAN2 new-connection-mark=WAN2 passthrough=yes add action=mark-routing chain=output connection-mark=WAN2 new-routing-mark=WAN2 passthrough=no add action=mark-connection chain=prerouting comment="Mark - Browsing" connection-bytes=0-1000000 dst-port=80,443 new-connection-mark=browsing passthrough=yes protocol=tcp add action=mark-packet chain=prerouting connection-bytes=0-1000000 connection-mark=browsing in-interface=WAN1 new-packet-mark=browsing-wan1 passthrough=no add action=mark-packet chain=prerouting connection-bytes=0-1000000 connection-mark=browsing in-interface=WAN2 new-packet-mark=browsing-wan2 passthrough=no add action=mark-packet chain=prerouting connection-bytes=0-1000000 connection-mark=browsing new-packet-mark=browsing passthrough=no add action=mark-connection chain=prerouting comment="Mark - DNS" dst-port=53 new-connection-mark=dns passthrough=yes protocol=udp add action=mark-connection chain=prerouting dst-port=53 new-connection-mark=dns passthrough=yes protocol=tcp add action=mark-packet chain=prerouting connection-mark=dns in-interface=WAN1 new-packet-mark=dns-wan1 passthrough=no add action=mark-packet chain=prerouting connection-mark=dns in-interface=WAN2 new-packet-mark=dns-wan2 passthrough=no add action=mark-packet chain=prerouting connection-mark=dns new-packet-mark=dns passthrough=no add action=mark-connection chain=prerouting comment="Mark - Managment (Forward)" dst-port=8291,8728,8729,22,23 new-connection-mark=managment-fw passthrough=yes protocol=tcp add action=mark-packet chain=prerouting connection-mark=managment-fw in-interface=WAN1 new-packet-mark=managment-fw-wan1 passthrough=no add action=mark-packet chain=prerouting connection-mark=managment-fw in-interface=WAN2 new-packet-mark=managment-fw-wan2 passthrough=no add action=mark-packet chain=prerouting connection-mark=managment-fw new-packet-mark=managment-fw passthrough=no add action=mark-connection chain=prerouting comment="Mark - ICMP" new-connection-mark=icmp passthrough=yes protocol=icmp add action=mark-packet chain=prerouting connection-mark=icmp in-interface=WAN1 new-packet-mark=icmp-wan1 passthrough=no protocol=icmp add action=mark-packet chain=prerouting connection-mark=icmp in-interface=WAN2 new-packet-mark=icmp-wan2 passthrough=no protocol=icmp add action=mark-packet chain=prerouting connection-mark=icmp new-packet-mark=icmp passthrough=no protocol=icmp add action=mark-connection chain=prerouting comment="Mark - Other" new-connection-mark=other passthrough=yes add action=mark-packet chain=prerouting connection-mark=other in-interface=WAN1 new-packet-mark=other-wan1 passthrough=no add action=mark-packet chain=prerouting connection-mark=other in-interface=WAN2 new-packet-mark=other-wan2 passthrough=no add action=mark-packet chain=prerouting connection-mark=other new-packet-mark=other passthrough=no /queue tree add max-limit=40M name="WAN1 Downstream" parent=global queue=PCQ_Downstream add max-limit=5M name="WAN1 Upstream" parent=WAN1 queue=PCQ_Upstream add name="WAN1 - Browsing - rx" packet-mark=browsing-wan1 parent="WAN1 Downstream" priority=3 queue=PCQ_Downstream add name="WAN1 - Browsing - tx" packet-mark=browsing parent="WAN1 Upstream" priority=3 queue=PCQ_Upstream add name="WAN1 - DNS - rx" packet-mark=dns-wan1 parent="WAN1 Downstream" priority=2 queue=PCQ_Downstream add name="WAN1 - DNS - tx" packet-mark=dns parent="WAN1 Upstream" priority=2 queue=PCQ_Upstream add name="WAN1 - Managment - rx" packet-mark=managment-fw-wan1 parent="WAN1 Downstream" priority=2 queue=PCQ_Downstream add name="WAN1 - Managment - tx" packet-mark=managment-fw parent="WAN1 Upstream" priority=2 queue=PCQ_Upstream add limit-at=1M max-limit=2M name="WAN1 - ICMP - rx" packet-mark=icmp-wan1 parent="WAN1 Downstream" priority=1 queue=PCQ_Downstream add limit-at=700k max-limit=1M name="WAN1 - ICMP - tx" packet-mark=icmp parent="WAN1 Upstream" priority=1 queue=PCQ_Upstream add name="WAN1 - Other - rx" packet-mark=other-wan1 parent="WAN1 Downstream" queue=PCQ_Downstream add name="WAN1 - Other - tx" packet-mark=other parent="WAN1 Upstream" queue=PCQ_Upstream add max-limit=50M name="WAN2 Downstream" parent=global queue=PCQ_Downstream add max-limit=30M name="WAN2 Upstream" parent=WAN2 queue=PCQ_Upstream add name="WAN2 - Browsing - rx" packet-mark=browsing-wan2 parent="WAN2 Downstream" priority=3 queue=PCQ_Downstream add name="WAN2 - DNS - rx" packet-mark=dns-wan2 parent="WAN2 Downstream" priority=2 queue=PCQ_Downstream add name="WAN2 - ICMP - rx" packet-mark=icmp-wan2 parent="WAN2 Downstream" priority=1 queue=PCQ_Downstream add name="WAN2 - Managment - rx" packet-mark=managment-fw-wan2 parent="WAN2 Downstream" priority=2 queue=PCQ_Downstream add name="WAN2 - Other - rx" packet-mark=other-wan2 parent="WAN2 Downstream" queue=PCQ_Downstream add name="WAN2 - Browsing - tx" packet-mark=browsing parent="WAN2 Upstream" priority=3 queue=PCQ_Upstream add name="WAN2 - DNS - tx" packet-mark=dns parent="WAN2 Upstream" priority=2 queue=PCQ_Upstream add name="WAN2 - ICMP - tx" packet-mark=icmp parent="WAN2 Upstream" priority=1 queue=PCQ_Upstream add name="WAN2 - Managment - tx" packet-mark=managment-fw parent="WAN2 Upstream" priority=2 queue=PCQ_Upstream add name="WAN2 - Other - tx" packet-mark=other parent="WAN2 Upstream" queue=PCQ_Upstream