Jump to content
Калькуляторы

Mikrotik 450g load balancing Помогите настроит балансировку

Есть Mikrotik 450G и 4 интернет канала по 100 Мбит/с по протоколу PPPoE, нужно настроить балансировку между каналами( чтобы нагрузка на каналы была равномерной) Помогите реализовать или ткните где читать?! Перечитал кучу всяких статей но мало что понял. С балансировкой знаком только из-практики с tp-link r480t+ и то там никаких скриптов писать не нужно... Вообщем помогите настроить.... Спасибо...

Share this post


Link to post
Share on other sites

Спасибо, но там помоему всего 2 wan инитерфейса и то они по статическому IP. Скажите пожалуйста такой скрипт пойдет?

/ip firewall mangle
add chain=prerouting in-interface=ISP1 action=add-src-to-address-list address-list=ISP1 address-list-timeout=20s comment="Add_SRC_to_ISP1" disabled=no
add chain=prerouting in-interface=ISP2 action=add-src-to-address-list address-list=ISP2 address-list-timeout=20s comment="Add_SRC_to_ISP2" disabled=no
add chain=prerouting in-interface=ISP3 action=add-src-to-address-list address-list=ISP3 address-list-timeout=20s comment="Add_SRC_to_ISP3" disabled=no
add chain=input in-interface=ISP1 action=add-src-to-address-list address-list=ISP2 address-list-timeout=20s comment="Add_SRC_to_ISP1_PING" disabled=no
add chain=input in-interface=ISP2 action=add-src-to-address-list address-list=ISP2 address-list-timeout=20s comment="Add_SRC_to_ISP2_PING" disabled=no
add chain=input in-interface=ISP3 action=add-src-to-address-list address-list=ISP3 address-list-timeout=20s comment="Add_SRC_to_ISP3_PING" disabled=no



add chain=prerouting src-address-list=!exclude dst-address-list=ISP1 action=mark-routing new-routing-mark=route_ISP1 passthrough=no comment="Mark_to_ISP1" disabled=no
add chain=prerouting src-address-list=!exclude dst-address-list=ISP2 action=mark-routing new-routing-mark=route_ISP2 passthrough=no comment="Mark_to_ISP2" disabled=no
add chain=prerouting src-address-list=!exclude dst-address-list=ISP3 action=mark-routing new-routing-mark=route_ISP3 passthrough=no comment="Mark_to_ISP1" disabled=no



add chain=output src-address-list=!exclude dst-address-list=ISP1 action=mark-routing new-routing-mark=route_ISP1 passthrough=no comment="Mark_to_ISP1_PING" disabled=no
add chain=output src-address-list=!exclude dst-address-list=ISP2 action=mark-routing new-routing-mark=route_ISP2 passthrough=no comment="Mark_to_ISP2_PING" disabled=no
add chain=output src-address-list=!exclude dst-address-list=ISP3 action=mark-routing new-routing-mark=route_ISP3 passthrough=no comment="Mark_to_ISP3_PING" disabled=no


add chain=prerouting in-interface=LAN src-address-list=!exclude dst-address-list=!exclude action=mark-routing new-routing-mark=route_ISP1 passthrough=no comment="Send_50_percent_to_ISP1" disabled=no random=33
add chain=prerouting in-interface=LAN src-address-list=!exclude dst-address-list=!exclude action=mark-routing new-routing-mark=route_ISP2 passthrough=no comment="Send_50_percent_to_ISP1" disabled=no random=33
add chain=prerouting in-interface=LAN src-address-list=!exclude dst-address-list=!exclude action=mark-routing new-routing-mark=route_ISP3 passthrough=no comment="Send_ostatok_to_ISP2" disabled=no

/ip route
add dst-address=0.0.0.0/0 gateway=ISP1 distance=1 scope=255 target-scope=10 comment="Master_Route1" disabled=no
add dst-address=0.0.0.0/0 gateway=ISP2 distance=2 scope=255 target-scope=10 comment="Master_Route2" disabled=no
add dst-address=0.0.0.0/0 gateway=ISP3 distance=3 scope=255 target-scope=10 comment="Secondary_Route" disabled=no

add dst-address=0.0.0.0/0 gateway=ISP1 scope=255 target-scope=10 routing-mark=route_ISP1 comment="Route_to_ISP1" disabled=no
add dst-address=0.0.0.0/0 gateway=ISP2 scope=255 target-scope=10 routing-mark=route_ISP2 comment="Route_to_ISP1" disabled=no
add dst-address=0.0.0.0/0 gateway=ISP3 scope=255 target-scope=10 routing-mark=route_ISP3 comment="Route_to_ISP2" disabled=no

