Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
abills:docs:manual:ng_car [2010/01/08 12:02]
asmodeus
abills:docs:manual:ng_car [2015/12/05 17:50] (текущий)
Строка 2: Строка 2:
 ng_car является частью netgraph и используется для ограничения трафика на интерфейсах,​ представляет из себя модуль ядра системы. ng_car является частью netgraph и используется для ограничения трафика на интерфейсах,​ представляет из себя модуль ядра системы.
  
-ng_car можно использовать как на физических интерфейсах,​ так и на виртуальных интерфейсах и интерфейсах MPD. Разграничения скорости траффика по сетям и Ip адресам,​ можно использовать ng_car совместно с ng_bpf. ​+ng_car можно использовать как на физических интерфейсах,​ так и на виртуальных интерфейсах и интерфейсах MPD. Разграничения скорости трафика по сетям и Ip адресам,​ можно использовать ng_car совместно с ng_bpf. ​
  
 Для ограничения пропускной способности интерфейса потребуется собрать ядро с поддержкой netgraph. Для ограничения пропускной способности интерфейса потребуется собрать ядро с поддержкой netgraph.
Строка 18: Строка 18:
   $conf{ng_car}=1;​   $conf{ng_car}=1;​
  
 +
 +|$conf{ng_car_prefix}=10000;​| Префикс для для добавления в номеру входящего правила |
  
 1. Поднятия правил ipfw заворота в ng_car ​ шейпер ​ осуществляется скриптом misc/​ipfw/​shaper_start.sh \\ 1. Поднятия правил ipfw заворота в ng_car ​ шейпер ​ осуществляется скриптом misc/​ipfw/​shaper_start.sh \\
 +
 +  # cp /​abills/​misc/​ipfw/​shaper_start.sh /​usr/​local/​etc/​rc.d/​
 +
 +**/​etc/​rc.conf**
 +  abills_shaper_enable="​YES"​
 +  abills_nas_id="​1"​
 +  abills_shaper_if="" ​ # По умолчанию ng
 +
  
 Пример поднятых правил:​ Пример поднятых правил:​
Строка 44: Строка 54:
  
 Описание таблиц:​ Описание таблиц:​
-^   2 | Список сетей для локального класcа трафика с номером 2. Номера формируются соответсвенно с номером класса трафика в журнале классов трафика. ​ |+^   2 | Список сетей для локального класса трафика с номером 2. Номера формируются соответственно с номером класса трафика в журнале классов трафика. ​ |
 ^  10 | список пользователей которые попадают в правила шейпера для исходящего глобального ​ трафика | ^  10 | список пользователей которые попадают в правила шейпера для исходящего глобального ​ трафика |
 ^  11 | список пользователей которые попадают в правила шейпера для входящего глобального ​ трафика | ^  11 | список пользователей которые попадают в правила шейпера для входящего глобального ​ трафика |
-^  12 | список пользователей которые попадают в правила шейпера для исходящего локального ​  ​трафика с номером класса 2. Номера формируются соответсвенно номер класса трафика + 10.     | +^  12 | список пользователей которые попадают в правила шейпера для исходящего локального ​  ​трафика с номером класса 2. Номера формируются соответственно номер класса трафика + 10.     | 
-^  13 | список пользователей которые попадают в правила шейпера для входящего локального ​  ​трафика с номером класса 2. Номера формируются соответсвенно номер класса трафика + 10 + 1. |+^  13 | список пользователей которые попадают в правила шейпера для входящего локального ​  ​трафика с номером класса 2. Номера формируются соответственно номер класса трафика + 10 + 1. 
 +^   3 | Список сетей для локального класса трафика с номером 3. Номера формируются соответственно с номером класса трафика в журнале классов трафика. ​ | 
 +^   14,15 | Соответственно класс 3 трафика ​|
  
  
- +Для поднятия шейпера используется программа linkupdown. Программа прописывает пользователей в таблицы ipfw  и присваивает им скорость. ​ Для проверки правил которые она выполняет нужно указать последним параметром параметр debug.\\
-Для поднятия шейпера используется программа linkupdown. Програма прописывает пользователей в таблицы ipfw  и присваивает им скорость. ​ Для проверки правил которые она выполняет нужно указать последним параметром параметр debug.\\+
 **Например:​** **Например:​**
   abills/​libexec/​linkupdown up ng0 test 10.11.11.11 debug   abills/​libexec/​linkupdown up ng0 test 10.11.11.11 debug
  
-Для проверки назначенно скорости и её изминения используется программа:​ + 
-  abills/​libexec/​billd checkspeed NAS_IDS=10 SHOW_SPEED=1 ​+**Внимание!!! При использовании ng_car ​ шейпера можно использовать одновременно только одну активную сессию для учётной записи** 
 + 
 +====Проверка установленного шейпера==== 
 +Для проверки назначено скорости и её изменения используется программа:​\\ 
 +  * Проверка установленной скорости и изменение для активных абонентов 
 + 
 +  /​usr/​abills/​libexec/​billd checkspeed NAS_IDS=10 
 + 
 +  * Просмотр установленной скорости 
 + 
 +  ​/usr/abills/​libexec/​billd checkspeed NAS_IDS=10 SHOW_SPEED=1 ​
        
 +
 +**Также можно просмотреть установлен ли шейпер на абонента следующим способом ​ **
 +  * Найти IP  адрес абонента в 10  таблице фаервола
 +
 +  # ipfw table 10 list | grep [IP  адрес пользователя]
 +
 +  * Установлен ли шейпер ng_car
 +
 +  # ngctl list | grep [логин абонента]
 +
 +  * Подняты ли правила заворота абонента в ng_car
 +
 +  # ipfw show | grep netg
 +  ​
 +Все эти команды должны возвращать строки с параметрами если не возвращают значит шейпер не присвоился абоненту
 +\\
 +
 +====Опитимизация системы====
 +**/​etc/​sysctl.conf**
 +
 +  kern.ipc.maxsockbuf=8388608
 +  net.graph.recvspace=256000
 +  # TCP bufer size
 +  net.inet.tcp.recvspace=65535
 +  ​
 +  # incoming TCP queue size
 +  kern.ipc.somaxconn=1024
 +  # incoming packets queue size
 +  net.inet.ip.intr_queue_maxlen=2000