Привет, Хабр! Это вторая часть статьи о балансировке между провайдерами на Mikrotik. С первой части прошел почти год, за это время многое изменилось в жизни (недавно появился новый член семьи), поэтому такая большая задержка.

В первой части мы разобрали как настроить этот самый мультиван но без самой балансировки.

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

1. Маркируем весь трафик из провайдеров

Все маркировки происходят в IP/ Firewall/ Mangle

Важное дополнение, во всех правилах включена опция Passthrough, что означает - разрешить обработку трафика дальше. В правиле оно не отображено, так как включено по умолчанию при создании правила.

/ip firewall mangle
add action=mark-connection chain=forward comment=ISP-1-ALL-Upload \
    new-connection-mark=ISP-1-ALL-Upload out-interface=VLAN-211_WAN-LTE
add action=mark-packet chain=forward comment=ISP-1-ALL-Upload \
    connection-mark=ISP-1-ALL-Upload new-packet-mark=ISP-1-ALL-Upload
add action=mark-connection chain=forward comment=ISP-1-ALL-Download \
    in-interface=VLAN-211_WAN-LTE new-connection-mark=ISP-1-ALL-Download
add action=mark-packet chain=forward comment=ISP-1-ALL-Download \
    connection-mark=ISP-1-ALL-Download new-packet-mark=ISP-1-ALL-Download

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

Чтобы все успешно и здорово работало, мы маркируем сначала соединение, а после на на основе их маркируем пакет.

/ip firewall mangle
add action=mark-connection chain=forward comment=ISP-1-ALL-Upload \
    new-connection-mark=ISP-1-ALL-Upload out-interface=VLAN-211_WAN-LTE

Тут мы говорим - всё проходящее (chain=Forward) в интерфейс VLAN-211_WAN-LTE делай маркировку соединения (действие new-connection-mark), как ISP-1-ALL-Upload - сама метка, ее мы пишем так как нашей душе угодно, главное чтобы вам было понятно.

Следующее правило

add action=mark-packet chain=forward comment=ISP-1-ALL-Upload \
    connection-mark=ISP-1-ALL-Upload new-packet-mark=ISP-1-ALL-Upload

В нем мы говорим следующее -все проходящие (chain=Forward) с соединения с меткой connection-mark=ISP-1-ALL-Upload - на основе этих соединений маркируй (new-packet-mark) пакеты как ISP-1-ALL-Upload Тут опять же важно, чтобы вы сами не запутались, дальше в QOS будут участвовать пакеты, поэтому нет нужды маркировать отлично соединения от пакетов.

Разберем правила для исходящего от провайдера трафика , а в нашем случае входящего

add action=mark-connection chain=forward comment=ISP-1-ALL-Download \
    in-interface=VLAN-211_WAN-LTE new-connection-mark=ISP-1-ALL-Download
add action=mark-packet chain=forward comment=ISP-1-ALL-Download \
    connection-mark=ISP-1-ALL-Download new-packet-mark=ISP-1-ALL-Download

Тут мы говорим, что все соединения проходящие через роутер из интерфейса провайдера ставь на них метку. А теперь все помеченные соединения проходящие через роутер - на основе их маркируй пакеты.

Этими четырьмя правилами мы промаркировали весь трафик от 1 провайдера, не важно какой это по счет, первый или второй, все они маркируются одинаково.

add action=mark-connection chain=forward comment=ISP-1-ALL-Upload \
    new-connection-mark=ISP-1-ALL-Upload out-interface=VLAN-211_WAN-LTE
add action=mark-packet chain=forward comment=ISP-1-ALL-Upload \
    connection-mark=ISP-1-ALL-Upload new-packet-mark=ISP-1-ALL-Upload
add action=mark-connection chain=forward comment=ISP-2-ALL-Upload \
    new-connection-mark=ISP-2-ALL-Upload out-interface=ether9-WAN-Akado
add action=mark-packet chain=forward comment=ISP-2-ALL-Upload \
    connection-mark=ISP-2-ALL-Upload new-packet-mark=ISP-2-ALL-Upload
add action=mark-connection chain=forward comment=ISP-1-ALL-Download \
    in-interface=VLAN-211_WAN-LTE new-connection-mark=ISP-1-ALL-Download
add action=mark-packet chain=forward comment=ISP-1-ALL-Download \
    connection-mark=ISP-1-ALL-Download new-packet-mark=ISP-1-ALL-Download
