Skip to main content

Інструкція користувача

Використання кількох WAN-з'єднань у режимі балансування навантаження (налаштування з CLI)

Важливо

У цій статті показано, як налаштувати маршрутизатори з KeeneticOS 2.14 - 3.8. Починаючи з версії KeeneticOS 3.9, було реалізовано режим інтелектуального балансування та додано нову політику Multipathing до вебінтерфейсу для оптимізації використання кількох підключень до Інтернету, прискорення та балансування трафіку. Інформацію про налаштування через вебінтерфейс можна знайти у статті 'Мультишляхова передача (додавання пропускної спроможності декількох інтернет-з'єднань)'.

Маршрутизатори Keenetic можуть використовувати кілька WAN-з'єднань одночасно в режимі балансування. Будь-який WAN-інтерфейс — дротовий, модем, DSL, WISP, PPPoE тощо — може брати участь у балансуванні.

Примітка

Балансування буде найбільш ефективним для багатопотокового трафіку (з'єднання «точка-багато точок» або «один до багатьох»), такого як торрент-трафік, P2P або інші протоколи, які відкривають кілька з'єднань, що не вимагають збереження вихідної адреси. У цьому випадку з'єднання будуть розподілені по різних каналах.

Балансування не працюватиме належним чином для з'єднань «точка-точка» або «один до одного», оскільки більшість хостів відкидатимуть пакети з того самого сеансу, якщо вони надходять з різних IP-адрес. Наприклад, вебсайт або вебслужба з підтримкою HTTPS, що відкриває кілька сеансів, може не працювати, оскільки, якщо деякі сеанси будуть спрямовані до різних провайдерів, це спричинить помилки безпеки для протоколу HTTPS.

Нижче, як приклад, ми ввімкнемо режим балансування для протоколу BitTorrent (на прикладі багатопотокового трафіку легше продемонструвати роботу цього режиму). Цей метод актуальний для моделей, у яких немає налаштування multipath через вебінтерфейс.

  1. Спочатку вам потрібно налаштувати окрему 'Політику підключення до Інтернету' у вебінтерфейсі. На сторінці 'Пріоритети підключень', на вкладці 'Політики підключення до Інтернету', вам потрібно натиснути '+ Додати політику' та вказати назву нової політики, наприклад, torrent-multipath. Тут політика — це набір правил та політик маршрутизації, що застосовуються до трафіку хостів, коли вони отримують доступ до Інтернету.

    Важливо

    Режим балансування не працює в політиці за замовчуванням, а лише в додаткових політиках.

    У правій колонці 'З'єднання' вам потрібно позначити підключення до Інтернету (які будуть використовуватися в профілі torrent-multipath) та зберегти налаштування. У нашому прикладі це будуть Резервне підключення та Основне підключення.

  2. Тут, на сторінці 'Пріоритети підключень', натисніть на вкладку 'Прив'язка пристроїв до політик'. Опція 'Показати всі об'єкти' дозволяє відобразити всі пристрої, зареєстровані в локальних сегментах, та сегменти локальної мережі, налаштовані на маршрутизаторі.

    Утримуючи клавішу Ctrl на клавіатурі, за допомогою миші можна вибрати кілька пристроїв одночасно. Перемістіть бажаний хост(и) до створеного профілю torrent-multipath.

  3. Пріоритетизація Основного та Резервного підключень.

    Важливо

    Коефіцієнт навантаження визначається значенням пріоритету інтерфейсів ip global в рамках політики підключення. Пріоритет Резервного підключення має бути на одиницю нижчим за пріоритет Основного підключення. У нашому прикладі використовуються пріоритети 65533 та 65532.

    Щоб балансування запрацювало, вам потрібно буде встановити значення ip global для Основного та Резервного підключень через інтерфейс командного рядка (CLI) маршрутизатора. У нашому прикладі для Резервного підключення (пріоритет 65533) використовується інтерфейс GigabitEthernet0/Vlan4, а для Основного підключення (пріоритет 65532) — інтерфейс ISP:

    (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.
  4. Увімкніть режим балансування для політики 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
  5. Тут, в інтерфейсі командного рядка, перевірте таблицю маршрутизації.

    Нумерація політик підключення до Інтернету (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 працює.

  6. Перевірте швидкість Завантаження на підключених інтерфейсах у вебінтерфейсі на сторінці Системний монітор.

    Швидкість каналу Основного підключення та Резервного підключення до 100 Мбіт/с = 12,5 Мбайт/с.

    Розпочніть завантаження файлу, і в торрент-клієнті ми побачимо, що швидкість завантаження підсумовується з двох інтернет-каналів. У нашому прикладі ми отримуємо швидкість до 179,2 Мбіт/с = 22,4 Мбайт/с. Швидкість завантаження підсумовується з двох профілів.

    multipath-torrent-downloading.png

    Щоб вимкнути режим балансування, потрібно виконати наступні команди через 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 за допомогою команди torrent policy <connection_policy>