Это старая версия документа.


FreeBSD ng_car шейпер

Описание принципов работы шейпера FreeBSD + ng_car

1. Поднятия правил ipfw заворота в ng_car шейпер осуществляется скриптом misc/ipfw/shaper_start.sh

Пример поднятых правил:

# Локальный трафик
09000    0       0 netgraph tablearg ip from table(12) to table(2) out via lnc0
09010    0       0 netgraph tablearg ip from table(2) to table(13) out via ng*
# Глобальный класс трафика
10000    0       0 netgraph tablearg ip from table(10) to any out via lnc0
10010    0       0 netgraph tablearg ip from any to table(11) out via ng*

Описание таблиц:

2 Список сетей для локального класcа трафика с номером 2. Номера формируются соответсвенно с номером класса трафика в журнале классов трафика.
10 список пользователей которые попадают в правила шейпера для исходящего глобального трафика
11 список пользователей которые попадают в правила шейпера для входящего глобального трафика
12 список пользователей которые попадают в правила шейпера для исходящего локального трафика с номером класса 2. Номера формируются соответсвенно номер класса трафика + 10.
13 список пользователей которые попадают в правила шейпера для входящего локального трафика с номером класса 2. Номера формируются соответсвенно номер класса трафика + 10 + 1.

Для проверки назначенно скорости используется программа

abills/libexec/billd checkspeed NAS_ID=10 SHOW_SPEED=1