/ ip firewall nat
add chain=srcnat out-interface=ISP1 action=masquerade comment="NAT_ISP1" disabled=no
add chain=srcnat out-interface=ISP2 action=masquerade comment="NAT_ISP2" disabled=no
add chain=srcnat out-interface=ISP3 action=masquerade comment="NAT_ISP3" disabled=no

нашел для 2 wan и дописал некоторые строчки сам....

Edited by Jeff16

Share this post


Link to post
Share on other sites

add chain=prerouting in-interface=LAN src-address-list=!exclude dst-address-list=!exclude action=mark-routing new-routing-mark=route_ISP1 passthrough=no comment="Send_50_percent_to_ISP1" disabled=no random=33

add chain=prerouting in-interface=LAN src-address-list=!exclude dst-address-list=!exclude action=mark-routing new-routing-mark=route_ISP2 passthrough=no comment="Send_50_percent_to_ISP1" disabled=no random=33

add chain=prerouting in-interface=LAN src-address-list=!exclude dst-address-list=!exclude action=mark-routing new-routing-mark=route_ISP3 passthrough=no comment="Send_ostatok_to_ISP2" disabled=no

Балансировать надо не через random, а по ip отправителя.

Иначе может оказаться так, что на Вконтакте запрос пойдёт через один канал, а на Вкадре через другой.

В итоге клиент будет виден на них под разными адресами и вся мультимедия открываться у него не будет.

Share this post


Link to post
Share on other sites

Балансировать надо не через random, а по ip отправителя.

Помогите как написать, буду очень благодарен, уже 2-ой день мучаюсь.

Share this post


Link to post
Share on other sites

Помогите как написать, буду очень благодарен, уже 2-ой день мучаюсь.

http://wiki.mikrotik.com/wiki/Load_Balancing_over_Multiple_Gateways

 

Если в локальной сети используются адреса 10.20.0.0/22,

то вместо 4 правил "src-address-list=!exclude random=25" пишете 4 правила

"src-address=10.20.x.0/24", где x=0,1,2,3.

Share this post


Link to post
Share on other sites

RB450G не потянет 4 канала по 100мбит, так что можете не заморачиваться с балансировкой=)

 

Даже если вы ее и настроите, даже если по соединениям будет привязка к IP отправителя, все равно не сможете равномерно загрузить каналы, потому что все приложения с одного компьютера не смогут распараллеливать потоки данных. Так же сам компьютер не потянет такие скорости, в том числе и запись на жесткий диск.

 

Если же вам надо распределять трафик между несколькими компьютерами - просто жестко привяжите их к нужным выходным интерфейсам.

Share this post


Link to post
Share on other sites

RB450G не потянет 4 канала по 100мбит, так что можете не заморачиваться с балансировкой=)

Это я уже понял, настраиваю под 2 канала. А как лучше сделать разпределение: 1й вариант - разпределение по группам ip адресов или же 2-ой вариант - динамическое разпределение?

Share this post


Link to post
Share on other sites

как лучше сделать разпределение: 1й вариант - разпределение по группам ip адресов или же 2-ой вариант - динамическое разпределение?

Ещё раз:

может оказаться так, что на Вконтакте запрос пойдёт через один канал, а на Вкадре через другой.

В итоге клиент будет виден на них под разными адресами и вся мультимедия открываться у него не будет.

Поэтому распределение только по ip клиентов.

Share this post


Link to post
Share on other sites

как лучше сделать разпределение: 1й вариант - разпределение по группам ip адресов или же 2-ой вариант - динамическое разпределение?

Ещё раз:

может оказаться так, что на Вконтакте запрос пойдёт через один канал, а на Вкадре через другой.

В итоге клиент будет виден на них под разными адресами и вся мультимедия открываться у него не будет.

Поэтому распределение только по ip клиентов.

Тоесть только группа А и группа Б как сдесь описано??? -->> Моя ссылка

Edited by Jeff16

Share this post


Link to post
Share on other sites

Тоесть только группа А и группа Б как сдесь описано???

У Вас 4 канала, значит, нужно сделать 4 группы.

Например, сеть /24 делится на четыре /26.

Share this post


Link to post
Share on other sites

нужно указать в mangle 192.168.1.0/26 или как правильно??? Если не трудно разпишите для 192.168.1.0

Share this post


Link to post
Share on other sites

