Страница 13 из 14
Re: Два провайдера: отказоустойчивость и распределение нагрузки
Добавлено: 05 фев 2017, 22:10
regbyl
Спасибо автору за столь подробную статью.
Прочитав ее от корки до корки, я разобрался как работает маркировка соединений и трафик перенаправляется по IP из Address Lists, спасибо еще раз автору.
Но хочу попросить уважаемых форумчан помочь в следующей ситуации:
1) есть скоростное 100Мб соединение, но ограниченное по трафику (белый IP для RDP) - далее WAN
2) есть безлимитное LTE соединение со скоростью 5-10 Мб - далее LTE
3) на WAN безлимитный доступ ко всем службам Яндекса.
Задача перенаправить все запросы на *.yandex.ru, *.ya.ru, *yadi.sk и т.п. через WAN, т.е. нужно направление не по IP, а по части доменного имени.
Можно конечно вписать в Address Lists все серверы Яндекса, но их во первых МНОГО, они не имеют общей маски да еще и меняются при каждом запросе,
да и не смог найти на просторах интернета подобного решения или хотя-бы список IP масок Яндекса.
Re: Два провайдера: отказоустойчивость и распределение нагрузки
Добавлено: 06 фев 2017, 06:54
DmNuts
regbyl, в Address Lists можно добавлять доменные имена, роутер сам будет резолвить их, наполняя Address List всеми IP адресами. Для Яндекса такой вариант должен подойти, вряд ли они делят IP адреса с кем-то ещё.
Re: Два провайдера: отказоустойчивость и распределение нагрузки
Добавлено: 07 фев 2017, 18:20
regbyl
DmNuts писал(а):regbyl, в Address Lists можно добавлять доменные имена, роутер сам будет резолвить их, наполняя Address List всеми IP адресами. Для Яндекса такой вариант должен подойти, вряд ли они делят IP адреса с кем-то ещё.
Маска для IP адреса в Address List, сбила с толку. Как попробую, обязательно отпишусь.
Re: Два провайдера: отказоустойчивость и распределение нагрузки
Добавлено: 14 фев 2017, 09:40
Spiller
Как в терминале командой изменить значение new-routing-mark в mangle ?
Re: Два провайдера: отказоустойчивость и распределение нагрузки
Добавлено: 14 фев 2017, 14:18
DmNuts
Spiller писал(а):Как в терминале командой изменить значение new-routing-mark в mangle ?
Код: Выделить всё
/ip firewall mangle print
Flags: X - disabled, I - invalid, D - dynamic
0 ...
1 chain=prerouting action=mark-routing new-routing-mark=isp1 passthrough=yes src-address=192.168.50.0/24
Допустим, нужное правило под номером 1. Далее:
Код: Выделить всё
/ip firewall mangle set 1 new-routing-mark=isp2
Либо использовать конструкцию set [find new-routing-mark=isp1] new-routing-mark=isp2. Поиск удобно совершать по комментариям, заранее навешанным на правила.
Re: Два провайдера: отказоустойчивость и распределение нагрузки
Добавлено: 16 фев 2017, 07:56
Spiller
DmNuts, спасибо.
А не подскажите как сделать так, что бы для определенного адрес листа скорость при скачивании суммировалась. Например если есть 2 провайдера по 5 Мбит, общая скорость скачивания была 10?
Re: Два провайдера: отказоустойчивость и распределение нагрузки
Добавлено: 16 фев 2017, 08:21
DmNuts
Когда несколько каналов с одинаковой скоростью, подойдёт PCQ балансировка. На первых страницах этого топика очень подробно описано.
Re: Два провайдера: отказоустойчивость и распределение нагру
Добавлено: 16 фев 2017, 10:06
Spiller
Barvinok писал(а):Отступление 4
Рассмотрим два правила из статьи о PCC: Код: Выделить всё
add action=mark-connection chain=prerouting dst-address-type=!local in-interface=ether2 new-connection-mark=l2tp-out1_conn passthrough=yes per-connection-classifier=src-address:2/0 src-address=172.16.0.0/16
add action=mark-connection chain=prerouting dst-address-type=!local in-interface=ether2 new-connection-mark=l2tp-out2_conn passthrough=yes per-connection-classifier=src-address:2/1 src-address=172.16.0.0/16
add action=mark-routing chain=prerouting connection-mark=l2tp-out1_conn in-interface=ether2 new-routing-mark=to_l2tp-out1 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=l2tp-out2_conn in-interface=ether2 new-routing-mark=to_l2tp-out2 passthrough=yes
В первом правиле мы указываем какое действие в какой цепочке мы будем производить (action=mark-connection chain=prerouting). Далее следуют [b]признаки, по которым мы определяем соединение, должное быть помеченным: вид адреса назначения - любой, кроме адреса самого маршрутизатора (dst-address-type=!local), входящий интерфейс - ether2 (in-interface=ether2), адрес источника - любой компьютер из подсети 172.16.0.0/16. Далее следует чудная команда: per-connection-classifier=src-address:2/0. Так мы разбиваем поток пакетов, соответствующих этим признакам, надвое.
После чего - собственно действие: одной части потока
назначаем метку l2tp-out1_conn, а второй l2tp-out2_conn.
Вот тут не понятно про per-connection-classifier. Разбили пакеты, и что дальше? Почему в первом случае 2/0 а во втором 2/1? Что происходит после разбиения?
И главный вопрос, можно ли применить правило суммирования пропускной способности нескольких каналов только для определенного acl?
Re: Два провайдера: отказоустойчивость и распределение нагру
Добавлено: 16 фев 2017, 10:29
DmNuts
Spiller писал(а):Вот тут не понятно про per-connection-classifier. Разбили пакеты, и что дальше? Почему в первом случае 2/0 а во втором 2/1? Что происходит после разбиения?
И главный вопрос, можно ли применить правило суммирования пропускной способности нескольких каналов только для определенного acl?
2/0 и 2/1 - потому что логика PCQ требует этого. При трёх каналах было бы 3/0, 3/1, 3/2.
После разбиения следует mark-routing, пакеты уходят в разные каналы.
Src. Address List можно указать на закладке Advanced.
Кстати, другие потребители трафика (кроме указанного Address List'а) есть в сети?
Re: Два провайдера: отказоустойчивость и распределение нагрузки
Добавлено: 16 фев 2017, 14:17
Spiller
DmNuts, Есть:
1. ISP1
2. ISP2
3. ISP3
4. LAN1
5. LAN2
6. LAN3
1. lan1 ходит через isp1, lan2 через isp2, когда isp1 или isp2 падает идет переключение на isp3 и когда пинг через того кто упал возобновляется возвращается к изначальному варианту (это всё настроил).
2. lan3 (ip acl) это торрентокачалка. Иногда есть необходимость срочно выкачать определенные файлы. Тут то и нужна нагрузка сразу на все каналы, суммируя ширину каждого канала.
Вторая "хотелка" может сосуществовать с первой в рамках одной (общей) таблицы mangle?