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

Балансировка на CCR

Поделитесь опытом, есть ли подводные камни на CCR с балансировкой каналов + NAT?

Насколько честно он раскидывает по указанным каналам?

Ведется ли соотношение канал запрос (сессия), т.е., чтоб одни и те же запросы НЕ ходили через разные каналы? 

 

Share this post


Link to post
Share on other sites

Если сделаете разбивку абонентов по PСС то он абонентов по имеющимся каналам распределит. Ясно дело если на один канал попадут любители торрентов, то загрузят его на всю. Второй будет простаивать.

 

Или вы про какие-то другие типы ограничений?

Share this post


Link to post
Share on other sites
37 минут назад, Saab95 сказал:

Если сделаете разбивку абонентов по PСС то он абонентов по имеющимся каналам распределит

Дадите ссылку на мануал?

 

 

38 минут назад, Saab95 сказал:

Ясно дело если на один канал попадут любители т, то загрузят его на всю . Второй будет простаивать.

Понятно, что сей девайс ни чего не знает о ширине канала.

Допустим есть два канала и 10 пользователей. Верно ли суждение, что 5 пользователей будут на одном и 5 на другом.

А если четыре канала и 10 пользователей, как в таком случае будет происходить балансировка?

 

Share this post


Link to post
Share on other sites
13 часов назад, RN3DCX сказал:

Понятно, что сей девайс ни чего не знает о ширине канала.

Допустим есть два канала и 10 пользователей. Верно ли суждение, что 5 пользователей будут на одном и 5 на другом.

А если четыре канала и 10 пользователей, как в таком случае будет происходить балансировка?

Вот ссылка на тему форума -

Если 10 пользователей то правильно 5 будет на одном канале, 5 на другом. Если 4 канала то на первых трех будет по 3 абонента, на последнем 1.

 

Суть всей блокировки в том, что микротик делит входящие IP адреса абонентов и помещает их в адрес листы, каждый адрес лист отправляет абонентов через свой канал. Если абонентов много, допустим 1000, то руками делить не удобно, их отправляют в автоматическое распределение. Но если абонентов не много, например человек 100-200, вполне возможно распределить их руками, и перемещать так, что бы не перегружали канал.

 

Просто то правило в примере это для распределения трафика на много адресов своих.

 

Если у вас каналы разные, то нужно сделать следующее:

 

1. Создать маршруты на 0.0.0.0/0 через каждого провайдера, указав им метки, допустим inet_1, inet_2 и т.п.

2. Создать правило, что для src адрес лист (кто идет в первый канал), то маркировать маршрут как inet_1, кто во втором адрес листе тому inet_2 и т.п.

3. Разделять клиентов по адрес листам или вручную, или правилом из примера.

 

Share this post


Link to post
Share on other sites
15 часов назад, RN3DCX сказал:

Дадите ссылку на мануал?

PCC

 

15 часов назад, RN3DCX сказал:

Допустим есть два канала и 10 пользователей. Верно ли суждение, что 5 пользователей будут на одном и 5 на другом.

Так сказать автоматическая балансировка не раскидывает поровну ip пользователей, в мануале написано как она распределяет потоки.

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

Share this post


Link to post
Share on other sites
4 часа назад, sherwood сказал:

PCC этого не позволит, если речь идет о нескольких пользователей.

Только нужно не забывать про смену IP адресов, поэтому в настоящих реалиях деление потоков не применимо.

Share this post


Link to post
Share on other sites
В 13.02.2020 в 19:06, Saab95 сказал:

Только нужно не забывать про смену IP адресов

А какой смене идет речь?

Share this post


Link to post
Share on other sites

А есть ли среди присутствующих кто юзает на miktotik'e в качестве балансировки ECMP (Equal cost multi-path routing)

 

 

Share this post


Link to post
Share on other sites

Товарищи эксперты, а также случайно зашедшие, подскажите-укажите на недочёты в конфиге.

 

Два канала PPPoE + балансировка.

1-й   порт - PPPoE1 (WAN)

2-й   порт - PPPoE2 (WAN)

12-й порт - локалка. 100.100.1.0/24

                                100.100.2.0/24

                                100.100.3.0/24

                                100.100.4.0/24

 

Цитата

/interface pppoe-client 

add name=PPoE1 interface=ether1 user=111 password=111 add-default-route=yes use-peer-dns=yes disabled=no default-route-distance=1

add name=PPoE2 interface=ether2 user=222 password=222 add-default-route=yes use-peer-dns=yes disabled=no default-route-distance=2 (1 или 2 ?)

 

 

Цитата

/ip firewall nat