нужно указать в mangle 192.168.1.0/26 или как правильно??? Если не трудно разпишите для 192.168.1.0

192.168.1.0/26

192.168.1.64/26

192.168.1.128/26

192.168.1.192/26

 

Ну и ну.

Share this post


Link to post
Share on other sites

ммм. Спасибо, теперь разобрался. Можно еще вопрос??? Спасибо.... Хочу настроить HOTSPOT но не выходит сделать авторизацию пользователей по MAC. Не поможете ?

Share this post


Link to post
Share on other sites

Если же вам надо распределять трафик между несколькими компьютерами - просто жестко привяжите их к нужным выходным интерфейсам.

вот тут то точно не будет сбалансированного распределения каналов, так как в один момент времени не работают все ПК, и естественно некоторые каналы будут простаивать, в то время когда по другому каналу будет завал.

но вы в одном правы 450G не потянет 4-100Mbit/c, могу сказать больше, он не потянет и 1-100Mbit\c с использование мангла (nat, firewall filter и т.д.).

почти ровное распределение каналов работает в РСС и работает оно правильно, потому что соединение устанавливается по одному каналу и продолжает по нему работать, в отличии от других балансировках где один пакет может идти по одному каналу а второй по другому, что приводит к плохой работе например аськи и других приложений.

Share this post


Link to post
Share on other sites

почти ровное распределение каналов работает в РСС и работает оно правильно, потому что соединение устанавливается по одному каналу и продолжает по нему работать

В третий раз:

может оказаться так, что на Вконтакте запрос пойдёт через один канал, а на Вкадре через другой.

В итоге клиент будет виден на них под разными адресами и вся мультимедия открываться у него не будет.

PCC можно использовать только в том случае, если через оба канала клиент виден с одинаковым адресом,

т.е. либо используется BGP и AS, либо оба канала ведут к одному оператору.

Share this post


Link to post
Share on other sites

может оказаться так, что на Вконтакте запрос пойдёт через один канал, а на Вкадре через другой.

да, есть такое дело, с этим сайтом, но мы такие вопросы решаем путем принудительного заворачивания таких ресурсов на один канал.

Share this post


Link to post
Share on other sites

Тогда подскажите как сделать, я уже перепробывал все но почемуто не чего не получается, есть 3 канала интернета равномерные по скорости подключение по PPPoE. Сеть 192.168.1.0/24 Я написал для двух каналов следующее

/ip firewall mangle
add action=mark-connection chain=input comment="" disabled=no in-interface=ISP1 new-connection-mark=ISP1-out1_conn passthrough=yes
add action=mark-connection chain=input comment="" disabled=no in-interface=ISP2 new-connection-mark=ISP2-out2_conn passthrough=yes
add action=mark-routing chain=output comment="" connection-mark=ISP1-out1_conn disabled=no new-routing-mark=to_ISP1-out1 passthrough=yes
add action=mark-routing chain=output comment="" connection-mark=ISP2-out2_conn disabled=no new-routing-mark=to_ISP2-out2 passthrough=yes
add action=mark-connection chain=prerouting comment="" disabled=no dst-address-type=!local in-interface=LAN new-connection-mark=ISP1-out1_conn passthrough=yes per-connection-classifier=src-address:2/0 src-address=192.168.1.0/24
add action=mark-connection chain=prerouting comment="" disabled=no dst-address-type=!local in-interface=LAN new-connection-mark=ISP2-out2_conn passthrough=yes per-connection-classifier=src-address:2/1 src-address=192.168.1.0/24
add action=mark-routing chain=prerouting comment="" connection-mark=ISP1-out1_conn disabled=no in-interface=LAN new-routing-mark=to_ISP1-out1 passthrough=yes
add action=mark-routing chain=prerouting comment="" connection-mark=ISP2-out2_conn disabled=no in-interface=LAN new-routing-mark=to_ISP2-out2 passthrough=yes
/ip route
add check-gateway=ping comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP1 scope=30 target-scope=10
add check-gateway=ping comment="" disabled=no distance=2 dst-address=0.0.0.0/0 gateway=ISP2 scope=30 target-scope=10
add check-gateway=ping comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP1 routing-mark=to_ISP1-out1 scope=30 target-scope=10
add check-gateway=ping comment="" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP2 routing-mark=to_ISP2-out2 scope=30 target-scope=10

 

Но ничего не получилось, все клиенты пошли через ISP2. Помогите т.к. я уже в отчаянии....

Share this post


Link to post
Share on other sites

