Você está na página 1de 10

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 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

/ 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=""
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

Explanation
First 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
Mangle 2 : nth : 4,1
Mangle 3 : nth : 3,1
Mangle 4 : nth : 2,1
Mangle 5 : No nth
Here the explanation :
Mangle 1 : read all traffic and match 1/5 of traffic
Mangle 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:

/ 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

/ 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

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"
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.

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.

Você também pode gostar