add action=masquerade chain=srcnat out-interface=PPPoE1 disabled=no
add action=masquerade chain=srcnat out-interface=PPPoE2 disabled=no

 

Цитата

/ip firewall mangle

add action=mark-connection chain=input (или лучше указать  chain=prerouting) in-interface=PPPoE1 new-connection-mark=connection_to_PPPoE1 passthrough=no (или yes?) disabled=no connection-state=new (на сколько актуальная опция в текущем случае?)
add action=mark-routing chain=output connection-mark=connection_to_PPPoE1 new-routing-mark=route_to_PPPoE1 passthrough=no (или yes?) disabled=no

 

#что бы ответы шли через те же интерфейсы, откуда пришли запросы:

add action=mark-connection chain=input (или лучше указать  chain=prerouting) in-interface=PPPoE2 new-connection-mark=connection_to_PPPoE2 passthrough=no (или yes?)  disabled=no  connection-state=new (на сколько актуальная опция в текущем случае?)
add action=mark-routing chain=output connection-mark=connection_to_PPPoE2 new-routing-mark=route_to_PPPoE2 passthrough=no (или yes?) disabled=no

 

краткое описание в интернете:

connection-state=new - нет смысла пытаться маркировать соединения, которые уже установлены, как вы помните new - это пакет, который создал соединение, т.е он только один, а в случае со всеми пакетами routeros будет каждый раз пытаться маркировать соединение, которое уже и так может иметь маркировку.

  

 

Цитата

#если маршрут не будет найден, пакет должен умереть на маршрутизаторе, а не отправляться через другого оператора:

 

/ip route rule

add routing-mark=route_to_PPPoE1 action=lookup-only-in-table table=route_to_PPPoE1
add routing-mark=route_to_PPPoE2 action=lookup-only-in-table table=route_to_PPPoE2

 

Цитата

#Маршруты для роутера:

 

/ip route

add distance=1                  gateway=ether1 disabled=no routing-mark=route_to_PPPoE1
add distance=2 (1 или 2 ?) gateway=ether2 disabled=no routing-mark=route_to_PPPoE2

 

или правильнее будет так:

/ip route

add distance=1                   dst-address=0.0.0.0/0 gateway=ether1 disabled=no routing-mark=route_to_PPPoE1 
add distance=2  (1 или 2 ?) dst-address=0.0.0.0/0 gateway=ether2 disabled=no routing-mark=route_to_PPPoE2

 

 

Цитата

#используя PPC разделим трафик:

 

/ip firewall mangle