add action=mark-connection chain=forward comment=ISP-2-ALL-Download \
    in-interface=ether9-WAN-Akado new-connection-mark=ISP-2-ALL-Download
add action=mark-packet chain=forward comment=ISP-2-ALL-Download \
    connection-mark=ISP-2-ALL-Download new-packet-mark=ISP-2-ALL-Download

Так выглядит маркировка двух провайдеров, отличие в метках (название), и интерфейсов.

2. Маркировка интерфейсов

Теперь когда у нас есть маркировка провайдеров, давайте промаркируем какой-нибудь Vlan для двух провайдеров сразу.

add action=mark-connection chain=forward comment=ISP-1-vlan209-ALL-download \
    dst-address=10.10.209.0/27 in-interface=VLAN-211_WAN-LTE \
    new-connection-mark=ISP-1-vlan209-all-download
add action=mark-connection chain=forward comment=ISP-1-vlan209-web-download \
    dst-address=10.10.209.0/27 in-interface=VLAN-211_WAN-LTE \
    new-connection-mark=ISP-1-vlan209-web-download protocol=tcp src-port=\
    80,443,8080,5228
add action=mark-connection chain=forward comment=ISP-1-vlan209-web-download \
    dst-address=10.10.209.0/27 in-interface=VLAN-211_WAN-LTE \
    new-connection-mark=ISP-1-vlan209-web-download protocol=udp src-port=\
    80,443,8080,5228
add action=mark-packet chain=forward comment=ISP-1-vlan209-web-download \
    connection-mark=ISP-1-vlan209-web-download new-packet-mark=\
    ISP-1-vlan209-web-download
add action=mark-packet chain=forward comment=ISP-1-vlan209-web-download \
    connection-mark=ISP-1-vlan209-all-download new-packet-mark=\
    ISP-1-vlan209-all-download
add action=mark-connection chain=forward comment=ISP-2-vlan209-all-download \
    dst-address=10.10.209.0/27 in-interface=ether9-WAN-Akado \
    new-connection-mark=ISP-2-vlan209-all-download
add action=mark-connection chain=forward comment=ISP-2-vlan209-web-download \
    dst-address=10.10.209.0/27 in-interface=ether9-WAN-Akado \
    new-connection-mark=ISP-2-vlan209-web-download protocol=tcp src-port=\
    80,443,8080,5228
add action=mark-connection chain=forward comment=ISP-2-vlan209-web-download \
    dst-address=10.10.209.0/27 in-interface=ether9-WAN-Akado \
    new-connection-mark=ISP-2-vlan209-web-download protocol=udp src-port=\
    80,443,8080,5228
add action=mark-packet chain=forward comment=ISP-2-vlan209-web-download \
    connection-mark=ISP-2-vlan209-web-download new-packet-mark=\
    ISP-2-vlan209-web-download
add action=mark-packet chain=forward comment=ISP-2-vlan209-all-download \
    connection-mark=ISP-2-vlan209-all-download new-packet-mark=\
    ISP-2-vlan209-all-download
вот как в общем и целом выглядит портянка правил
вот как в общем и целом выглядит портянка правил

Давайте разберем что тут происходит.

Правило первое

add action=mark-connection chain=forward comment=ISP-1-vlan209-ALL-download \
    dst-address=10.10.209.0/27 in-interface=VLAN-211_WAN-LTE \
    new-connection-mark=ISP-1-vlan209-all-download

Весь трафик адрес назначения которого 10.10.209.0/27 и который исходит из VLAN-211_WAN-LTE - маркируй соединения как ISP-1-vlan209-all-download Пока мы маркируем только соединения, дальше мы на основе этих соединений промаркируем пакеты, порядок тут не важен, главное сначала соединения, а после маркируем пакеты на основе этих соединений.

add action=mark-connection chain=forward comment=ISP-1-vlan209-web-download \
    dst-address=10.10.209.0/27 in-interface=VLAN-211_WAN-LTE \
    new-connection-mark=ISP-1-vlan209-web-download protocol=tcp src-port=\
    80,443,8080,5228

Тут мы говорим весь трафик который направляется в сеть 10.10.209.0/27 из интерфейса VLAN-211_WAN-LTE а исходящий порт(ы) tcp 80,443,8080,5228 то маркируй соединения как ISP-1-vlan209-web-download Точно такое же правило но и для UDP, трафика там почти не бывает, но мало ли..

Я запутался.

Если вы на этом моменте запутались, то это нормально!

Почему может произойти путаница ? При маркировке пакетов все переворачивается с ног наголову, то что было исходящим, стало входящим и наоборот. Как разобраться ?