ВСЕ ОГОНЬ !!!!!!!!!!! Заработало!!!!!!!

/ip address
add address=192.168.1.1/24 broadcast=192.168.1.255 comment="" disabled=no interface=ether5 network=192.168.1.0

/ip firewall mangle
add action=mark-connection chain=input comment="" disabled=no in-interface=ISP1 new-connection-mark=ISP1_conn passthrough=yes
add action=mark-connection chain=input comment="" disabled=no in-interface=ISP2 new-connection-mark=ISP2_conn passthrough=yes
add action=mark-connection chain=input comment="" disabled=no in-interface=ISP3 new-connection-mark=ISP3_conn passthrough=yes

add action=mark-routing chain=output comment="" connection-mark=ISP1_conn disabled=no new-routing-mark=to_ISP1 passthrough=yes
add action=mark-routing chain=output comment="" connection-mark=ISP2_conn disabled=no new-routing-mark=to_ISP2 passthrough=yes
add action=mark-routing chain=output comment="" connection-mark=ISP3_conn disabled=no new-routing-mark=to_ISP3 passthrough=yes

add action=accept chain=prerouting comment="" disabled=no in-interface=ISP1
add action=accept chain=prerouting comment="" disabled=no in-interface=ISP2
add action=accept chain=prerouting comment="" disabled=no in-interface=ISP3

add action=mark-connection chain=prerouting comment="" disabled=no dst-address-type=!local new-connection-mark=ISP1_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:4/0 src-address=192.168.1.3-192.168.1.255
add action=mark-connection chain=prerouting comment="" disabled=no dst-address-type=!local new-connection-mark=ISP2_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:4/1 src-address=192.168.1.3-192.168.1.255
add action=mark-connection chain=prerouting comment="" disabled=no dst-address-type=!local new-connection-mark=ISP3_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:4/2 src-address=192.168.1.3-192.168.1.255

add action=mark-routing chain=prerouting comment="" connection-mark=ISP1_conn disabled=no new-routing-mark=to_ISP1 passthrough=yes
add action=mark-routing chain=prerouting comment="" connection-mark=ISP2_conn disabled=no new-routing-mark=to_ISP2 passthrough=yes
add action=mark-routing chain=prerouting comment="" connection-mark=ISP3_conn disabled=no new-routing-mark=to_ISP3 passthrough=yes

/ip firewall nat
add action=masquerade chain=srcnat comment="" disabled=no out-interface=ISP1 src-address=192.168.1.3-192.168.1.255
add action=masquerade chain=srcnat comment="" disabled=no out-interface=ISP2 src-address=192.168.1.3-192.168.1.255
add action=masquerade chain=srcnat comment="" disabled=no out-interface=ISP3 src-address=192.168.1.3-192.168.1.255


/ip route
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP1 routing-mark=to_ISP1 scope=30 target-scope=10 
add check-gateway=ping disabled=no distance=2 dst-address=0.0.0.0/0 gateway=ISP2 routing-mark=to_ISP2 scope=30 target-scope=10 
add check-gateway=ping disabled=no distance=3 dst-address=0.0.0.0/0 gateway=ISP3 routing-mark=to_ISP3 scope=30 target-scope=10 	 
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP1 scope=30 target-scope=10 
add check-gateway=ping comment="" disabled=no distance=2 dst-address=0.0.0.0/0 gateway=ISP2 scope=30 target-scope=10 
add check-gateway=ping comment="" disabled=no distance=3 dst-address=0.0.0.0/0 gateway=ISP3 scope=30 target-scope=10

 

 

Как теперь решить проблему с контактом?

Share this post


Link to post
Share on other sites

И подскажите почему не работает правило переадресации на локальный веб-сервер. Выставляю

/ip firewall nat

chain=dstnat action=dst-nat to-addresses=192.168.1.3 to-ports=80

protocol=tcp src-address=192.168.0.0/24 src-address-list=!allow

dst-port=80

и ничего не происходит, только пропадает интернет. А когда выставляю переадресовывать на адресс web интерфейса микротик все работает....

Share this post


Link to post
Share on other sites

Переадресация работает только внутри микротика. Включите web-proxy, создайте там запрещающее правило с перенаправлением на нужный вам адрес/порт, а в микротике сделайте перенаправление на порт web-proxy.

 

 

Share this post


Link to post
Share on other sites

ВСЕ ОГОНЬ !!!!!!!!!!! Заработало!!!!!!!

/ip address
add address=192.168.1.1/24 broadcast=192.168.1.255 comment="" disabled=no interface=ether5 network=192.168.1.0

