mikrotik load balancing 5

12
When we want to make Loadbalancing system used Mikrotik 2.9.x, we can using the rule from here . But there is little different with Mikrotik 3.x Ok then, let's started, i will use 5 connection here. IP Address Configuration / ip address add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=Local comment="" disabled=no / ip address add address=10.111.0.2/30 network=10.111.0.0 broadcast=10.111.0.3 interface=Uplink1 comment="" disabled=no / ip address add address=10.112.0.2/30 network=10.112.0.0 broadcast=10.112.0.3 interface=Uplink2 comment="" disabled=no / ip address add address=10.113.0.2/30 network=10.113.0.0 broadcast=10.113.0.3 interface=Uplink3 comment="" disabled=no / ip address add address=10.114.0.2/30 network=10.114.0.0 broadcast=10.114.0.3 interface=Uplink4 comment="" disabled=no / ip address add address=10.115.0.2/30 network=10.115.0.0 broadcast=10.115.0.3 interface=Uplink5 comment="" disabled=no Mangle Configuration

Upload: dalimanaja

Post on 12-Nov-2014

5.130 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Mikrotik Load Balancing 5

When we want to make Loadbalancing system used Mikrotik 2.9.x, we can using the rule from here. But there is little different with Mikrotik 3.x Ok then, let's started, i will use 5 connection here.

IP Address Configuration

/ ip address add address=192.168.0.1/24 network=192.168.0.0

broadcast=192.168.0.255 interface=Local comment=""

disabled=no

/ ip address add address=10.111.0.2/30 network=10.111.0.0

broadcast=10.111.0.3 interface=Uplink1 comment=""

disabled=no

/ ip address add address=10.112.0.2/30 network=10.112.0.0

broadcast=10.112.0.3 interface=Uplink2 comment=""

disabled=no

/ ip address add address=10.113.0.2/30 network=10.113.0.0

broadcast=10.113.0.3 interface=Uplink3 comment=""

disabled=no

/ ip address add address=10.114.0.2/30 network=10.114.0.0

broadcast=10.114.0.3 interface=Uplink4 comment=""

disabled=no

/ ip address add address=10.115.0.2/30 network=10.115.0.0

broadcast=10.115.0.3 interface=Uplink5 comment=""

disabled=no

Mangle Configuration

/ ip firewall mangle add chain=prerouting in-interface=Local

connection-state=new nth=5,1 action=mark-connection new-

connection-mark=conn1 passthrough=yes comment="" disabled=no

/ ip firewall mangle add chain=prerouting in-interface=Local

Page 2: Mikrotik Load Balancing 5

connection-mark=conn1 action=mark-routing new-routing-

mark=conn1 passthrough=no comment="" disabled=no

/ ip firewall mangle add chain=prerouting in-interface=Local

connection-state=new nth=4,1 action=mark-connection new-

connection-mark=conn2 passthrough=yes comment="" disabled=no

/ ip firewall mangle add chain=prerouting in-interface=Local

connection-mark=conn2 action=mark-routing new-routing-

mark=conn2 passthrough=no comment="" disabled=no

/ ip firewall mangle add chain=prerouting in-interface=Local

connection-state=new nth=3,1 action=mark-connection new-

connection-mark=conn3 passthrough=yes comment="" disabled=no

/ ip firewall mangle add chain=prerouting in-interface=Local

connection-mark=conn3 action=mark-routing new-routing-

mark=conn3 passthrough=no comment="" disabled=no

/ ip firewall mangle add chain=prerouting in-interface=Local

connection-state=new nth=2,1 action=mark-connection new-

connection-mark=conn4 passthrough=yes comment="" disabled=no

/ ip firewall mangle add chain=prerouting in-interface=Local

connection-mark=conn4 action=mark-routing new-routing-

mark=conn4 passthrough=no comment="" disabled=no

/ ip firewall mangle add chain=prerouting in-interface=Local

connection-state=new action=mark-connection new-connection-

mark=conn5 passthrough=yes comment="" disabled=no

/ ip firewall mangle add chain=prerouting in-interface=Local

connection-mark=conn5 action=mark-routing new-routing-

mark=conn5 passthrough=no comment="" disabled=no

Masquerade Local Network

Page 3: Mikrotik Load Balancing 5

/ ip firewall nat add chain=srcnat connection-mark=conn1

action=masquerade out-interface=Uplink1 comment=""

disabled=no

/ ip firewall nat add chain=srcnat connection-mark=conn2