На самом деле очень просто, представьте что вы пакет данных. смотрим со стороны локальной сети - Я пакет, пришел к вам в роутер из интерфейса VLAN-211_WAN-LTE и направляюсь в сеть 10.10.209.0 и мои пакеты с портами 80,443.8080,5228 (все эти порты предназначены для веба, последний же 5228 используется для google play и... решили его косить по тем же правилам, что и веб) то этот трафик так как он идет из интернета в сторону локальной сети - скачивание, из локальной сети в интернет - выгрузка. Чейн Форвард - потому что в 99% случаев будет проходить через роутер. Конечно есть ситуации когда роутер сам генерирует соединения (это VPN подключения например или запросы dns) и там уже другой чейн используется.

Продолжаем

Таким образом мы промаркировали веб часть на загрузку в локальную сеть (Download) для веба и всего остального трафика, который не попал под веб.

add action=mark-packet chain=forward comment=ISP-1-vlan209-web-download \
    connection-mark=ISP-1-vlan209-web-download new-packet-mark=\
    ISP-1-vlan209-web-download
add action=mark-packet chain=forward comment=ISP-1-vlan209-web-download \
    connection-mark=ISP-1-vlan209-all-download new-packet-mark=\
    ISP-1-vlan209-all-download

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

А что с выгрузкой ?

add action=mark-connection chain=forward comment=ISP-1-vlan209-ALL-Upload \
    new-connection-mark=ISP-1-vlan209-ALL-Upload out-interface=\
    VLAN-211_WAN-LTE src-address=10.10.209.0/27
add action=mark-connection chain=forward comment=ISP-1-vlan209-web-Upload \
    dst-port=80,443,8080,5228 new-connection-mark=ISP-1-vlan209-web-Upload \
    out-interface=VLAN-211_WAN-LTE protocol=tcp src-address=10.10.209.0/27
add action=mark-connection chain=forward comment=ISP-1-vlan209-web-Upload \
    dst-port=80,443,8080,5228 new-connection-mark=ISP-1-vlan209-web-Upload \
    out-interface=VLAN-211_WAN-LTE protocol=udp src-address=10.10.209.0/27
add action=mark-packet chain=forward comment=ISP-1-vlan209-web-Upload \
    connection-mark=ISP-1-vlan209-web-Upload new-packet-mark=\
    ISP-1-vlan209-web-Upload
add action=mark-packet chain=forward comment=ISP-1-vlan209-ALL-Upload \
    connection-mark=ISP-1-vlan209-ALL-Upload new-packet-mark=\
    ISP-1-vlan209-ALL-Upload
add action=mark-connection chain=forward comment=ISP-2-vlan209-ALL-Upload \
    new-connection-mark=ISP-2-vlan209-ALL-Upload out-interface=\
    ether9-WAN-Akado src-address=10.10.209.0/27
add action=mark-connection chain=forward comment=ISP-2-vlan209-web-Upload \
    dst-port=80,443,8080,5228 new-connection-mark=ISP-2-vlan209-web-Upload \
    out-interface=ether9-WAN-Akado protocol=tcp src-address=10.10.209.0/27
add action=mark-connection chain=forward comment=ISP-2-vlan209-web-Upload \
    dst-port=80,443,8080,5228 new-connection-mark=ISP-2-vlan209-web-Upload \
    out-interface=ether9-WAN-Akado protocol=udp src-address=10.10.209.0/27
add action=mark-packet chain=forward comment=ISP-2-vlan209-web-Upload \
    connection-mark=ISP-2-vlan209-web-Upload new-packet-mark=\
    ISP-2-vlan209-web-Upload
add action=mark-packet chain=forward comment=ISP-2-vlan209-web-Upload \
    connection-mark=ISP-2-vlan209-ALL-Upload new-packet-mark=\
    ISP-2-vlan209-ALL-Upload

Давайте снова разберемся что тут происходит

add action=mark-connection chain=forward comment=ISP-1-vlan209-ALL-Upload \
    new-connection-mark=ISP-1-vlan209-ALL-Upload out-interface=\
    VLAN-211_WAN-LTE src-address=10.10.209.0/27

Все что исходит от сети 10.10.209.0/27 в интерфейс VLAN-211_WAN-LTE - маркируем соединения как выгрузку ISP-1-vlan209-ALL-Upload

