Last active
November 18, 2016 09:31
-
-
Save amingilani/7f67c4967d707adfe8fb0068716973d5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/interface ethernet | |
set 0 name=WAN1 | |
set 1 name=WAN2 | |
set 2 name=WAN3 | |
set 3 name=WAN4 | |
set 4 name=Local | |
/ip address | |
add address=192.168.0.1/24 interface=Local | |
add address=192.168.1.65/24 interface=WAN1 | |
add address=192.168.2.65/24 interface=WAN2 | |
add address=192.168.3.65/24 interface=WAN3 | |
add address=192.168.4.65/24 interface=WAN4 | |
/ip firewall nat | |
add action=masquerade chain=srcnat out-interface=WAN1 | |
add action=masquerade chain=srcnat out-interface=WAN2 | |
add action=masquerade chain=srcnat out-interface=WAN3 | |
add action=masquerade chain=srcnat out-interface=WAN4 | |
/ip route | |
add gateway=192.168.1.1 distance=1 | |
add gateway=192.168.2.1 distance=2 | |
add gateway=192.168.3.1 distance=3 | |
add gateway=192.168.4.1 distance=4 | |
add gateway=192.168.1.1 routing-mark=ISP1_Route distance=1 | |
add gateway=192.168.2.1 routing-mark=ISP2_Route distance=2 | |
add gateway=192.168.3.1 routing-mark=ISP2_Route distance=3 | |
add gateway=192.168.4.1 routing-mark=ISP2_Route distance=4 | |
/ip firewall address-list | |
add address=192.168.1.0/24 list=Connected | |
add address=192.168.2.0/24 list=Connected | |
add address=192.168.3.0/24 list=Connected | |
add address=192.168.4.0/24 list=Connected | |
add address=192.168.0.0/24 list=Connected | |
add address=192.168.0.0/24 list=LAN | |
/ip firewall mangle | |
add chain=prerouting src-address-list=Connected dst-address-list=Connected action=accept | |
# WAN to Router connections | |
/ip firewall mangle | |
add chain=input connection-mark=no-mark in-interface=WAN1 action=mark-connection new-connection-mark=ISP1->ROS | |
add chain=input connection-mark=no-mark in-interface=WAN2 action=mark-connection new-connection-mark=ISP2->ROS | |
add chain=input connection-mark=no-mark in-interface=WAN3 action=mark-connection new-connection-mark=ISP3->ROS | |
add chain=input connection-mark=no-mark in-interface=WAN4 action=mark-connection new-connection-mark=ISP4->ROS | |
# WAN to LAN connections | |
/ip firewall mangle | |
add chain=forward connection-mark=no-mark in-interface=WAN1 action=mark-connection new-connection-mark=ISP1->LANs | |
add chain=forward connection-mark=no-mark in-interface=WAN2 action=mark-connection new-connection-mark=ISP2->LANs | |
add chain=forward connection-mark=no-mark in-interface=WAN3 action=mark-connection new-connection-mark=ISP3->LANs | |
add chain=forward connection-mark=no-mark in-interface=WAN4 action=mark-connection new-connection-mark=ISP4->LANs | |
add chain=prerouting connection-mark=ISP1->LANs src-address-list=LAN action=mark-routing new-routing-mark=WAN1_Route | |
add chain=prerouting connection-mark=ISP2->LANs src-address-list=LAN action=mark-routing new-routing-mark=WAN2_Route | |
add chain=prerouting connection-mark=ISP3->LANs src-address-list=LAN action=mark-routing new-routing-mark=WAN3_Route | |
add chain=prerouting connection-mark=ISP4->LANs src-address-list=LAN action=mark-routing new-routing-mark=WAN4_Route | |
# LAN to WAN connections | |
/ip firewall mangle | |
add chain=prerouting connection-mark=no-mark src-address-list=LAN dst-address-list=!Connected dst-address-type=!local action=mark-connection new-connection-mark=LAN->WAN | |
add chain=prerouting connection-mark=LAN->WAN src-address-list=LAN action=mark-routing new-routing-mark=ISP1_Route comment="Load-Balancing here" | |
add chain=prerouting connection-mark=LAN->WAN routing-mark=ISP1_Route action=mark-connection new-connection-mark=Sticky_WAN1 | |
add chain=prerouting connection-mark=LAN->WAN routing-mark=ISP2_Route action=mark-connection new-connection-mark=Sticky_WAN2 | |
add chain=prerouting connection-mark=LAN->WAN routing-mark=ISP3_Route action=mark-connection new-connection-mark=Sticky_WAN3 | |
add chain=prerouting connection-mark=LAN->WAN routing-mark=ISP4_Route action=mark-connection new-connection-mark=Sticky_WAN4 | |
add chain=prerouting connection-mark=Sticky_WAN1 src-address-list=LAN action=mark-routing new-routing-mark=WAN1_Route | |
add chain=prerouting connection-mark=Sticky_WAN2 src-address-list=LAN action=mark-routing new-routing-mark=WAN2_Route | |
add chain=prerouting connection-mark=Sticky_WAN3 src-address-list=LAN action=mark-routing new-routing-mark=WAN3_Route | |
add chain=prerouting connection-mark=Sticky_WAN4 src-address-list=LAN action=mark-routing new-routing-mark=WAN4_Route |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/ip address | |
add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=Local | |
add address=192.168.1.2/24 network=192.168.1.0 broadcast=192.168.1.255 interface=WAN1 | |
add address=192.168.2.2/24 network=192.168.2.0 broadcast=192.168.2.255 interface=WAN2 | |
add address=192.168.3.2/24 network=192.168.3.0 broadcast=192.168.3.255 interface=WAN3 | |
add address=192.168.4.2/24 network=192.168.4.0 broadcast=192.168.4.255 interface=WAN4 | |
/ip firewall mangle | |
add chain=input in-interface=WAN1 action=mark-connection new-connection-mark=WAN1_conn | |
add chain=input in-interface=WAN2 action=mark-connection new-connection-mark=WAN2_conn | |
add chain=input in-interface=WAN3 action=mark-connection new-connection-mark=WAN3_conn | |
add chain=input in-interface=WAN4 action=mark-connection new-connection-mark=WAN4_conn | |
add chain=output connection-mark=WAN1_conn action=mark-routing new-routing-mark=to_WAN1 | |
add chain=output connection-mark=WAN2_conn action=mark-routing new-routing-mark=to_WAN2 | |
add chain=output connection-mark=WAN3_conn action=mark-routing new-routing-mark=to_WAN3 | |
add chain=output connection-mark=WAN4_conn action=mark-routing new-routing-mark=to_WAN4 | |
add chain=prerouting dst-address=192.168.1.0/24 action=accept in-interface=Local | |
add chain=prerouting dst-address=192.168.2.0/24 action=accept in-interface=Local | |
add chain=prerouting dst-address=192.168.3.0/24 action=accept in-interface=Local | |
add chain=prerouting dst-address=192.168.4.0/24 action=accept in-interface=Local | |
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/0 action=mark-connection new-connection-mark=WAN1_conn passthrough=yes | |
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/1 action=mark-connection new-connection-mark=WAN2_conn passthrough=yes | |
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/2 action=mark-connection new-connection-mark=WAN3_conn passthrough=yes | |
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/3 action=mark-connection new-connection-mark=WAN4_conn passthrough=yes | |
add chain=prerouting connection-mark=WAN1_conn in-interface=Local action=mark-routing new-routing-mark=to_WAN1 | |
add chain=prerouting connection-mark=WAN2_conn in-interface=Local action=mark-routing new-routing-mark=to_WAN2 | |
add chain=prerouting connection-mark=WAN3_conn in-interface=Local action=mark-routing new-routing-mark=to_WAN3 | |
add chain=prerouting connection-mark=WAN4_conn in-interface=Local action=mark-routing new-routing-mark=to_WAN4 | |
/ip route | |
add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=to_WAN1 check-gateway=ping | |
add dst-address=0.0.0.0/0 gateway=192.168.2.1 routing-mark=to_WAN2 check-gateway=ping | |
add dst-address=0.0.0.0/0 gateway=192.168.3.1 routing-mark=to_WAN3 check-gateway=ping | |
add dst-address=0.0.0.0/0 gateway=192.168.4.1 routing-mark=to_WAN4 check-gateway=ping | |
add dst-address=0.0.0.0/0 gateway=192.168.1.1 distance=1 check-gateway=ping | |
add dst-address=0.0.0.0/0 gateway=192.168.2.1 distance=2 check-gateway=ping | |
add dst-address=0.0.0.0/0 gateway=192.168.3.1 distance=3 check-gateway=ping | |
add dst-address=0.0.0.0/0 gateway=192.168.4.1 distance=4 check-gateway=ping | |
/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 | |
add chain=srcnat out-interface=WAN4 action=masquerade | |
/ip dns set allow-remote-requests=yes cache-max-ttl=1w cache-size=5000KiB max-udp-packet-size=512 servers=8.8.8.8,8.8.4.4 | |
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/0 action=mark-connection new-connection-mark=WAN1_conn passthrough=yes | |
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/1 action=mark-connection new-connection-mark=WAN2_conn passthrough=yes | |
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/2 action=mark-connection new-connection-mark=WAN3_conn passthrough=yes | |
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/3 action=mark-connection new-connection-mark=WAN4_conn passthrough=yes | |
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=both-addresses-and-ports:4/4 action=mark-connection new-connection-mark=WAN4_conn passthrough=yes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/interface ethernet | |
set 0 name=WAN1 | |
set 1 name=WAN2 | |
set 2 name=WAN3 | |
set 3 name=WAN4 | |
set 4 name=Local | |
/ip address | |
add address=192.168.0.1/24 interface=Local | |
add address=192.168.1.65/24 interface=WAN1 | |
add address=192.168.2.65/24 interface=WAN2 | |
add address=192.168.3.65/24 interface=WAN3 | |
add address=192.168.4.65/24 interface=WAN4 | |
/ip firewall nat | |
add action=masquerade chain=srcnat out-interface=WAN1 | |
add action=masquerade chain=srcnat out-interface=WAN2 | |
add action=masquerade chain=srcnat out-interface=WAN3 | |
add action=masquerade chain=srcnat out-interface=WAN4 | |
/ip route | |
add gateway=192.168.1.1 distance=1 | |
add gateway=192.168.2.1 distance=2 | |
add gateway=192.168.3.1 distance=3 | |
add gateway=192.168.4.1 distance=4 | |
add gateway=192.168.1.1 routing-mark=ISP1_Route distance=1 | |
add gateway=192.168.2.1 routing-mark=ISP2_Route distance=2 | |
add gateway=192.168.3.1 routing-mark=ISP2_Route distance=3 | |
add gateway=192.168.4.1 routing-mark=ISP2_Route distance=4 | |
/ip firewall address-list | |
add address=192.168.1.0/24 list=Connected | |
add address=192.168.2.0/24 list=Connected | |
add address=192.168.3.0/24 list=Connected | |
add address=192.168.4.0/24 list=Connected | |
add address=192.168.0.0/24 list=Connected | |
add address=192.168.0.0/24 list=LAN | |
/ip firewall mangle | |
add chain=prerouting src-address-list=Connected dst-address-list=Connected action=accept | |
# WAN to Router connections | |
/ip firewall mangle | |
add chain=input connection-mark=no-mark in-interface=WAN1 action=mark-connection new-connection-mark=ISP1->ROS | |
add chain=input connection-mark=no-mark in-interface=WAN2 action=mark-connection new-connection-mark=ISP2->ROS | |
add chain=input connection-mark=no-mark in-interface=WAN3 action=mark-connection new-connection-mark=ISP3->ROS | |
add chain=input connection-mark=no-mark in-interface=WAN4 action=mark-connection new-connection-mark=ISP4->ROS | |
# WAN to LAN connections | |
/ip firewall mangle | |
add chain=forward connection-mark=no-mark in-interface=WAN1 action=mark-connection new-connection-mark=ISP1->LANs | |
add chain=forward connection-mark=no-mark in-interface=WAN2 action=mark-connection new-connection-mark=ISP2->LANs | |
add chain=forward connection-mark=no-mark in-interface=WAN3 action=mark-connection new-connection-mark=ISP3->LANs | |
add chain=forward connection-mark=no-mark in-interface=WAN4 action=mark-connection new-connection-mark=ISP4->LANs | |
add chain=prerouting connection-mark=ISP1->LANs src-address-list=LAN action=mark-routing new-routing-mark=WAN1_Route | |
add chain=prerouting connection-mark=ISP2->LANs src-address-list=LAN action=mark-routing new-routing-mark=WAN2_Route | |
add chain=prerouting connection-mark=ISP3->LANs src-address-list=LAN action=mark-routing new-routing-mark=WAN3_Route | |
add chain=prerouting connection-mark=ISP4->LANs src-address-list=LAN action=mark-routing new-routing-mark=WAN4_Route | |
# LAN to WAN connections | |
/ip firewall mangle | |
add chain=prerouting connection-mark=no-mark src-address-list=LAN dst-address-list=!Connected dst-address-type=!local action=mark-connection new-connection-mark=LAN->WAN | |
add chain=prerouting connection-mark=LAN->WAN src-address-list=LAN action=mark-routing new-routing-mark=ISP1_Route comment="Load-Balancing here" | |
add chain=prerouting connection-mark=LAN->WAN routing-mark=ISP1_Route action=mark-connection new-connection-mark=Sticky_WAN1 | |
add chain=prerouting connection-mark=LAN->WAN routing-mark=ISP2_Route action=mark-connection new-connection-mark=Sticky_WAN2 | |
add chain=prerouting connection-mark=LAN->WAN routing-mark=ISP3_Route action=mark-connection new-connection-mark=Sticky_WAN3 | |
add chain=prerouting connection-mark=LAN->WAN routing-mark=ISP4_Route action=mark-connection new-connection-mark=Sticky_WAN4 | |
add chain=prerouting connection-mark=Sticky_WAN1 src-address-list=LAN action=mark-routing new-routing-mark=WAN1_Route | |
add chain=prerouting connection-mark=Sticky_WAN2 src-address-list=LAN action=mark-routing new-routing-mark=WAN2_Route | |
add chain=prerouting connection-mark=Sticky_WAN3 src-address-list=LAN action=mark-routing new-routing-mark=WAN3_Route | |
add chain=prerouting connection-mark=Sticky_WAN4 src-address-list=LAN action=mark-routing new-routing-mark=WAN4_Route |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment