Вопрос: Как настроить резервирование полосы пропускания для определенного трафика на устройстве серии DFL?

Ответ: 

Как настроить резервирование полосы пропускания для определенного трафика на устройстве серии DFL.

Перед началом настройки вам необходимо знать реальную полосу пропускания вашего канала. На устройствах серии DFL приоретизация начинает работать только при достижении установленного значения трафика на DFL, если это значение выше пропускной способности канала, то приоретизация работать не будет. Пример настройки будет выполнен на DFL-870

При настройке приоретизации следуем помнить и учитывать!!!

  • Правила приоретизации проверяются по очереди сверху вниз.
  • Правила приоретизации/шейпинга работает только для установленных и контролируемых соединений, т. е. Приоретизация не будет работать на трафике который обрабатывается по правилам forward fast
  • Каждому правилу приоретизации должно соответствовать правило разрешающее трафик (например для трафика IMAP должно быть создано правило/политика IMAP в разделе IP правил)

Пример настройки будет приводится по следующим условиям.

  • Ширина канала интернет 10 мегабит.
  • Высший приоритет для трафика IMAP, гарантированная полоса пропускания для данного трафика должна быть не менее 1,5 мегабита, но данный трафик не должен занимать полосу более 3х мегабит при любых условаиях.
  • Для трафика http и https должен быть высокий приоритет, гарантированная полоса пропускания для данного трафика должна быть не менее 1 мегабита, но данный трафик должен занимать полосу не более 5 мегабит при любых условиях.
  • Остальной трафик обрабатывается с низшим приоритетом.

Данный пример предполагает, что IP правила уже настроены. Для данного примера необходимы следующие правила:

  1. IMAP
  2. web_traffic (HTTP/HTTPS)
  3. ftp_allow (правило использующее ALG для правильного пропуска FTP трафика)
  4. All-services (весь остальной трафик).

Пример можно посмотреть на скриншоте ниже:

Приоретизация/шейпинг на серии DFL работает через Pipes. Для трафика где есть ограничение на пропускную способность будет использоваться «chain pipes» цыпочка из pipe, первая pipe в цепочки ограничивает максимальную полосу пропускания для конкретного трафика, а вторая pipe гарантирует полосу пропускания для данного типа трафика, а так же в ней задается полная пропускная способность канала. В случае когда не надо ограничивать для конкретного трафика максимальную пропускную способность, а только гарантировать полосу пропускания используется только один pipe (обычно total). Серия DFL позволяет приоретизировать трафик асимметрично (разная скорость на upload/download), по этой причине для различного трафика должны быть созданы pipes отдельно на upload и download.

Создание Pipes.

Создадим Pipe Total_in и Total_out, в данных pipes так же укажем гарантированную полосу пропускания для нужного трафика и значение total которое чуть меньше значения пропускной способности канала в интернет. Это необходимо для того, чтоб DFL сама выстраивала очередь на себе, и начала приоретизировать трафик. На DFL есть 8 «уровней» приоритета, 0 — минимальный, 7 — максимальный.

Пример для web интерфейса:

Пройдите Policies → Traffic Management → Pipes, нажмите кнопку Add из выпавшего меню выберите Pipe.

В поле Name укажите Total_in, затем перейдите во вкладу Pipe Limits.

В полях «Precedences: Kilobits per second» укажите следующие значения:
7 — 1500
5 — 5000
Total — 10000

И нажмите Ок.

Пример для CLI.

Выполните в cli команду:

add Pipe Total_in LimitKbps7=1500 LimitKbps5=5000 LimitKbpsTotal=10000

Создайте еще один Pipe с названием Total_out с идентичными значениями приоритетов.

Теперь необходимо создать Pipes для трафика где необходимо ограничить максимальную полосу пропускания. Для каждого вида трафика создаются две Pipe.

Создание Pipes для IMAP.

Пример для web интерфейса.

Пройдите Policies → Traffic Management → Pipes, нажмите кнопку Add из выпавшего меню выберите Pipe.

В поле Name укажите IMAP_IN, затем перейдите во вкладу Pipe Limits.