add action=mark-connection chain=forward comment=ISP-1-vlan209-web-Upload \
    dst-port=80,443,8080,5228 new-connection-mark=ISP-1-vlan209-web-Upload \
    out-interface=VLAN-211_WAN-LTE protocol=tcp src-address=10.10.209.0/27
add action=mark-connection chain=forward comment=ISP-1-vlan209-web-Upload \
    dst-port=80,443,8080,5228 new-connection-mark=ISP-1-vlan209-web-Upload \
    out-interface=VLAN-211_WAN-LTE protocol=udp src-address=10.10.209.0/27

Тут мы маркируем соединена для upd и tcp по сути все тоже самое что и с загрузкой только изменилось DST на SRC адреса, теперь все что выходит из локальной сети 10.10.209.0/27 в сторону провайдера (интерфейс VLAN-211_WAN-LTE) и DST порт 80,443,8080,5228

а после так же маркируем пакеты

add action=mark-packet chain=forward comment=ISP-1-vlan209-web-Upload \
    connection-mark=ISP-1-vlan209-web-Upload new-packet-mark=\
    ISP-1-vlan209-web-Upload
add action=mark-packet chain=forward comment=ISP-1-vlan209-ALL-Upload \
    connection-mark=ISP-1-vlan209-ALL-Upload new-packet-mark=\
    ISP-1-vlan209-ALL-Upload

Я снова запутался.

И это снова нормально. Главное вот, что понять, ты - пакет, и попробуй подумать как пакет, как ты движешься. Почему сначала было SRC а после DST ? Дело в том, что когда пк в сети хочет попасть на веб ресурс в интернете, мы не знаем с какого порта будет обращаться наш пк, но мы точно знаем куда он обратится, мы точно знаем на каком порту сидит веб сервис в интернете, и с какого порта он нам ответит. Вот и получается что мы в одном случае маркируем обращение у которого источник порт 80,443 а в другом случае назначение порта 80,443. В портянках правил где указан большой кусок - я показываю сразу для двух провайдеров и после разбираю конкретного провайдера и движение трафика для конкретной сети. Как только у вас получиться промаркировать трафик для одного провайдера, второго вы маркируете точно так же, и подглядываете в большую портянку, чтобы понимать как выглядит правило в целом.

Зачем мне маркировать весь трафик?

Это тоже хороший вопрос. Если вы знаете какой трафик у вас может ходить, то можно промаркировать все, но с уверенностью могу сказать что либо у вас 10 000 и 1 правило, либо будут очень странные конструкции где у вас будут указаны порты от 1 до 79, потом от 81 до 442, и т.д. это будет не читаемо и смысла будет мало.

Мне нужно только веб и sip (телефония), зачем мне маркировать все?

А тут тоже хороший вопрос. Если вы пропустите какой-то трафик, то какие-нибудь приложения (например любимый мой торрент) забьет все не маркированные порты (потому что по маркированным мы будете косить, а остальные нет), и опять смысла в маркировке особой нет, так как кос работать нормально не сможет.

Время очередей

У нас готовы следующие маркировки

  • ISP-1-ALL-Upload - весь исходящий трафик с первого провайдера

  • ISP-1-ALL-Download - весь входящий трафик с первого провайдера

  • ISP-2-ALL-Upload - весь исходящий трафик с второго провайдера

  • ISP-2-ALL-Download - весь входящий трафик с второго провайдера

  • ISP-1-vlan209-ALL-Upload - весь исходящий трафик с vlan 209 в первого провайдера

  • ISP-2-vlan209-ALL-Upload - весь исходящий трафик с vlan 209 в второго провайдера

  • ISP-1-vlan209-ALL-Download - весь входящий трафик в vlan 209 из первого провайдера

  • ISP-2-vlan209-ALL-Download - весь входящий трафик в vlan 209 из второго провайдера

  • ISP-1-vlan209-web-Upload - весь исходящий веб трафик с vlan 209 в первого провайдера

  • ISP-2-vlan209-web-Upload - весь исходящий веб трафик с vlan 209 в второго провайдера

  • ISP-1-vlan209-web-Download - весь исходящий веб трафик с vlan 209 в первого провайдера

  • ISP-2-vlan209-web-Download - весь исходящий веб трафик с vlan 209 в второго провайдера

А где 3 провайдер ? А его здесь нет, он будет только в балансировки, и используется для других участников сети. В данном случае только 1 vlan нужно 8 правил чтобы можно было QOS'сить веб трафик и трафик в целом, хотим SIP ? Пожалуйста, по аналогии с WEB это еще + 4 правила только 1 vlan ?

