The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Настройка ограничения трафика в Linux через скрипт cbq.init (cbq shaper bandwidth linux limit)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: cbq, shaper, bandwidth, linux, limit,  (найти похожие документы)
From: http://freeunix.unicor.ru/ Subject: Настройка ограничения трафика в Linux через скрипт cbq.init /etc/sysconfig/cbq/cbq-<класс>.<комментарии> В каталоге /etc/sysconfig/cbq/ описываются шейпера - логические устройства, управляющие траффиком в физическом интерфейсе (например eth0). Для этого используется механизм CBQ (Class Based Queueing), который позволяет классифицировать пользовательский траффик и управлять им, присваивая конкретному классу различные характеристики, такие как пропускная способность, приоритет, способ взаимодействия с другими классами. Таким образом, используя механизм CBQ можно описать некий класс и присвоить ему определенную пропускную способность. Для построения шейпера (устройства, ограничивающего траффик) необходимо описать его характеристики в файле конфигурации cbq-<класс>.<комментарии>. cbq-1280.My_first_shaper ^^^ ^^^ ^^^^^^^^^^^^^ | | |______ Название шейпера, любое слово | |___________________ ID класса (0000 - FFFF) |______________________ Имя файла конфигурации должно начинаться с "cbq-" Проще всего это рассмотреть на примере: /cbq/cbq-1280.My_first_shaper: ----------8<--------------------- DEVICE=eth0,10Mbit,1Mbit RATE=128Kbit WEIGHT=10Kbit PRIO=5 RULE=192.168.1.0/24 ----------8<--------------------- DEVICE=eth0,10Mbit,1Mbit eth0 - физическое устройство, на котором будет создан шейпер 10Mbit - реальная скорость интерфейса 1Mbit - так называемый "вес" класса :1 , который является родительским классом для всех шейперов, работающих на данном интерфейсе. Обычно эта величина берется из расчета "реальная скорость/10" т.е. в 10 раз меньше реальной скорости физического интерфейса. *** Если вы хотите создать на одном физическом интерфейсе несколько шейперов, достаточно лишь в одном файле конфигурации описать DEVICE полностью. В остальных можно ограничится лишь DEVICE=eth0. RATE=128Kbit 128Kbit - пропускная способность шейпера - в Mbit, Kbit или bps (байт в секунду) WEIGHT=10Kbit 10Kbit - "вес" шейпера - аналогично весу родительского класса, т.е. в десять раз меньше пропускной способности _шейпера_. PRIO=5 Приоритет шейпера - от 1 до 8. 1 - высший приоритет. RULE=192.168.1.0/24 192.168.1.0/24 - адрес назначения пакетов, для которых шейпер будет ограничивать скорость. Формат записи RULE следующий: [source addr][:source port],[dest addr][:dest port], где source addr - IP адрес интерфейса, который отправил пакет source port - порт, с которого пакет покинул интерфейс dest addr - IP адрес назначения dest port - порт назначения Несколько примеров RULE: RULE=10.1.1.0/24:80 - весь траффик в сторону сети 10.1.1.0 и с портом назначения 80 будет ограничиваться шейпером. RULE=10.2.2.5 - шейпер будет работать только для пакетов с адресом назначения 10.2.2.5 RULE=:25,10.2.2.128/25:5000 - весь траффик с порта 25 с адресом назначения 10.2.2.128-10.2.2.255 и портом назначения 5000 будет ограничен пропускной способностью шейпера. RULE=10.5.5.5:80, - траффик с адреса 10.5.5.5 и порта 80 будет ограничен шейпером. В одном шейпере может быть несколько правил RULE: RULE=10.1.1.2:80 RULE=10.1.1.2:25 RULE=10.1.1.2:110 ВНИМАНИЕ: Шейпер работает только на _исходящий_ траффик. Для того, чтобы ограничить траффик в двух направлениях, необходимо создать аналогичный шейпер на втором физическом интерфейсе. Для примера рассмотрим вариант, когда нам необходимо ограничить траффик в сторону клиента до 28Kbit, а траффик от клиента - до 128Kbit: --------- 192.168.1.1 BACKBONE -----eth0-| linux |-eth1------*[our client] --------- ---8<-----/etc/sysconfig/cbq/cbq-28.client-out---- DEVICE=eth1,10Mbit,1Mbit RATE=28Kbit WEIGHT=2Kbit PRIO=5 RULE=192.168.1.1 ---8<--------------------------------------------- ---8<-----/etc/sysconfig/cbq/cbq-128.client-in---- DEVICE=eth0,10Mbit,1Mbit RATE=128Kbit WEIGHT=10Kbit PRIO=5 RULE=192.168.1.1, ---8<--------------------------------------------- ^обратите внимание на "," - это адрес клиента-отправителя!

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1.1, NemeZ (?), 08:23, 23/12/2004 [ответить]  
  • +/
    A esli net v /etc/sysconfig papki cbq, chto delat'
     
     
  • 2.2, Justas (??), 13:50, 18/02/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Создать её :)
     

  • 1.3, BesTTERROR (?), 18:50, 24/04/2007 [ответить]  
  • +/
    У мегя глюкануло что-то, одно время работало все нормально, месяц наверное и щас уже нет

    пишу проще говоря так в файле cbq-28.client-out

    DEVICE=eth1,10Mbit,1Mbit
    RATE=64Kbit
    WEIGHT=8Kbit
    PRIO=5
    RULE=192.168.0.2

    в файле cbq-128.client-in

    DEVICE=eth0,10Mbit,1Mbit
    RATE=64Kbit
    WEIGHT=10Kbit
    PRIO=5
    RULE=192.168.0.2,

    В итоге получаю что скачка работает нормуль скорость в 8кб,  а передача с компа = примерно 200-300кб сек....БАГ какой-то...

     
  • 1.4, rtty1 (?), 15:44, 03/02/2008 [ответить]  
  • +/
    И у меня такой же баг, как его лечить? хелп
     
     
  • 2.9, Алексей (??), 13:41, 28/09/2013 [^] [^^] [^^^] [ответить]  
  • +/
    У вас на eth1 - уже нет адреса клиентского компа.
    У вас там адрес NAT'а
     

  • 1.5, Danil (??), 22:20, 06/09/2008 [ответить]  
  • +/
    У меня тоже самое ... кто знает напишите!!! очень нужно
     
  • 1.6, Slava (??), 12:04, 13/10/2008 [ответить]  
  • +/
    /etc/init.d/cbq compile и смотреть ошибки
     
  • 1.7, Mactep (?), 13:34, 10/04/2010 [ответить]  
  • +/
    А в ответ тишина..............
     
  • 1.8, nayngn (?), 19:36, 24/04/2011 [ответить]  
  • +/
    до сих пор жду ответа...
     
  • 1.10, S59 (?), 12:07, 26/02/2015 [ответить]  
  • +/
    Добью пожалуй )
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру