BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 05 май 2024, 00:27

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 28 ] 
Автор Сообщение
 Заголовок сообщения: Cisco + Shaper поделитесь решением
СообщениеДобавлено: 13 июн 2009, 22:58 
Не в сети

Зарегистрирован: 19 янв 2009, 15:15
Сообщения: 85
Карма: 0
Есть кошка, стоит шлюзом между инетом и локалкой. Юзеры ходят через кошку без всяких pppoe, pptp и прочее.
Управление кошкой через модуль IPN, шлюз Cisco2 через Telnet.

Каждого юзера нужно шейпить (несколько тарифных планов с разными скоростями)
Для этого необходимо при открытии шлюза на интерфейс fa0/1 повесить traffic-shape group номер_ACL скорость(бит/сек)
И создать соответствующий ACL, в котором перечислить все IP адреса договора модуля IPN.
Самое веселое - это где хранить номер ACL? вариантов там не сильно много, да и нумерация далеко не попорядку... 1-99,1300-1999... т.е. всего 799 ACL. Договоров у меня явно меньше, но привязывать номер ACL к номеру договора нельзя... Вот если бы был параметр в договоре, да чтобы еще номер ACL автоматом назначался из свободных...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 июн 2009, 14:36 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
можете использовать vlan. диапазоны для него поодерживаюься ..автоматического выделения нет ..в следующей версии (5.0) мы сдлелаи подержку веделения свободной сети для модул IPN в шаблоне договра ..можем и vlan так же добавить


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 18 июн 2009, 11:03 
Не в сети

Зарегистрирован: 17 апр 2009, 15:21
Сообщения: 68
Карма: 0
Тоже думаю как это реализовать


Цитата:
#access-list ?
<1-99> IP standard access list
<100-199> IP extended access list
<1100-1199> Extended 48-bit MAC address access list
<1300-1999> IP standard access list (expanded range)
<200-299> Protocol type-code access list
<2000-2699> IP extended access list (expanded range)
<700-799> 48-bit MAC address access list
compiled Enable IP access-list compilation
dynamic-extended Extend the dynamic ACL absolute timer
rate-limit Simple rate-limit specific access list


если генерировать номер ACL вот так 1300+CID ?
идентификатор договора уникален идет по порядку от 1, на 700 договоров хватит а дальше видно будет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 18 июн 2009, 21:54 
Не в сети