Тут стоит решить, хотите ли вы контролировать каждую подсеть или в целом ? Для сокращения человеческих ресурсов, можно приоритизировать весь SIP трафик всего здания например. любая хотела будет стоить минимум + 4 правил поэтому мы и рассмотрим так немного, иначе статья будет слишком огромной, ибо сейчас уже больше 100 mangle правил, и это только чтобы был QOS.

QUEU TREE

/queue tree
add limit-at=10M max-limit=20M name="All AKADO Upload" parent=global \
    priority=1 queue=cake-test
add limit-at=60M max-limit=60M name="ISP LTE Upload" parent=global priority=1 \
    queue=cake-test
add limit-at=10M max-limit=60M name="All AKADO Download" parent=global \
    priority=1 queue=cake-test
add limit-at=65M max-limit=65M name="ISP LTE DOWNLOAD" parent=global \
    priority=1 queue=cake-test
add limit-at=10M max-limit=35M name="All Akado Download Paket" packet-mark=\
    ISP-2-ALL-Download parent="All AKADO Download" queue=cake-test
add limit-at=10M max-limit=20M name="All Akado Upload Paket" packet-mark=\
    ISP-2-ALL-Upload parent="All AKADO Upload" queue=cake-test
add limit-at=30M max-limit=40M name="All LTE Upload Paket" packet-mark=\
    ISP-1-ALL-Upload parent="ISP LTE Upload" queue=cake-test
add limit-at=30M max-limit=40M name="All LTE Download Paket" packet-mark=\
    ISP-1-ALL-Download parent="ISP LTE DOWNLOAD" queue=cake-test
add limit-at=10M max-limit=20M name=ISP-2-vlan209-web-download packet-mark=\
    ISP-2-vlan209-web-download parent="All AKADO Download" queue=cake-test
add limit-at=10M max-limit=20M name=ISP-2-vlan209-web-Upload packet-mark=\
    ISP-2-vlan209-web-Upload parent="All AKADO Upload" queue=cake-test
add limit-at=30M max-limit=40M name=ISP-1-vlan209-web-download packet-mark=\
    ISP-1-vlan209-web-download parent="ISP LTE DOWNLOAD" queue=cake-test
add limit-at=30M max-limit=40M name=ISP-1-vlan209-web-Upload packet-mark=\
    ISP-1-vlan209-web-Upload parent="ISP LTE Upload" queue=cake-test
add limit-at=30M max-limit=40M name=ISP-1-vlan209-all-download packet-mark=\
    ISP-1-vlan209-all-download parent="ISP LTE DOWNLOAD" queue=cake-test
add limit-at=10M max-limit=20M name=ISP-2-vlan209-ALL-download packet-mark=\
    ISP-2-vlan209-all-download parent="All AKADO Download" queue=cake-test
add limit-at=10M max-limit=20M name=ISP-2-vlan209-ALL-Upload packet-mark=\
    ISP-2-vlan209-ALL-Upload parent="All AKADO Upload" queue=cake-test
add limit-at=30M max-limit=40M name=ISP-1-vlan209-ALL-Upload packet-mark=\
    ISP-1-vlan209-ALL-Upload parent="ISP LTE Upload" queue=cake-test
в данный момент LTE на замене модема, поэтому он отключен и трафика там нет, лишние очереди отключены, чтобы было понятно что мы настраивали
в данный момент LTE на замене модема, поэтому он отключен и трафика там нет, лишние очереди отключены, чтобы было понятно что мы настраивали

Тут практически все просто...

Самое важно что нужно учесть - если у родителей есть дети, то у родителей нет ничего для себя. То есть, мы создаем глобальную очередь ISP LTE Upload например, и у нее есть дети:

  • ISP LTE Upload (тут нет никакой маркировки, только ограничение скорости)

    • All LTE Download Paket (тут у нас все пакеты)

    • ISP-1-vlan209-all-download (тут все что отвечает за весь трафик в стороны lte с vlan 209)

    • ISP-1-vlan209-web-download (тут все что отвечает за весь веб трафик в стороны lte с vlan 209)

типовая очередь
типовая очередь

