Как да: Load Balancing с MikroTik.

Ако сте собственици на някое от изделията на MikroTik или ползвате техния „RouterOS“ на своята x86 машина и имате два доставчика ви е нужна следната конфигурация, за да ги балансирате:

1. Отваряте winbox и се логвате в рутера си.

2. Натискате на New Terminal и пишете следната конфигурация:

ip firewall mangle add chain=prerouting in-interface=(Internal Interface) connection-state=new nth=2,1 action=mark-connection new-connection-mark= isp1 passthrough=yes comment=“ISP1“ disabled=no
ip firewall mangle add chain=prerouting in-interface=(Internal Interface) connection-mark=isp1 action=mark-routing new-routing-mark=isp1 passthrough=no comment=“" disabled=no
ip firewall mangle add chain=prerouting in-interface=(Internal Interface) connection-state=new nth=1,1 action=mark-connection new-connection-mark=isp2 passthrough=yes comment=“ISP2“ disabled=no
ip firewall mangle add chain=prerouting in-interface=(Internal Interface) connection-mark=isp2 action=mark-routing new-routing-mark=isp2 passthrough=no comment=“" disabled=no

ip firewall nat add chain=srcnat connection-mark=isp1 action=masquerade out-interface=(EXT1 interface) comment=“" disabled=no
ip firewall nat add chain=srcnat connection-mark=isp2 action=masquerade out-interface=(EXT2 interface) comment=“" disabled=no

ip route add dst-address=0.0.0.0/0 gateway=(ext1 gateway) scope=255 target-scope=10 routing-mark=isp1 comment=“" disabled=no ip route add dst-address=0.0.0.0/0 gateway=(ext2 gateway) scope=255 target-scope=10 routing-mark=isp2 comment=“" disabled=no

ip route add dst-address=0.0.0.0/0 gateway=(ext2 gateway) scope=255 target-scope=10 comment=“" disabled=no

Заменяте isp1, isp2 , internal interface, ext1 interface, ext2 interface, ext1 gateway, ext2 gateway с:

името на първия доставчик, името на втория доставчик, вашия вътрешен интерфейс, интерфейса на първия ви доставчик, интерфейса на втория ви доставчик, шлюза на първия ви доставчик, шлюза на втория ви доставчик.

Ако все пак изникнат някакви проблеми – питайте!

14 Comments

pavlov77ноември 1st, 2008 at 8:30 pm

Здравейте!
Изпълних всичко описано дотук обаче след като приключа и нета на машинката изчезва. Да обясня накратко за какво става въпрос. Имам 2 доставчика – 1 лан и 1 БТК. Искма основния трафик да минава през БТК а лан доставчика да остане за резерва а и тои има реално ip. Изпълних всичко от описаното по-горе и нета спира. На какво може да се дължи това?

adminноември 3rd, 2008 at 10:44 pm

Здравей,
Този сценарий е за да балансираш между два доставчика, не да използваш за „failover“ за да направиш това,което искаш можеш просто да добавиш следния ред:

/ip route add gateway=btk-gateway,lan-gateway distance=1

За да ти предоставя повече информация относно това, което ти си направил ще е най-добре да пуснеш конфигурацията, която си използвал, като за целта можеш да използваш комадната „export“.

mach1_madфевруари 14th, 2009 at 9:36 am

здравей. написаното по горе ме зайнтригува ;) . въпроса ми е :
шлюз на „първия“ доставчик …. добре , а щлюз на втория при положение че се ползва ПППОЕ ??!?. благодаря.

adminфевруари 14th, 2009 at 12:56 pm

[admin@MikroTik] > /ip route add gateway=pppoe-interface scope=255 target-scope=10 routing-mark=isp1 comment=“isp1 comment“ disabled=no
Това е начина, вместо да се използва IP се използва interface.

hgeorgievмарт 15th, 2009 at 7:41 pm

ip route add dst-address=0.0.0.0/0 gateway=212.91.180.190 scope=255 target-scope=10 r
outing-mark=pppoe-spnet comment=“spnet“ disabled=no ip route add dst-address=0.0.0.0/0 gateway=91.191.215.1 scope=255 target-scope=10 routing-mark=Max comment=“" disabled=no
no such argument (ip)

къде бъркам

adminмарт 15th, 2009 at 8:49 pm

в /

hgeorgievмарт 15th, 2009 at 9:48 pm

Имате предвид командата да започва с „/“ ? някъде другаде бях го видял така, ама тук не е дадено така и аз го пиша както си е тук…

adminмарт 15th, 2009 at 9:50 pm

точно така :)

nikolahаприл 3rd, 2009 at 3:25 pm

прекрасно бачка за 2 интерфейса но за 3 или 4 не ще, сменях NTH и какво ли не но не бачка
моля за помощ за 4 интерфейса 1 – local; 1 – EXT /с 4 GW addressa /

