Использование нескольких WAN-подключений в режиме балансировки
Начиная с версии операционной системы KeeneticOS 2.14 стало возможно использовать одновременно несколько WAN-подключений в режиме балансировки. В балансировке могут участвовать любые интерфейсы WAN — проводной, модемный, DSL, WISP, PPPoE и др.
Примечание
Наиболее эффективно балансировка будет применяться для работы многопоточного трафика (соединений типа "точка — многоточка" или "один ко многим"), например, для torrent-трафика, P2P или других протоколов, которые открывают множество соединений не требующих сохранения адреса источника. В этом случае соединения будут распределяться по разным подключениям.
Для соединений типа "точка — точка" или "один к одному" балансировка не будет работать корректно, ведь большинство хостов отбросит пакеты одной сессии, если они придут с разных IP-адресов. Например, интернет-сайт или веб-сервис, работающий по протоколу https и открывающий множество сессий, может отказаться работать, т.к. если часть сессий будет идти по разным провайдерам, это вызовет срабатывание безопасности и ошибки для протокола https.
Ниже рассмотрим вариант включения режима балансировки в роутере на примере работы протокола BitTorrent (для многопоточного трафика легче продемонстрировать работу данного режима).
Нужно настроить отдельный "Профиль доступа в Интернет". На странице "Приоритеты подключений" на вкладке "Профили доступа в Интернет" нужно нажать "+ Добавить профиль" и указать имя нового профиля, например
torrent-multipath
. Здесь профиль — это набор правил, политик маршрутизации, которые применяются к трафику хостов, когда они обращаются в Интернет.Важно
Режим балансировки не работает в Основном профиле, только в Дополнительных профилях.
В нашем примере добавленные подключения Main и Backup предназначены для предоставления доступа в Интернет и максимизации пропускной способности в момент загрузки файла для протокола BitTorrent.
В правой колонке "Подключение" нужно отметить только это подключение и сохранить настройки.
Здесь же, на странице "Приоритеты подключений", перейдите на вкладку "Привязка устройств к профилям". Опция "Показать все объекты" позволяет отобразить все зарегистрированные в локальных сегментах устройства, и также сами настроенные на интернет-центре локальные сегменты сети.
Удерживая клавишу
Ctrl
на клавиатуре, при помощи мыши, можно выбрать несколько объектов. В нашем примере требуется только один объект (хостMYHOST
) переместить в добавленный ранее профильtorrent-multipath
.Определяем приоритеты для основного и резервного подключения.
Важно
Cоотношение загруженности определяется значением приоритета
ip global
интерфейсов в рамках профиля подключения. Приоритет резервного подключения должен быть ниже на единицу (на одну цифру) значения приоритета основного подключения. В нашем примере используются приоритеты65533
и65532
.Для работы балансировки потребуется выставить значение
ip global
для Main и Backup через интерфейс командной строки (CLI) роутера. В нашем примере интерфейсGigabitEthernet0/Vlan4
с именем Main иISP
с именем Backup:(config)>
interface GigabitEthernet0/Vlan4
Core::Configurator: Done. (config-if)>ip global 65533
Network::Interface::Ip: "GigabitEthernet0/Vlan4": global priority is 65533. (config-if)>exit
Core::Configurator: Done. (config)>system configuration save
Core::ConfigurationSaver: Saving configuration.Интерфейс
GigabitEthernet0/Vlan4
— для1 Гбит/с
илиFastEthernet0/Vlan14
— для100 Мбит/с
.(config)>
interface ISP
Core::Configurator: Done. (config-if)>ip global 65532
Network::Interface::Ip: "ISP": global priority is 65532. (config-if)>exit
Core::Configurator: Done. (config)>system configuration save
Core::ConfigurationSaver: Saving configuration.Включаем режим балансировки для профиля
torrent-multipath
:(config)>
ip policy Policy5
Network::PolicyTable: Policy "Policy5" exists. (config-policy)>multipath
Network::PolicyTable: "Policy5": enable multipath. (config-policy)>exit
Core::Configurator: Done. (config)>system configuration save
Core::ConfigurationSaver: Saving configuration.В нашем примере имя профиля
torrent-multipath
соответствует имени интерфейсаPolicy5
:(config)>
show ip policy
policy, name = Policy5, description = torrent-multipath: mark: ffffd05 table: 47Не выходя из интерфейса командой строки проверяем таблицу маршрутизации.
Нумерация профилей доступа в Интернет (
ip policy PolicyX
) начинается со значения42
.В нашем примере указан профиль
ip policy Policy5
с нумерацией47
:(config)>
show ip route table 47
================================================================================ Destination Gateway Interface Metric ================================================================================ 0.0.0.0/0 192.168.209.1 GigabitEthernet0/Vlan4 253 0.0.0.0/0 193.0.174.1 ISP 253 10.1.30.0/24 0.0.0.0 Guest 0 151.236.14.119/32 192.168.209.1 GigabitEthernet0/Vlan4 0 172.16.82.0/24 0.0.0.0 Wireguard2 0 192.168.3.0/24 0.0.0.0 Bridge2 0 192.168.22.0/24 0.0.0.0 Home 0 192.168.209.0/24 0.0.0.0 GigabitEthernet0/Vlan4 0 193.0.174.0/24 0.0.0.0 ISP 0 193.0.175.0/25 193.0.174.10 ISP 0 193.0.175.22/32 193.0.174.1 ISP 0 193.187.91.26/32 192.168.209.1 GigabitEthernet0/Vlan4 0 194.32.146.82/32 192.168.209.1 GigabitEthernet0/Vlan4 0После включения режима балансировки, в рамках Дополнительного профиля добавляется маршрут по умолчанию для интерфейсов, которые добавлены в данный профиль. Другими словами, если два интерфейса провайдера находятся в таблице, это означает, что multipath работает.
Проверяем скорость Приема на подключенных интерфейсах в веб-конфигураторе на главной странице.
Канальная скорость профилей Main и Backup до
100 Мбит/с
=12.5 Мбайт/с
:Скорость загрузки суммируется с двух профилей, получаем до
22,37 Мбайт/с
=178,96 Мбит/с
.Для
отключения
режима балансировки потребуется выполнить следующие команды через CLI роутера:(config)>
ip policy Policy5
Network::PolicyTable: Policy "Policy5" exists. (config-policy)>no multipath
Network::PolicyTable: "Policy5": enable multipath. (config-policy)>exit
Core::Configurator: Done. (config)>system configuration save
Core::ConfigurationSaver: Saving configuration...
Подсказка
Если у вас один интернет-канал 100 Мбит/с
, а второй интернет-канал 200 Мбит/с
, то нужно первому интерфейсу подключения (каналу), установить значение ip global
равное 10000
, а второму интернет-подключению (каналу), установить значение ip global
равное 20000
, и тогда балансировка будет работать в отношении 1:2
и суммарная скорость возрастет до 300 Мбит/с
.
Примечание
Режим балансировки также работает для встроенного в KeeneticOS BitTorrent-клиента Transmission. Назначить профиль доступа для клиента BitTorrent можно командой torrent policy <профиль_доступа>