В поле Total «Precedences: Kilobits per second» укажите 3000 и нажмите Ок.

Пример для CLI

Выполните команду в cli

add Pipe IMAP_IN LimitKbpsTotal=3000

Создайте еще один Pipe с названием IMAP_OUT с идентичными значениями приоритетов.

Создание Pipes для web_traffic.

Пройдите Policies → Traffic Management → Pipes, нажмите кнопку Add из выпавшего меню выберите Pipe.

В поле Name укажите web_traffic_in, затем перейдите во вкладу Pipe Limits.

В поле Total «Precedences: Kilobits per second» укажите 5000 и нажмите Ок.


Пример для CLI.

Выполните в cli команду:

add Pipe web_traffic_in LimitKbpsTotal=5000

Создайте еще один Pipe с названием web_traffic_out с идентичными значениями приоритетов.

Итого, должно получиться 6 pipes как показано на скриншоте ниже:

Для того, чтоб приоретизация заработала, необходимо создать правила где будут использоваться созданные ранее Pipes.

Создание правила для IMAP.

Пример для web интерфейса.

Пройдите Policies → Traffic Management → Pipe Rules, нажмите кнопку Add из выпавшего меню выберите Pipe Rule.

Во вкладке General укажите следующие значения:

Name: IMAP
Service: IMAP
Source Interface: lan1
Source Network: lan1_net
Destination Interface: wan1
Destination Network: all-nets


Перейдите во вкладку Traffic Shaping и выставите следующие параметры:

Forward chain:

IMAP_OUT
total_out
Return chain:

IMAP_IN
total_in
Precedence: Use Fixed
Fixed Precedence: 7

Нажмите Ок.

Пример для CLI.

Выполните в cli команду:

add PipeRule Service=imap SourceInterface=lan1 SourceNetwork=InterfaceAddresses/lan1_net DestinationInterface=wan1 DestinationNetwork=all-nets Name=imap ForwardChain=IMAP_OUT,Total_out ReturnChain=IMAP_IN,Total_in Precedence=Fixed FixedPrecedence=7

Создание правила для web_traffic.

Пример для web интерфейса.

Пройдите Policies → Traffic Management → Pipe Rules, нажмите кнопку Add из выпавшего меню выберите Pipe Rule.

Во вкладке General укажите следующие значения:

Name: web_traffic
Service: http-all
Source Interface: lan1
Source Network: lan1_net
Destination Interface: wan1
Destination Network: all-nets


Перейдите во вкладку Traffic Shaping и выставите следующие параметры:

Forward chain:

web_traffic_out
total_out
Return chain:

web_traffic_in
total_in
Precedence: Use Fixed
Fixed Precedence: 5

Нажмите Ок.

Пример для CLI.

Выполните в cli команду:

add PipeRule SourceInterface=lan1 SourceNetwork=InterfaceAddresses/lan1_net DestinationInterface=wan1 DestinationNetwork=all-nets Service=http-all Name=web_traffic ForwardChain=web_traffic_out,Total_out ReturnChain=web_traffic_in,Total_in Precedence=Fixed FixedPrecedence=5

Создание правила для all_services

Пример для web интерфейса.

Пройдите Policies → Traffic Management → Pipe Rules, нажмите кнопку Add из выпавшего меню выберите Pipe Rule.

Во вкладке General укажите следующие значения:

Name: all_services
Service: all
Source Interface: lan1
Source Network: lan1_net
Destination Interface: wan1
Destination Network: all-nets


Перейдите во вкладку Traffic Shaping и выставите следующие параметры:

Forward chain: total_out

Return chain: total_in

Precedence: Use Fixed
Fixed Precedence: 0

Нажмите Ок.

Пример для CLI.

Выполните в cli команду:

add PipeRule SourceInterface=lan1 SourceNetwork=InterfaceAddresses/lan1_net DestinationInterface=wan1 DestinationNetwork=all-nets Service=all_services Name=all_services ForwardChain=Total_out ReturnChain=Total_in Precedence=Fixed FixedPrecedence=0

Сохраните и активируйте настройки.