Перейти к содержимому
Калькуляторы

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо, но там помоему всего 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 и дописал некоторые строчки сам....

Изменено пользователем Jeff16

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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 отправителя.

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Помогите как написать, буду очень благодарен, уже 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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Ещё раз:

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Ещё раз:

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

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

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

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

Изменено пользователем Jeff16

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

нужно указать в 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

 

Ну и ну.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

В третий раз:

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тогда подскажите как сделать, я уже перепробывал все но почемуто не чего не получается, есть 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. Помогите т.к. я уже в отчаянии....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

/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

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

/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 интерфейса микротик все работает....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

/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мя подсетями написали правильно - юзай то что посоветовали

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.