/ip firewall mangle
add action=mark-connection chain=input comment="" disabled=no in-interface=ISP1 new-connection-mark=ISP1_conn passthrough=yes
add action=mark-connection chain=input comment="" disabled=no in-interface=ISP2 new-connection-mark=ISP2_conn passthrough=yes
add action=mark-connection chain=input comment="" disabled=no in-interface=ISP3 new-connection-mark=ISP3_conn passthrough=yes

add action=mark-routing chain=output comment="" connection-mark=ISP1_conn disabled=no new-routing-mark=to_ISP1 passthrough=yes
add action=mark-routing chain=output comment="" connection-mark=ISP2_conn disabled=no new-routing-mark=to_ISP2 passthrough=yes
add action=mark-routing chain=output comment="" connection-mark=ISP3_conn disabled=no new-routing-mark=to_ISP3 passthrough=yes

add action=accept chain=prerouting comment="" disabled=no in-interface=ISP1
add action=accept chain=prerouting comment="" disabled=no in-interface=ISP2
add action=accept chain=prerouting comment="" disabled=no in-interface=ISP3

add action=mark-connection chain=prerouting comment="" disabled=no dst-address-type=!local new-connection-mark=ISP1_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:4/0 src-address=192.168.1.3-192.168.1.255
add action=mark-connection chain=prerouting comment="" disabled=no dst-address-type=!local new-connection-mark=ISP2_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:4/1 src-address=192.168.1.3-192.168.1.255
add action=mark-connection chain=prerouting comment="" disabled=no dst-address-type=!local new-connection-mark=ISP3_conn passthrough=yes per-connection-classifier=both-addresses-and-ports:4/2 src-address=192.168.1.3-192.168.1.255

add action=mark-routing chain=prerouting comment="" connection-mark=ISP1_conn disabled=no new-routing-mark=to_ISP1 passthrough=yes
add action=mark-routing chain=prerouting comment="" connection-mark=ISP2_conn disabled=no new-routing-mark=to_ISP2 passthrough=yes
add action=mark-routing chain=prerouting comment="" connection-mark=ISP3_conn disabled=no new-routing-mark=to_ISP3 passthrough=yes

/ip firewall nat
add action=masquerade chain=srcnat comment="" disabled=no out-interface=ISP1 src-address=192.168.1.3-192.168.1.255
add action=masquerade chain=srcnat comment="" disabled=no out-interface=ISP2 src-address=192.168.1.3-192.168.1.255
add action=masquerade chain=srcnat comment="" disabled=no out-interface=ISP3 src-address=192.168.1.3-192.168.1.255


/ip route
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP1 routing-mark=to_ISP1 scope=30 target-scope=10 
add check-gateway=ping disabled=no distance=2 dst-address=0.0.0.0/0 gateway=ISP2 routing-mark=to_ISP2 scope=30 target-scope=10 
add check-gateway=ping disabled=no distance=3 dst-address=0.0.0.0/0 gateway=ISP3 routing-mark=to_ISP3 scope=30 target-scope=10 	 
add check-gateway=ping disabled=no distance=1 dst-address=0.0.0.0/0 gateway=ISP1 scope=30 target-scope=10 
add check-gateway=ping comment="" disabled=no distance=2 dst-address=0.0.0.0/0 gateway=ISP2 scope=30 target-scope=10 
add check-gateway=ping comment="" disabled=no distance=3 dst-address=0.0.0.0/0 gateway=ISP3 scope=30 target-scope=10

 

 

Как теперь решить проблему с контактом?

 

никак. тебе уже ответили - клиент ломится с одного ИП через секунду уже другой - на сайте дропается. точно также в интернет банках будет итпд

можешь как вариант вручную прописать с какого ипа ломится на определённый сайт и то думаю не прокатит. вариант два - все 80 порты на один канал - но перегруз будет 70/30

 

и еще раз с маской и 4мя подсетями написали правильно - юзай то что посоветовали

Share this post


Link to post
Share on other sites

Спасибо конечно огромное но тут еще одна проблема нарисовалась, тормозит онлайн видео. Причем через раз, захожу на Ютюб видео загружается на 5-10 секунд и все, но как только я нажимаю перемотку назад или вперед сразу грузится отлично, при этом смотрю потребление канала через queue и если не перематывать скорсть почти на нуле, но а когда жмеш проматать вперед идет нормальная загрузка в 2-5 Мбит. Это из-за того что поток идет в разные каналы???

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this