Зарегистрирован: 19 янв 2009, 15:15
Сообщения: 85
Карма: 0
В идеале заюзать бы и standart и extended ACL. это будет почти 1600 одновременных договоров, но там разный синтаксис и как это реализовать - хз (


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 19 июн 2009, 05:32 
Не в сети

Зарегистрирован: 17 апр 2009, 15:21
Сообщения: 68
Карма: 0
кстати если полисить на вход и на выход будет расходоватся по 2 ACL договор, это 350 договоров

а сколько rate-limit'ов на интерфейс потянет железка ?
например c72 c NPE-400 или с G1


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 19 июн 2009, 09:42 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 08 мар 2007, 20:44
Сообщения: 1570
Откуда: Челябинск
Карма: 18
tee писал(а):
кстати если полисить на вход и на выход будет расходоватся по 2 ACL договор, это 350 договоров

а сколько rate-limit'ов на интерфейс потянет железка ?
например c72 c NPE-400 или с G1

может вам вешать рейт-лимит на СВИ без акцесс листа?
правда тогда нада схему вилан на пользователя.....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 19 июн 2009, 13:00 
Не в сети

Зарегистрирован: 19 янв 2009, 15:15
Сообщения: 85
Карма: 0
max писал(а):
tee писал(а):
кстати если полисить на вход и на выход будет расходоватся по 2 ACL договор, это 350 договоров

а сколько rate-limit'ов на интерфейс потянет железка ?
например c72 c NPE-400 или с G1

может вам вешать рейт-лимит на СВИ без акцесс листа?
правда тогда нада схему вилан на пользователя.....


У нас кроме лимитированного инета, есть не лимитированная локалка... так что VLAN на юзера не катит.

А шейпить можно только входящий...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 19 июн 2009, 18:41 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 08 мар 2007, 20:44
Сообщения: 1570
Откуда: Челябинск
Карма: 18
Heggi писал(а):
max писал(а):
tee писал(а):
кстати если полисить на вход и на выход будет расходоватся по 2 ACL договор, это 350 договоров

а сколько rate-limit'ов на интерфейс потянет железка ?
например c72 c NPE-400 или с G1

может вам вешать рейт-лимит на СВИ без акцесс листа?
правда тогда нада схему вилан на пользователя.....


У нас кроме лимитированного инета, есть не лимитированная локалка... так что VLAN на юзера не катит.

А шейпить можно только входящий...
а какая у вас кошка?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 20 июн 2009, 19:51 
Не в сети

Зарегистрирован: 17 апр 2009, 15:21
Сообщения: 68
Карма: 0
"rate-limit" , можно всего 100 штук на сабинтерфейс
http://www.cisco.com/en/US/docs/ios/12_ ... #wp1001055
Cisco IOS Quality of Service Solutions Configuration Guide, Release 12.2

сколько на интерфейс не нашел, про 12.3 и 12.4 пишут тоже самое

"traffic-shape group" наверняка не лучше, поскольку шейпить более ресурсоемкий процесс чем полисить


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 20 июн 2009, 19:53 
Не в сети

Зарегистрирован: 17 апр 2009, 15:21
Сообщения: 68
Карма: 0
max писал(а):
а какая у вас кошка?


7204 будет с NPE-400 или G1 пока незнаю


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 20 июн 2009, 21:55 
Не в сети

Зарегистрирован: 19 янв 2009, 15:15
Сообщения: 85
Карма: 0
tee писал(а):
"rate-limit" , можно всего 100 штук на сабинтерфейс
http://www.cisco.com/en/US/docs/ios/12_ ... #wp1001055
Cisco IOS Quality of Service Solutions Configuration Guide, Release 12.2

сколько на интерфейс не нашел, про 12.3 и 12.4 пишут тоже самое

"traffic-shape group" наверняка не лучше, поскольку шейпить более ресурсоемкий процесс чем полисить


Если все так плохо, то шейпер придется выкинуть на линукс... Нафига вот только покупали циску за такие бабки - не понятно (((


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 июн 2009, 06:19 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Heggi писал(а):
У нас кроме лимитированного инета, есть не лимитированная локалка... так что VLAN на юзера не катит.

если не гонять весь трафик через кота, а поставить перед ним L3 свич и роутить локалку им - то вполне можно использовать vlan-per-user ;)

Heggi писал(а):
А шейпить можно только входящий...

пардон, "входящий" относительно кого? циски могут шейпить только исходящий ...

Heggi писал(а):
шейпер придется выкинуть на линукс

только предварительно попробуйте что нить в духе:
Код:
class-map match-all no-limit
 match access-group name no-limit


class-map match-all user1
 match access-group name user1

class-map match-all user2
 match access-group name user2

class-map match-all user3
 match access-group name user3


policy-map traf_in
 class no-limit
 class user1
  police 256000 48000 96000 conform-action transmit exceed-action drop
 class user2
  police 128000 24000 48000 conform-action transmit exceed-action drop
 class user1
  police 512000 96000 192000 conform-action transmit exceed-action drop


policy-map traf_out
 class no-limit
 class user1
  shape average 256000
 class user2
  shape average 128000
 class user3
  shape average 512000


ip access-list standard no-limit
 permit сеть.которая.не.лимитруется 0.0.0.255
 deny   any


ip access-list standard user1
 permit ip.адрес.юзера.1
 deny   any

ip access-list standard user2
 permit ip.адрес.юзера.2
 deny   any

ip access-list standard user3
 permit ip.адрес.юзера.3
 deny   any


interface FooBar 0/1
 service-policy in  traf_in
 service-policy out traf_out


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 июн 2009, 11:56 
Не в сети

Зарегистрирован: 15 июн 2009, 15:28
Сообщения: 50
Карма: 0
А как же менее трудоемкий процесс:
Код:
rate limit in <SPEED> <SPEED/4> <SPEED/2> conf tr exc dr
rate limit out <SPEED> <SPEED/4> <SPEED/2> conf tr exc dr

причем и acl мона повесить. и 2 не надо создавать, если standard.
Код:
ip access-l 10 perm <net><w_mask>

все отработает как надо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 июн 2009, 13:16 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
так нельзя разделить куда не нужно резать а куда нужно :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 июн 2009, 13:29 
Не в сети

Зарегистрирован: 17 апр 2009, 15:21
Сообщения: 68
Карма: 0
snark писал(а):
Heggi писал(а):
У нас кроме лимитированного инета, есть не лимитированная локалка... так что VLAN на юзера не катит.

если не гонять весь трафик через кота, а поставить перед ним L3 свич и роутить локалку им - то вполне можно использовать vlan-per-user ;)

Heggi писал(а):
А шейпить можно только входящий...

пардон, "входящий" относительно кого? циски могут шейпить только исходящий ...

Heggi писал(а):
шейпер придется выкинуть на линукс

только предварительно попробуйте что нить в духе:
Код:
class-map match-all no-limit
 match access-group name no-limit


class-map match-all user1
 match access-group name user1

class-map match-all user2
 match access-group name user2

class-map match-all user3
 match access-group name user3


policy-map traf_in
 class no-limit
 class user1
  police 256000 48000 96000 conform-action transmit exceed-action drop
 class user2
  police 128000 24000 48000 conform-action transmit exceed-action drop
 class user1
  police 512000 96000 192000 conform-action transmit exceed-action drop


policy-map traf_out
 class no-limit
 class user1
  shape average 256000
 class user2
  shape average 128000
 class user3
  shape average 512000


ip access-list standard no-limit
 permit сеть.которая.не.лимитруется 0.0.0.255
 deny   any


ip access-list standard user1
 permit ip.адрес.юзера.1
 deny   any

ip access-list standard user2
 permit ip.адрес.юзера.2
 deny   any

ip access-list standard user3
 permit ip.адрес.юзера.3
 deny   any


interface FooBar 0/1
 service-policy in  traf_in
 service-policy out traf_out


все замечательно
только конструкции
Код:
class user1
  police 256000 48000 96000 conform-action transmit exceed-action drop
 class user2
  police 128000 24000 48000 conform-action transmit exceed-action drop


это кажется CBWFQ а их можно только 64 штуки на policy-map
http://www.cisco.com/en/US/docs/ios/12_ ... #wp1003029

Код:
class user1
     shape peak 512     

вот это точно CBWFQ а police назнаю


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 июн 2009, 14:02 
Не в сети

Зарегистрирован: 15 июн 2009, 15:28
Сообщения: 50
Карма: 0
snark писал(а):
так нельзя разделить куда не нужно резать а куда нужно :(

Это вы кому написали?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 июн 2009, 14:07 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
abehterev писал(а):
Это вы кому написали?
Вам, в ответ на ваше
abehterev писал(а):
все отработает как надо
но потом понял что затупил ... в общем - не обращайте внимания, когда ночь не поспишь и не такое напишешь ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 июн 2009, 14:08 
Не в сети

Зарегистрирован: 15 июн 2009, 15:28
Сообщения: 50
Карма: 0
Ну желаю удачи и поспать хорошенько :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 27 июн 2009, 01:31 
Не в сети

Зарегистрирован: 19 янв 2009, 15:15
Сообщения: 85
Карма: 0
Так, начинаю откровенно тупить...
Есть циска, шлюз CISCO2 телнетовский из вики.
Сейчас команды шлюза такие:
[DEFAULT]
<LOOP>
permit ip host {A} any
</LOOP>
[/DEFAULT]

Надо это развить таким образом, чтобы при открытии шлюза писалось
int fa0/1
traffic-shape group {vlan} ${speed}
exit
<LOOP>
access-list {vlan} permit {A}
</LOOP>

А при закрытии
int fa0/1
no traffic-shape group {vlan}
exit
no access-list {vlan}

Боюсь, что тот скрипт только и умеет, что дописывать ACLки...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 июн 2009, 16:51 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Heggi писал(а):
Так, начинаю откровенно тупить...
Есть циска, шлюз CISCO2 телнетовский из вики.
Сейчас команды шлюза такие:
[DEFAULT]
<LOOP>
permit ip host {A} any
</LOOP>
[/DEFAULT]

Надо это развить таким образом, чтобы при открытии шлюза писалось
int fa0/1
traffic-shape group {vlan} ${speed}
exit
<LOOP>
access-list {vlan} permit {A}
</LOOP>

А при закрытии
int fa0/1
no traffic-shape group {vlan}
exit
no access-list {vlan}

Боюсь, что тот скрипт только и умеет, что дописывать ACLки...



[DEFAULT]

[REMOVE]

[/REMOVE]

[OPEN]
int fa0/1
traffic-shape group {VID} ${speed}
exit
<LOOP>
access-list {VID} permit {A}
</LOOP>

[/OPEN]

[CLOSE]
int fa0/1
no traffic-shape group {VID}
exit
no access-list {VID}
[/CLOSE]
[/DEFAULT]

добавить тип правила :
speed=256

и другие ..и задавать его вручную каждому клиеенту.
механизм выделения vlan на клиента есть


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 05 июл 2009, 22:16 
Не в сети

Зарегистрирован: 19 янв 2009, 15:15
Сообщения: 85
Карма: 0
Спасибо, допилил, включение/отключение доработал.
Теперь такой интересный вопрос. В планировщике можно сделать периодическую проверку состояния шлюза и отключение/включение в случае несоответствия реального и предписанного.
Что где и как дописать в скрипте, чтобы реализовать эту проверку?
На данный момент никаких проверок нет, и если пришла команда открыть шлюз, то не важно открыт был шлюз или нет, вся пачка команд прописывается заново.
Впрочем циске на это пофигу и одинаковые команды не дублируются. Но, наверно, это не правильно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 июл 2009, 17:20 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
Вот пример для вторичного шлюза dlink от первичного циска2
для реализации состояния "создание", тема http://www.bgbilling.ru/forum/viewtopic.php?t=2277
аналогично можете реализовать для любого шлюза

Код:
private String[]  getOpenRules( UserStatus status, int vid )
{
// предедущее состояние шлюза
         cid = status.contractId;
         ps = con.prepareStatement( "select * from ipn_contract_status_log_1 where cid = " + cid );
         rs = ps.executeQuery();
         while( rs.next() ) st = rs.getByte("action");
         ps.close();
         log.info("The pregoing status Gate = " + st);
// end
         if (st == 3)
            return getRules( status, "\\[CREATE\\]((.|\n)*)\\[/CREATE\\]", vid );
         else return getRules( status, "\\[OPEN\\]((.|\n)*)\\[/OPEN\\]", vid );
}


у него есть теперь 4 состояния
Код:
[DEFAULT]

[CREATE]
......................
[/CREATE]

[OPEN]
......................
[/OPEN]

[CLOSE]
......................
[/CLOSE]

[REMOVE]
......................
[/REMOVE]


[/DEFAULT]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 июл 2009, 18:29 
Не в сети

Зарегистрирован: 19 янв 2009, 15:15
Сообщения: 85
Карма: 0
Ответ немного не в тему... возможно я не понятно объясняю...
Представим ситуацию:
1000 договоров, из них 100 в состоянии отключен.
Состояние шлюза соответствует тому, что написано в биллинге.

Сбой питания/шлюз перегрузили/или просто шлюз сдох и его поменяли на другую железку с таким же базовым конфигом.
Т.е. получили несоответствие состояния шлюза тому, что написано в биллинге.
Для таких ситуаций предусмотрен пункт в планировщике - проверка состояний шлюза. Что делает эта команда? Просто тупо прогоняет все команды на все договора? Это же повеситься!!! У меня секунд 7 обрабатывается только один договор (почему так долго - не знаю, возможно из-за реализации через телнет), а 1000 договоров? а 10000???

ИМХО должно быть примерно так:
Вызывается show running-config, считывается весь конфиг, по нему определяется какой договор включен, а какой нет (точнее наличие/отсутствие той или иной строки в конфигурации) и выполнение только отсутствующих команд/удаление присутствующих.

Вот такой примерно алгоритм, но как это реализовать скриптовым языком?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 июл 2009, 18:36 
Не в сети

Зарегистрирован: 14 мар 2008, 12:43
Сообщения: 123
Карма: 0
ответ был на:
Heggi писал(а):
На данный момент никаких проверок нет, и если пришла команда открыть шлюз, то не важно открыт был шлюз или нет, вся пачка команд прописывается заново.
Впрочем циске на это пофигу и одинаковые команды не дублируются. Но, наверно, это не правильно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 июл 2009, 18:50 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
2 Heggi
проверка реалзиуется в самом скрипте. Шеделуер передает списко всех клиентов на этом шлюзе в скрипт, скрипт бежит по ним в цикле . Надо перед циклом вызвать команду получения всего списка клиентов с циски , проанализировать его и послыать команды только для тех шлюзов, которые изменились. По такому принципу работают стандартные шлюзы Manad, Mikrotik, Cisco и их аналоги в BeanShell .
Или в этом шлюзе :
http://wiki.bgbilling.ru/index.php/%D0% ... %D0%BC_ssh

функция isUserPermited. В ней передается буфер с распечаткой всех открытх пользователей


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 июл 2009, 19:30 
Не в сети

Зарегистрирован: 19 янв 2009, 15:15
Сообщения: 85
Карма: 0
А теперь для тупых и на пальцах...
Имею:
Код:
protected void doSync()
{
   try
   {
      //удалено для упрощения

      session.doCommand("configure terminal");
 
      doCommands(session);
 
      session.doCommand("exit");
      session.doCommandAsync("exit");
   }
   catch (Exception e)
   {
      throw new RuntimeException(e);
   }
}

private void doCommands(MyTelnetSession session) throws IOException, OperationTimedoutException
{      
   for(UserStatus status : statusList)
   {
      VlanManager manager = new VlanManager(status.mid,con);
      gateId  = gate.getId();
      vid = manager.getVlan(gateId, status.contractId);
      
      //TODO - подумать что сделать с правилами на добавление
 
      rules = null;
      if (status.status == IPNContractStatus.STATUS_OPEN)
      {
         rules = getOpenRules(status,vid);
      }          
      else
      if (status.status == IPNContractStatus.STATUS_REMOVED)
      {
         rules = getRemoveRules(status,vid);   
      }
      //if closed and etc
      else
      {
         rules = getCloseRules(status,vid);
      }
 
      if (vid > 0)
      {
         for (String rule : rules)
         {               
            session.doCommand(rule);            
         }
      }
   }      
}


В statusList находится информация по всем договорам? Или на каждый договор вызывается свой doSync?
Перед for(UserStatus status : statusList) необходимо получить реальное состояние шлюза? и потом в getOpenRules и getCloseRules уже решать добавлять или нет правила в список на выполнение?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 июл 2009, 11:29 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Heggi писал(а):
А теперь для тупых и на пальцах...
Имею:
Код:
protected void doSync()
{
   try
   {
      //удалено для упрощения

      session.doCommand("configure terminal");
 
      doCommands(session);
 
      session.doCommand("exit");
      session.doCommandAsync("exit");
   }
   catch (Exception e)
   {
      throw new RuntimeException(e);
   }
}

private void doCommands(MyTelnetSession session) throws IOException, OperationTimedoutException
{      
   for(UserStatus status : statusList)
   {
      VlanManager manager = new VlanManager(status.mid,con);
      gateId  = gate.getId();
      vid = manager.getVlan(gateId, status.contractId);
      
      //TODO - подумать что сделать с правилами на добавление
 
      rules = null;
      if (status.status == IPNContractStatus.STATUS_OPEN)
      {
         rules = getOpenRules(status,vid);
      }          
      else
      if (status.status == IPNContractStatus.STATUS_REMOVED)
      {
         rules = getRemoveRules(status,vid);   
      }
      //if closed and etc
      else
      {
         rules = getCloseRules(status,vid);
      }
 
      if (vid > 0)
      {
         for (String rule : rules)
         {               
            session.doCommand(rule);            
         }
      }
   }      
}


В statusList находится информация по всем договорам? Или на каждый договор вызывается свой doSync?

да, по всем ..
вообще есть 2 случая :
1.Задача проверки шлюзов в шедулере. statusList - находятся все догвора на данном шлюзе . doSync вызывается один раз для данного шлюза

2. Вы меняется состояние шлюза из клиента для конретного догворра . В этом случае в statusList будет один договор .

Heggi писал(а):
Перед for(UserStatus status : statusList) необходимо получить реальное состояние шлюза? и потом в getOpenRules и getCloseRules уже решать добавлять или нет правила в список на выполнение?


да


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: 16 мар 2013, 03:52 
Не в сети
Клиент

Зарегистрирован: 27 авг 2009, 13:51
Сообщения: 82
Откуда: Bishkek
Карма: 0
Heggi писал(а):
Спасибо, допилил, включение/отключение доработал.

А можно выложить конфу циски? Какая циска у вас?
Нам тоже необходимо такую схему реализовать (шейпер на циске, плюс включение/отключение),
но в цисках не сильны совсем. Спасибо.

_________________
Клиент: вер. 5.2
Сервер: вер. 5.2


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.071s | 74 Queries | GZIP : On ]