add src-address=100.100.1.0/21 action=mark-routing chain=prerouting new-routing-mark=connection_to_PPPoE1 per-connection-classifier=src-address-and-port:2/0 (или both-addresses-and-ports?passthrough=no (или yes?connection-state=new (на сколько актуальная опция в текущем случае?)
add src-address=100.100.1.0/21 action=mark-routing chain=prerouting new-routing-mark=connection_to_PPPoE2 per-connection-classifier=src-address-and-port:2/1(или both-addresses-and-ports?passthrough=no (или yes?connection-state=new (на сколько актуальная опция в текущем случае?)

 

Еще не понятны значения 2/0 и 2/1 в per-connection-classifier:

per-connection-classifier=src-address-and-port:2/0 

per-connection-classifier=src-address-and-port:2/1 

Share this post


Link to post
Share on other sites

Странно конечно, что кроме @Saab95 , больше нет людей кому не сложно объяснить микротиковскую специфику.

Share this post


Link to post
Share on other sites
В 10.03.2020 в 16:04, RN3DCX сказал:

Странно конечно, что кроме @Saab95 , больше нет людей кому не сложно объяснить микротиковскую специфику.

Так он покруче корейцев, уже не одну сотню собак съел с микротиками. Хочешь другую точку зрения, спроси 700-го :) 

Share this post


Link to post
Share on other sites
В 03.03.2020 в 00:44, RN3DCX сказал:

Еще не понятны значения 2/0 и 2/1 в per-connection-classifier:

per-connection-classifier=src-address-and-port:2/0 

per-connection-classifier=src-address-and-port:2/1 

2 это значит 2 потока, при этом 0 - нулевой поток, 1 - первый поток, а всего их два.

 

В 03.03.2020 в 00:44, RN3DCX сказал:

/interface pppoe-client 

add name=PPoE1 interface=ether1 user=111 password=111 add-default-route=yes use-peer-dns=yes disabled=no default-route-distance=1

add name=PPoE2 interface=ether2 user=222 password=222 add-default-route=yes use-peer-dns=yes disabled=no default-route-distance=2 (1 или 2 ?)

1, т.к. при таком типе балансировки маршруты должны быть равны.

 

В 03.03.2020 в 00:44, RN3DCX сказал:

Два канала PPPoE + балансировка.

1-й   порт - PPPoE1 (WAN)

2-й   порт - PPPoE2 (WAN)

12-й порт - локалка. 100.100.1.0/24

                                100.100.2.0/24

                                100.100.3.0/24

                                100.100.4.0/24

Надо поставить еще микротиков, на каждом будете поднимать PPPoE сессию, они будут делать НАТ и уже по IP раздавать интернет на основной микротик, который и будет делать балансировку. Тогда все заработает без проблем.

Share this post


Link to post
Share on other sites

@Saab95 , благодарю за выше приведенные пояснения. 

Еще бы с firewall'ом разобраться:

 

Цитата

 

 

/ip firewall mangle

add action=mark-connection chain=input (или лучше указать  chain=prerouting) in-interface=PPPoE1 new-connection-mark=connection_to_PPPoE1 passthrough=no (или yes?) disabled=no connection-state=new (на сколько актуальная опция в текущем случае?)
add action=mark-routing chain=output connection-mark=connection_to_PPPoE1 new-routing-mark=route_to_PPPoE1 passthrough=no (или yes?) disabled=no

 

#что бы ответы шли через те же интерфейсы, откуда пришли запросы:

add action=mark-connection chain=input (или лучше указать  chain=prerouting) in-interface=PPPoE2 new-connection-mark=connection_to_PPPoE2 passthrough=no (или yes?)  disabled=no  connection-state=new (на сколько актуальная опция в текущем случае?)
add action=mark-routing chain=output connection-mark=connection_to_PPPoE2 new-routing-mark=route_to_PPPoE2 passthrough=no (или yes?) disabled=no

 

краткое описание в интернете:

connection-state=new - нет смысла пытаться маркировать соединения, которые уже установлены, как вы помните new - это пакет, который создал соединение, т.е он только один, а в случае со всеми пакетами routeros будет каждый раз пытаться маркировать соединение, которое уже и так может иметь маркировку.

 

 

Share this post


Link to post
Share on other sites

Не надо с этим разбираться.

 

26 минут назад, RN3DCX сказал:

connection-state=new - нет смысла пытаться маркировать соединения, которые уже установлены, как вы помните new - это пакет, который создал соединение, т.е он только один, а в случае со всеми пакетами routeros будет каждый раз пытаться маркировать соединение, которое уже и так может иметь маркировку.

А если у вас UDP трафик? На нем нет понятия соединения=)

 

достаточно вставить вверху манглов:

 

/ip firewall mangle
add action=accept chain=prerouting connection-state=established

что бы убрать уже установленные соединения - вам же надо абонентов разделить. А если абонентов надо разделить, а они TCP не используют - не будет адресов в адрес-листах, и интернет у абонентов не заработает.

 

Если у вас PPPoE постоянно меняет IP адреса - то нужно ставить еще микротики, убрав эти туннели из работы на основном микротике.

 

Share this post


Link to post
Share on other sites
3 часа назад, Saab95 сказал:
В 03.03.2020 в 00:44, RN3DCX сказал:

Еще не понятны значения 2/0 и 2/1 в per-connection-classifier:

per-connection-classifier=src-address-and-port:2/0 

per-connection-classifier=src-address-and-port:2/1 

2 это значит 2 потока, при этом 0 - нулевой поток, 1 - первый поток, а всего их два.

Под потоками подразумевается UP-линк, т.е. канал в мир?

 

 

Если имеется четыре канала в мир, то:

per-connection-classifier=src-address-and-port:4/0 

per-connection-classifier=src-address-and-port:4/1 

per-connection-classifier=src-address-and-port:4/2

per-connection-classifier=src-address-and-port:4/3

Share this post


Link to post
Share on other sites

Поток это не канал, а количество групп деления трафика. Соответственно их адреса помещаются в адрес-лист, с которым и работает маркировка.

 

Обычно работают с src-nat, тогда отпадает необходимость в соответствии входящего и исходящего канала - все само по себе происходит. И именно по этой причине нужны дополнительные микротики, что бы не приходилось обвешиваться кучей правил привязок и т.п.

Share this post


Link to post
Share on other sites

@RN3DCX  а теперь на пальцах Mikrotik это soho устройство, очень хорошее и добротное soho устройство. 

 

Для ваших хотелок(что бы было в одной коробке) либо нужно больше микротиков, либо софтроутер, но его готовить нужно уметь. 

 

Либо маршрутизаторы, которые поддерживают VRF, эти решения будут скорее всего дороже, чем пачка роутеров от Mikrotik. 

Share this post


Link to post
Share on other sites

@pingz  задача корпоративная, офис+склад, за сем надеюсь что CCR хватит за глаза.

 

9 часов назад, pingz сказал:

 

 Либо маршрутизаторы, которые поддерживают VRF, эти решения будут скорее всего дороже,

да, можно было бы на циске крутануть, но стоимость циски и микротика для корпоратов это как небо и земля.

Share this post


Link to post
Share on other sites
В 25.03.2020 в 11:47, Saab95 сказал:

Поток это не канал, а количество групп деления трафика. Соответственно их адреса помещаются в адрес-лист, с которым и работает маркировка.

Антон, можно ли это на русский перевести, ну там пример наглядный для понимания...

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

Share this post


Link to post
Share on other sites

@RN3DCX Пойми нужно разделить мух от котлет. 

 

Если тебе нужна балансировка это одно, а если тебе нужно размазать по разным каналам это другое. 

 

В моем понимании балансировка это когда я взял два линка по 1G, на каждом линке собрал OSPF или другой динамический протокол и через ECMP размазал 1.2 Gb\s.  В автомоматическом  режиме, мне фиолетово какой клиент в какой линк ушел. 

 

В твоей ситуации у тебя есть два правила ната, два дефолтных маршрута 0.0.0.0/0. Максимум, что ты можешь сделать это сказать подсеть 192.168.10.0/24 идет через канал 1, подсеть 192.168.11.0/24 идет в канал 2. Все это сделано через маркировку, у меня был  PBR и выносил NAT на отдельный микротик все работало как часы если не ждать от микротика великих цифр. 

 

 

 

ИМХО

два https://shop.nag.ru/catalog/00002.Marshrutizatory/33638.Dlya-domashnego-ispolzovaniya/22395.RB750Gr3

один https://shop.nag.ru/catalog/00002.Marshrutizatory/33636.Dlya-provajderov-uslug-svyazi/29698.RB1100x4 

 

Равен по цене +\-

https://shop.nag.ru/catalog/00002.Marshrutizatory/33636.Dlya-provajderov-uslug-svyazi/22738.CCR1009-7G-1C-1S

 

Только на трех устройствах вы сделаете балансировку, а вот на одном вы не сделаете балансировку. 

 

Зайдите в любой магнит и посмотрите как у них сделано. 

Share this post


Link to post
Share on other sites

Маршрутизатор RB1100AH покупать не надо, он уже устарел морально.

Share this post


Link to post
Share on other sites
2 часа назад, pingz сказал:

 

В моем понимании балансировка это когда я взял два линка по 1G, на каждом линке собрал OSPF или другой динамический протокол и через ECMP размазал 1.2 Gb\s.  В автомоматическом  режиме, мне фиолетово какой клиент в какой линк ушел. 

 

В твоей ситуации у тебя есть два правила ната, два дефолтных маршрута 0.0.0.0/0. Максимум, что ты можешь сделать это сказать подсеть 192.168.10.0/24 идет через канал 1, подсеть 192.168.11.0/24 идет в канал 2. Все это сделано через маркировку, у меня был  PBR и выносил NAT на отдельный микротик все работало как часы если не ждать от микротика великих цифр. 

а что, микротык не умеет static ecmp? печаль-беда тогда...

Share this post


Link to post
Share on other sites

@NiTr0  умеет ecmp

У человека два канала обычных от оператора тупо интернет через pppoe, l2tp, ipoe, pptp да это и не суть там уже правило ната в каждый канал. 

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

 

На cisco или juniper я бы эти наты завернул в отдельный VRF. Все бы работало в одной коробке. У микротика одна таблица маршрутизации main и ее можно разделить только маркировкой. 

Share this post


Link to post
Share on other sites

так речь об ecmp в обычных статик роутах. ну т.е. прописать один роут через 2 шлюза без онанизма со стопкой некротиков и нахрен не нужным тут ospf...

вроде как тыкалка есть несколько гейтов добавить. если не работает/работает коряво (round-robin например а не per connection) - то пичалька, да...

Share this post


Link to post
Share on other sites
11 часов назад, pingz сказал:

Если тебе нужна балансировка это одно, а если тебе нужно размазать по разным каналам это другое. 

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

 

8 часов назад, pingz сказал:

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

Поднимаю OSPF и трафик сам балансируется? Т.е. OSPF сам определяет, что 1-й канал подзабит а 2-ой по свободней будет и пуляет соответственно в свободный.

Давно у OSPF'а появился такой функционал?

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