Инструменты пользователя

Инструменты сайта

Перевод этой страницы:

ru:shaperbasic

accel-ppp поддерживает управление шейпером tbf/htb.
Для включения данного функционала, в конфигурационном файле необходимо раскомментировать shaper в секции [modules].

Присутствует возможность принимать атрибуты различных форматов: rate, down-rate/up-rate и в формате Сisco. Примечание: Значения должны быть в килобитах (кроме Сisco).
Пример:
Filter-Id=1000 (Ограничивает полосу пропускания входящую и исходящую на 1000Kbit)
Filter-Id=2000/3000 (Входящая скорость 2000Kbit, исходящая 3000Kbit)
Для использования собственного радиус атрибута необходимо указать его в параметре attr. Пример:

[shaper]
attr=My-Custom-Rate-Attribute

Примечание: Данный атрибут должен быть указан в словаре, по умолчанию словарь расположен /usr/local/share/accel-ppp/radius/dictionary

Чтобы указать различные атрибуты для ограничение скорости входящей и исходящей, необходимо использовать attr-down и attr-up.
Пример:

[shaper]
attr-down=PPPD-Downstream-Speed
attr-up=PPPD-Upstream-Speed

Для использования атрибутов в формате Cisco, в секции shaper необходимо указать:

[shaper]
vendor=Cisco
attr=Cisco-AVPair

И отправлять два атрибута:
Cisco-AVPair=lcp:interface-config#1=rate-limit input 2000000 8000 8000 conform-action transmit exceed-action drop (2000Kbit исходящая скорость и 8Kb burst)
Cisco-AVPair=lcp:interface-config#1=rate-limit output 2000000 8000 8000 conform-action transmit exceed-action drop (2000Kbit входящая скорость и 8Kb burst)

Вы можете задать метод работы шейпера из предложенных вариантов: tbf/police, htb/police, htb/htb.
Пример: up-limiter должен быть police или htb
down-limiter должен быть tbf или htb

При использовании ограничения исходящей скорости средствами htb вам потребуется модуль ядра ifb.

Для создания более сложных схем можно использовать модуль pppd_compat (через скрипты ip-up/ip-down).

Посмотреть скорости, выданные клиентам

# /usr/bin/accel-cmd -p 2001 show sessions ifname,rate-limit

 ifname | rate-limit
--------+-------------
 ppp50  | 10240/10240
 ppp40  | 10240/10240
 ppp51  | 51200/51200

фактические значения в системе

вылет к клиенту

# tc qdisc show dev ppp50

qdisc tbf 1: root refcnt 2 rate 10240Kbit burst 1250Kb lat 50.0ms
qdisc ingress ffff: parent ffff:fff1 ----------------

влет от клиента

# tc -s -d filter show dev ppp50 parent ffff:

filter protocol all pref 100 u32
filter protocol all pref 100 u32 fh 800: ht divisor 1
filter protocol all pref 100 u32 fh 800::1 order 1 key ht 800 bkt 0 flowid :1
  match 00000000/00000000 at 0
        action order 1:  police 0x4 rate 10240Kbit burst 1250Kb mtu 2Kb action drop overhead 0b linklayer unspec
 ref 1 bind 1
        Action statistics:
        Sent 2100145688 bytes 20293396 pkt (dropped 0, overlimits 0 requeues 0)
        backlog 0b 0p requeues 0
ru/shaperbasic.txt · Последние изменения: 2020/02/28 02:15 — alexander