action=masquerade out-interface=Uplink2 comment=""

disabled=no

/ ip firewall nat add chain=srcnat connection-mark=conn3

action=masquerade out-interface=Uplink3 comment=""

disabled=no

/ ip firewall nat add chain=srcnat connection-mark=conn4

action=masquerade out-interface=Uplink4 comment=""

disabled=no

/ ip firewall nat add chain=srcnat connection-mark=conn5

action=masquerade out-interface=Uplink5 comment=""

disabled=no

Route

/ ip route add dst-address=0.0.0.0/0 gateway=10.111.0.1

scope=255 target-scope=10 routing-mark=conn1 comment=""

disabled=no

/ ip route add dst-address=0.0.0.0/0 gateway=10.112.0.1

scope=255 target-scope=10 routing-mark=conn2 comment=""

disabled=no

/ ip route add dst-address=0.0.0.0/0 gateway=10.113.0.1

scope=255 target-scope=10 routing-mark=conn3 comment=""

disabled=no

/ ip route add dst-address=0.0.0.0/0 gateway=10.114.0.1

scope=255 target-scope=10 routing-mark=conn4 comment=""

disabled=no

/ ip route add dst-address=0.0.0.0/0 gateway=10.115.0.1

scope=255 target-scope=10 routing-mark=conn5 comment=""

Page 4: Mikrotik Load Balancing 5

disabled=no

/ ip route add dst-address=0.0.0.0/0 gateway=10.111.0.1

scope=255 target-scope=10 comment="" disabled=no

ExplanationFirst we give a code snippet and then explain what it actually does.

IP Address and Mangle

/ ip address add address=192.168.0.1/24 network=192.168.0.0

broadcast=192.168.0.255 interface=Local comment=""

disabled=no

/ ip address add address=10.111.0.2/30 network=10.111.0.0

broadcast=10.111.0.3 interface=Uplink1 comment=""

disabled=no

/ ip address add address=10.112.0.2/30 network=10.112.0.0

broadcast=10.112.0.3 interface=Uplink2 comment=""

disabled=no

/ ip address add address=10.113.0.2/30 network=10.113.0.0

broadcast=10.113.0.3 interface=Uplink3 comment=""

disabled=no

/ ip address add address=10.114.0.2/30 network=10.114.0.0

broadcast=10.114.0.3 interface=Uplink4 comment=""

disabled=no

/ ip address add address=10.115.0.2/30 network=10.115.0.0

broadcast=10.115.0.3 interface=Uplink5 comment=""

disabled=no

The router has 5 upstream (WAN) interfaces with the addresses of 10.111.0.2/30; 10.112.0.2/24; 10.113.0.2/30; 10.114.0.2/24 and 10.115.0.2/30. The LAN interface has the name "Local" and IP address of 192.168.0.1/24.

For the ip firewall mangle, 5 uplink connection need 5 connection mark and 5 routing mark.Mangle 1 : nth : 5,1

Page 5: Mikrotik Load Balancing 5

Mangle 2 : nth : 4,1Mangle 3 : nth : 3,1Mangle 4 : nth : 2,1Mangle 5 : No nthHere the explanation :Mangle 1 : read all traffic and match 1/5 of trafficMangle 2 : read 4/5 traffic and match 1/4 of they traffic (1/5 total traffic)Mangle 3 : read 3/4 from 4/5 traffic above (or 3/5 total traffic) and match 1/2 traffic above (1/5 total traffic)Mangle 4 : read 2/3 from 3/5 total traffic (or 2/5 total traffic) and match 1/2 traffic above (1/5 total traffic) Mengle 5 : read the rest of traffic (1/5 total traffic)

Thats it. Now you can try your setting.

Setingan lanjutan

Quick Start for Impatient Configuration export from the gateway router:

Page 6: Mikrotik Load Balancing 5

/ ip address add address=192.168.0.1/24 network=192.168.0.0

broadcast=192.168.0.255 \

interface=Local comment="" disabled=no

add address=10.111.0.2/24 network=10.111.0.0

broadcast=10.111.0.255 \

interface=wlan2 comment="" disabled=no

add address=10.112.0.2/24 network=10.112.0.0

broadcast=10.112.0.255 \

interface=wlan1 comment="" disabled=no

/ ip firewall mangle add chain=prerouting in-interface=Local

connection-state=new nth=1,1,0 \

action=mark-connection new-connection-mark=odd

passthrough=yes comment="" disabled=no

