ADSL bonding with MikrotikHARDWARE NETWORKING LINUX SOFTWAREIt Tech Technology

It Tech Technology



Home Top Ad

Post Top Ad

Tuesday, August 14, 2018

ADSL bonding with Mikrotik

Here ill show you 
How to bond 4x ADSL routers through a Mikrotik 750 Routerboard with just a few scripts and configurations

I assume that all my readers know how to setup a basic ADSL router and will only cover the hardware placement and Mikrotik configuration.

Network layout Diagram

A Mikrotik RB750 (MT RB 750) were used in this tut. We use 4 Ports for the 4 ADSL routers to connect to and the 5th port for our LAN .

Mikrotik (MT) Config
We start by giving and IP address to the MT Router ports and renaming the ports that its easier to manage....

/ip address
add address= network= broadcast= interface=Local
add address= network= broadcast= interface=WAN1
add address= network= broadcast= interface=WAN2
add address= network= broadcast= interface=WAN3
add address= network= broadcast= interface=WAN4

Here we will add the firewall Mangle rules

/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= action=accept in-interface=Local
add chain=prerouting dst-address= action=accept in-interface=Local
add chain=prerouting dst-address= action=accept in-interface=Local
add chain=prerouting dst-address= 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

Now add the routes so that the MT router know what its gateways are

/ip route
add dst-address= gateway= routing-mark=to_WAN1 check-gateway=ping
add dst-address= gateway= routing-mark=to_WAN2 check-gateway=ping
add dst-address= gateway= routing-mark=to_WAN3 check-gateway=ping
add dst-address= gateway= routing-mark=to_WAN4 check-gateway=ping
add dst-address= gateway= distance=1 check-gateway=ping
add dst-address= gateway= distance=2 check-gateway=ping
add dst-address= gateway= distance=3 check-gateway=ping
add dst-address= gateway= distance=4 check-gateway=ping

Next the Firewall Nat Rules

/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

Lastly we need to add the DNS server that we can resolve hostnames

/ip dns set allow-remote-requests=yes cache-max-ttl=1w cache-size=5000KiB max-udp-packet-size=512 servers=,

Now test the internet from the LAN side . 
The more load you put on the better the bonding will work. 
Hope that you find this Tutorial help full . 
Please ask me any question in the comment section :)

Post Bottom Ad