Jump to content

Recommended Posts

Posted

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

Posted (edited)

Спасибо, но там помоему всего 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
Posted

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

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

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

Posted

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

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

Posted

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

Posted

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

 

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

 

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

Posted

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

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

Posted

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

Ещё раз:

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

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

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

Posted (edited)

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

Ещё раз:

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

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

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

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

Edited by Jeff16
Posted

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

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

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

Posted

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

 

Ну и ну.

Posted

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

Posted

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

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

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

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

Posted

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

В третий раз:

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

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

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

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

Posted

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

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

Posted

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

Posted

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

/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

 

 

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

Posted

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

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

Posted

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

 

 

Posted

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

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

Posted

Спасибо конечно огромное но тут еще одна проблема нарисовалась, тормозит онлайн видео. Причем через раз, захожу на Ютюб видео загружается на 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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.