add chain=prerouting in-interface=Local connection-mark=odd

action=mark-routing \

new-routing-mark=odd passthrough=no comment="" disabled=no

add chain=prerouting in-interface=Local connection-state=new

nth=1,1,1 \

action=mark-connection new-connection-mark=even

passthrough=yes comment="" disabled=no

add chain=prerouting in-interface=Local connection-mark=even

action=mark-routing \

new-routing-mark=even passthrough=no comment="" disabled=no

Page 7: Mikrotik Load Balancing 5

/ ip firewall nat add chain=srcnat connection-mark=odd

action=src-nat to-addresses=10.111.0.2 \

to-ports=0-65535 comment="" disabled=no

add chain=srcnat connection-mark=even action=src-nat to-

addresses=10.112.0.2 \

to-ports=0-65535 comment="" disabled=no

/ ip route add dst-address=0.0.0.0/0 gateway=10.111.0.1

scope=255 target-scope=10 \

routing-mark=odd comment="" disabled=no

add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255

target-scope=10 \

routing-mark=even comment="" disabled=no

add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255

target-scope=10 comment="" disabled=no

Explanation First we give a code snippet and then explain what it actually does.

Mangle :

/ ip address add address=192.168.0.1/24 network=192.168.0.0

broadcast=192.168.0.255 \

interface=Local comment="" disabled=no

Page 8: Mikrotik Load Balancing 5

add address=10.111.0.2/24 network=10.111.0.0

broadcast=10.111.0.255 \

interface=wlan2 comment="" disabled=no

add address=10.112.0.2/24 network=10.112.0.0

broadcast=10.112.0.255 \

interface=wlan1 comment="" disabled=no

The router has two upstream (WAN) interfaces with the addresses of 10.111.0.2/24 and 10.112.0.2/24. The LAN interface has the name "Local" and IP address of 192.168.0.1/24.

/ip firewall mangle add chain=prerouting in-interface=Local

connection-state=new nth=1,1,0 \

action=mark-connection new-connection-mark=odd

passthrough=yes comment="" disabled=no

First we take every second packet that establishes new session (note connection-state=new), and mark it with connection mark "odd". Consequently all successive packets belonging to the same session will carry the connection mark "odd". Note that we are passing these packets to the second rule (passthrough=yes) to place a routing mark on these packets in addition to the connection mark.

add chain=prerouting in-interface=Local connection-mark=odd

action=mark-routing \

new-routing-mark=odd passthrough=no comment="" disabled=no

The rule above places the routing mark "odd" on all packets that belong to the "odd"

Page 9: Mikrotik Load Balancing 5

connection and stops processing all other mangle in prerouting chain rules for these packets.

add chain=prerouting in-interface=Local connection-state=new

nth=1,1,1 \

action=mark-connection new-connection-mark=even

passthrough=yes comment="" disabled=no

add chain=prerouting in-interface=Local connection-mark=even

action=mark-routing \

new-routing-mark=even passthrough=no comment="" disabled=no

These rules do the same for the remaining half of the traffic as the first two rules for the first half of the traffic. The code above effectively means that each new connection initiated through the router from the local network will be marked as either "odd" or "even" with both routing and connection marks.

 

NAT

/ ip firewall nat add chain=srcnat connection-mark=odd

action=src-nat to-addresses=10.111.0.2 \

to-ports=0-65535 comment="" disabled=no

add chain=srcnat connection-mark=even action=src-nat to-

addresses=10.112.0.2 \

to-ports=0-65535 comment="" disabled=no

All traffic marked "odd" is being NATted to source IP address of 10.111.0.2, while traffic marked "even" gets "10.112.0.2" source IP address.

Page 10: Mikrotik Load Balancing 5

Routing.

/ ip route add dst-address=0.0.0.0/0 gateway=10.111.0.1

scope=255 target-scope=10 \

routing-mark=odd comment="" disabled=no

add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255

target-scope=10 \

routing-mark=even comment="" disabled=no

add dst-address=0.0.0.0/0 gateway=10.112.0.1 scope=255

target-scope=10 \

comment="" disabled=no comment="gateway for the router

itself"

For all traffic marked "odd" (consequently having 10.111.0.2 translated source address) we use 10.111.0.1 gateway. In the same manner all traffic marked "even" is routed through the 10.112.0.1 gateway. Finally, we have one additional entry specifying that traffic from the router itself (the traffic without any routing marks) should go to 10.112.0.1 gateway.