adminаприл 3rd, 2009 at 3:44 pm

Ами можеш и с 30 да го направиш, не е проблем.
Просто трябва да се сетиш, че Nth всъщност маркира пакет по номер.
Аз съм описал само пакет 1,1 и 2,1.
Ти трябва да го направиш – 1,1, 2,1 , 3,1 и 4,1

/ip firewall mangle add chain=prerouting in-interface=(Internal Interface) connection-state=new nth=4,1 \
action=mark-connection new-connection-mark=isp1 passthrough=yes comment=“ISP1″ disabled=no
/ip firewall mangle add chain=prerouting in-interface=(Internal Interface) connection-mark=isp1 \
action=mark-routing new-routing-mark=isp1 passthrough=no comment=“" disabled=no
/ip firewall mangle add chain=prerouting in-interface=(Internal Interface) connection-state=new nth=3,1 \
action=mark-connection new-connection-mark=isp2 passthrough=yes comment=“ISP2″ disabled=no
/ip firewall mangle add chain=prerouting in-interface=(Internal Interface) connection-mark=isp2 \
action=mark-routing new-routing-mark=isp2 passthrough=no comment=“" disabled=no
/ip firewall mangle add chain=prerouting in-interface=(Internal Interface) connection-state=new nth=2,1 \
action=mark-connection new-connection-mark=isp3 passthrough=yes comment=“ISP3″ disabled=no
/ip firewall mangle add chain=prerouting in-interface=(Internal Interface) connection-mark=isp3 \
action=mark-routing new-routing-mark=isp3 passthrough=no comment=“" disabled=no
/ip firewall mangle add chain=prerouting in-interface=(Internal Interface) connection-state=new nth=1,1 \
action=mark-connection new-connection-mark=isp4 passthrough=yes comment=“ISP4″ disabled=no
/ip firewall mangle add chain=prerouting in-interface=(Internal Interface) connection-mark=isp4 \
action=mark-routing new-routing-mark=isp4 passthrough=no comment=“" disabled=no

/ip firewall nat add chain=srcnat connection-mark=isp1 action=masquerade out-interface=(EXT1 interface) comment=“" disabled=no
/ip firewall nat add chain=srcnat connection-mark=isp2 action=masquerade out-interface=(EXT2 interface) comment=“" disabled=no
/ip firewall nat add chain=srcnat connection-mark=isp3 action=masquerade out-interface=(EXT3 interface) comment=“" disabled=no
/ip firewall nat add chain=srcnat connection-mark=isp4 action=masquerade out-interface=(EXT4 interface) comment=“" disabled=no

/ip route add dst-address=0.0.0.0/0 gateway=(ext1 gateway) scope=255 target-scope=10 routing-mark=isp1 comment=“" disabled=no
/ip route add dst-address=0.0.0.0/0 gateway=(ext2 gateway) scope=255 target-scope=10 routing-mark=isp2 comment=“" disabled=no
/ip route add dst-address=0.0.0.0/0 gateway=(ext3 gateway) scope=255 target-scope=10 routing-mark=isp3 comment=“" disabled=no
/ip route add dst-address=0.0.0.0/0 gateway=(ext4 gateway) scope=255 target-scope=10 routing-mark=isp4 comment=“" disabled=no

/ip route add dst-address=0.0.0.0/0 gateway=(ext4 gateway) scope=255 target-scope=10 comment=“" disabled=no

nikolahаприл 3rd, 2009 at 4:17 pm

Благодаря ти за бързия отговор
и аз така го правя обаче не бачка пущината, довечера пак ще си играя за да видя къде може да е проблема.

tukanovаприл 4th, 2009 at 8:58 pm

какво става ако 2-та gateway-q са еднакви ? :(
2 дни се мъча да пусна 2 бтк модема и нестава и нестава ….
с pfSense stana no mi smenq ip-tata prez 15 sec … :(
с микро тик не ми разпознава interfaces и като маркирам пакетите нищо не става
стои си все на един и същ модем а като махна кабела даже и спира :( (((((((((

adminаприл 4th, 2009 at 9:27 pm

използвай интерфейса за гейтуей – не IP.
/ip route add gateway=(outif1) scope=255 target-scope=10 routing-mark=isp1 comment=”“ disabled=no
/ip route add gateway=(outif2) scope=255 target-scope=10 routing-mark=isp2 comment=”“ disabled=no
/ip route add gateway=(outif2) scope=255 target-scope=10 comment=”“ disabled=no

adminноември 12th, 2009 at 11:42 pm

правиш следното:
Обаждаш се на БТК(вече Виваком) и им казваш, че искаш на втория модем вътрешната ти мрежа да е 192.168.2.0/24 а не 1.0/24 щото така ти харесва – нямат право да ти откажат.

Leave a comment

You must be logged in to post a comment.