Использование нескольких WAN-подключений в режиме балансировки (настройка через CLI)
Важно
В данной статье показана настройка роутеров с версией KeeneticOS 2.14 - 3.8. Начиная с версии KeeneticOS 3.9 реализован режим интеллектуальной балансировки и в веб-интерфейс добавлена возможность создания новой политики многопутевой передачи, которая позволит оптимизировать использование нескольких интернет-соединений, ускорить и сбалансировать трафик. Для получения информации по настройке через веб-интерфейс, обратитесь к инструкции "Многопутевая передача (суммирование пропускной способности нескольких интернет-соединений)".
Начиная с версии операционной системы KeeneticOS 2.14 возможно использовать одновременно несколько WAN-подключений в режиме балансировки. В балансировке могут участвовать любые интерфейсы WAN — проводной, модемный, DSL, WISP, PPPoE и др.
Примечание
Наиболее эффективно балансировка будет применяться для работы многопоточного трафика (соединений типа "точка — многоточка" или "один ко многим"), например, для torrent-трафика, P2P или других протоколов, которые открывают множество соединений не требующих сохранения адреса источника. В этом случае соединения будут распределяться по разным подключениям.
Для соединений типа "точка — точка" или "один к одному" балансировка не будет работать корректно, ведь большинство хостов отбросит пакеты одной сессии, если они придут с разных IP-адресов. Например, интернет-сайт или веб-сервис, работающий по протоколу https и открывающий множество сессий, может отказаться работать, т.к. если часть сессий будет идти по разным провайдерам, это вызовет срабатывание безопасности и ошибки для протокола https.
Далее рассмотрим вариант включения режима балансировки в роутере (с помощью специальных команд) на примере работы протокола BitTorrent (для многопоточного трафика легче продемонстрировать работу данного режима). Данный способ актуален для моделей, в которых отсутствует настройка многопутевой передачи через веб-интерфейс.
- Сначала в веб-интерфейсе нужно настроить отдельный "Профиль доступа в Интернет". На странице "Приоритеты подключений" на вкладке "Профили доступа в Интернет" нужно нажать "+ Добавить профиль" и указать имя нового профиля, например - torrent-multipath. Здесь профиль — это набор правил, политик маршрутизации, которые применяются к трафику хостов, когда они обращаются в Интернет.- Важно- Режим балансировки не работает в Основном профиле, только в Дополнительных профилях. - В правой колонке "Подключение" нужно отметить интернет-подключения (которые будут использованы в профиле - torrent-multipath) и сохранить настройки. В нашем примере это будут интернет-подключения Backup connection и Main connection.
- Там же, на странице "Приоритеты подключений", перейдите на вкладку "Привязка устройств к профилям". Опция "Показать все объекты" позволяет отобразить все зарегистрированные в локальных сегментах устройства, и также сами настроенные на интернет-центре локальные сегменты сети. - Удерживая клавишу - Ctrlна клавиатуре, при помощи мыши, можно выбрать несколько хостов. Переместите нужный хост(ы) в созданный профиль- torrent-multipath.
- Определяем приоритеты для основного и резервного подключения. - Важно- Соотношение загруженности определяется значением приоритета - ip globalинтерфейсов в рамках профиля подключения. Приоритет резервного подключения должен быть ниже на единицу (на одну цифру) значения приоритета основного подключения. В нашем примере используются приоритеты- 65533и- 65532.- Для работы балансировки потребуется выставить значение - ip globalдля Main и Backup через интерфейс командной строки (CLI) роутера. В нашем примере интерфейс- GigabitEthernet0/Vlan4используется для интернет-подключения Backup connection (приоритет 65533) и интерфейс- ISPиспользуется для интернет-подключения Main connection (приоритет 65532):- (config)> - interface GigabitEthernet0/Vlan4Core::Configurator: Done. (config-if)>- ip global 65533Network::Interface::Ip: "GigabitEthernet0/Vlan4": global priority is 65533. (config-if)>- exitCore::Configurator: Done. (config)>- system configuration saveCore::ConfigurationSaver: Saving configuration.- Интерфейс - GigabitEthernet0/Vlan4— для- 1 Гбит/сили- FastEthernet0/Vlan14— для- 100 Мбит/с.- (config)> - interface ISPCore::Configurator: Done. (config-if)>- ip global 65532Network::Interface::Ip: "ISP": global priority is 65532. (config-if)>- exitCore::Configurator: Done. (config)>- system configuration saveCore::ConfigurationSaver: Saving configuration.
- Включаем режим балансировки для профиля - torrent-multipath:- (config)> - ip policy Policy5Network::PolicyTable: Policy "Policy5" exists. (config-policy)>- multipathNetwork::PolicyTable: "Policy5": enable multipath. (config-policy)>- exitCore::Configurator: Done. (config)>- system configuration saveCore::ConfigurationSaver: Saving configuration.- В нашем примере имя профиля - torrent-multipathсоответствует имени интерфейса- Policy5:- (config)> - show ip policypolicy, 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 connection и Backup connection до - 100 Мбит/с=- 12.5 Мбайт/с.- Запускаем закачку файла и в торрент-клиенте видим, что скорость загрузки суммируется с двух интернет-каналов. В нашем примере получаем скорость примерно до - 179,2 Мбит/с=- 22,4 Мбайт/с. Скорость загрузки суммируется с двух профилей. - Для - отключениярежима балансировки потребуется выполнить следующие команды через CLI роутера:- (config)> - ip policy Policy5Network::PolicyTable: Policy "Policy5" exists. (config-policy)>- no multipathNetwork::PolicyTable: "Policy5": enable multipath. (config-policy)>- exitCore::Configurator: Done. (config)>- system configuration saveCore::ConfigurationSaver: Saving configuration...
Подсказка
Если у вас один интернет-канал 100 Мбит/с, а второй интернет-канал 200 Мбит/с, то нужно первому интерфейсу подключения (каналу), установить значение ip global равное 10000, а второму интернет-подключению (каналу), установить значение ip global равное 20000, и тогда балансировка будет работать в отношении 1:2 и суммарная скорость возрастет до 300 Мбит/с.
Примечание
Режим балансировки также работает для встроенного в ОС BitTorrent-клиента Transmission. Назначить профиль доступа для клиента BitTorrent можно командой torrent policy <профиль_доступа>