Тут достаточно просто для первоначальной настройки

  • Name - любое произвольное имя

  • Parent родитель, в нашем случае это очередь отвечающая за вест трафик

  • Packet Marks - сами пакеты, их метка

  • Queue Type - тип очереди, то есть как будут считаться пакеты, оставьте default, а после можете экспериментировать с pcq, cake и т.д., важно, в pcq-download настроено на одно движение пакетов, и выбрав не тот, у вас может просто не работать очередь, тут очень много всего все, это очень большая тема, у Романа Козлова на одноименном канале Mikrotik Training есть информация о типах очередях.

  • Priority - чем выше цифра, тем меньше приоритет трафик, тоже стоить глянуть какие цифры за что используют.

  • Bucket Size -размер пакета

  • Limit At - гарантированная скорость (забавно, ведь в случае LTE мы ничего не можем гарантировать, поэтому приоритет важен)

  • Max Limit - максимальное потребление скорости, если она есть

    Burst Threshhold и Brust Time это временное увеличение скорости, тема для отдельных экспериментов.

Почему ISP-1-vlan209-all-download не является дочерним для All LTE Download Paket, а он не является родителем для ISP-1-vlan209-all-download - если мы так сделаем, то вспоминаем, то что есть у родителей, все отдается детям, у родителей ничего нет, и поэтому QOS работать не будет. Именно по этому у нас есть общее очередь для всего интерфейса на вход, и на выход, где мы только указываем сколько мы можем отдать нашим дочерним очередям.

SpeedTest попадает в WEB и активно косится
SpeedTest попадает в WEB и активно косится
Самая частая ошибка, когда путают upload и download, будьте внимательны
Самая частая ошибка, когда путают upload и download, будьте внимательны

Время балансировать.

/ip firewall mangle
add action=mark-routing chain=prerouting comment="PCC Balance 2:2" disabled=\
    yes dst-address-list=!FIX-Balance dst-address-type=!local \
    new-routing-mark=rtab-ISP1 per-connection-classifier=\
    both-addresses-and-ports:2/0 src-address-list=Internet_accsec
add action=mark-routing chain=prerouting comment="PCC Balance 2:1" disabled=\
    yes dst-address-list=!FIX-Balance dst-address-type=!local \
    new-routing-mark=rtab-ISP2 per-connection-classifier=\
    both-addresses-and-ports:2/1 src-address-list=Internet_accsec
В данный момент они выключены, так как как отсутствует провайдер второй, а балансировка идет между ним и LTE который сейчас в обслуживании (а статью все же выпустить нужно)
В данный момент они выключены, так как как отсутствует провайдер второй, а балансировка идет между ним и LTE который сейчас в обслуживании (а статью все же выпустить нужно)

И таких правила 2 штуки, все описывать в картинках не буду, но объясню что происходит.

Правило звучит так - весь трафик из листа Internet Accses который направляется на/в адреса или сети которые НЕ содержаться в листе FIX-Balance , 2/0 части (об этом чуть ниже) по адресам и портам назначения и источника, не локальные сети (extra) направляем в таблицу провайдера 1. Второе правило звучит так же только будет 2/1 и провайдера 2.

Что за FIX Balance лист такой ? В нем находятся почти все локальные сети которые используются у меня, иначе они будут подвержены делению и перемаркировке, то есть наш роутер понятия не имеет что есть lan, а что есть wan и описывать все сети wan куда нужно делить трафик будет немного тяжеловато, поэтому поэтому проще исключить локальные. Кто-то может возразить, но у тебя же уже указано Extra - DST !local, согласен, но как мне показалось в какой-то из версий 7.15-1.16 это не работало, или работало с глюками, поэтому лишняя перестраховка.

Данное деление трафика симметрично, а можно сделать его ассиметричным, например:

Мы делаем 10 правил где action mark routing ISP 1, а внутри них параметр PCC будет такой 10/0, 10/1, 10/2, 10/3, 10/4, 10/5, 10/6, 10/7, 10/8, а 10/9 будет смотреть на второго провайдера (action mark routing ISP 2) и тогда получиться, что 9 пакетов из 10 будет направлено в первого провайдера, а оставшаяся часть 1/10 будет направлена во второго.

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

Балансировать можно так же с помощью Nth (в Extra) но это все зависит от типа трафика в вашей сети, качества каналов, подбирать сугубо экспериментально.

Что с 3 провайдером ?

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

Всем спасибо, кто дочитал до конца, надеюсь для вас это статья станет хорошей подсказкой к ответу на вопрос - как сделать классную и крутую сеть на базе Mikrotik. Отдельно хочу сказать спасибо Роману Козлову и его бесплатным тренингам, как очным, так и онлайн.

Если вам нужна моя помощь в настройке, то всегда можете связаться со мной в Телеграм @nsanyok98 по возможности отвечу всем.

Комментарии (0)