BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 21 июн 2025, 20:00

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




Начать новую тему Ответить на тему  [ Сообщений: 41 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Настроенный manad
СообщениеДобавлено: 09 дек 2013, 19:29 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Amir писал(а):
Все через опции.

sa.command.inetOption.4.enable=set speed=50
sa.command.inetOption.5.enable=set speed=$param( $option, speed, 100 );
на появление опции 5 выполнить команду set speed=параметр_конфигурации( из_опции_5, имя_параметра:_speed, значение_по_умолчанию )
в данном случае $option вернет опцию 5, $param вернет значение параметра "speed" из конфига опции или 100, если такого параметра в конфиге нет.
результатом будет команда, например "set speed=100"
sa.command.inetOption.5.disable=

sa.command.onAccountingStart=set speed=$param( $option(6), speed, 100 )
$option(6) вернет активную опцию, у которой есть опция-предок с ID=6 (если она есть).
$param( $option(6), speed, 100 ) вернет параметр из конфига активной опции с потомком-6 "speed=", если такого параметра нет, или опции активной нет - значение по умолчанию - 100.

Также должны работать команды для изменения соединения (по аналогии с изменением сервиса), там должен быть доступен IP-адрес текущего соединения ($ip):
sa.command.connection.enable=
sa.command.connection.disable=
sa.command.connection.inetOption.x.enable=
sa.command.connection.inetOption.x.disable=
sa.command.connection.close=


Амир дописал в статью в wiki как настраивать опции .

http://wiki.bgbilling.ru/index.php/%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BE%D0%B1%D1%89%D0%B8%D1%85_%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2_%D0%B4%D0%BB%D1%8F_%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85(ssh/telnet/manad/mikrotik_api)_%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2_%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%B2



Тут такой момент, сам Манад с появлением inet морально устарел, так как его перловую часть нужно дописывать под смену опций, его лучше заменить на ssh или telnet.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настроенный manad
СообщениеДобавлено: 10 дек 2013, 15:34 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
skyb писал(а):

/sbin/tc class add dev eth0 parent 1:0 classid 1:[N1] htb rate ${speed} burst 4k prio 1
/sbin/tc qdisc add dev eth0 parent 1:[N1] handle [N1]: sfq perturb 10 quantum 1500

/sbin/tc class add dev eth1 parent 1:0 classid 1:[N1] htb rate ${speed} burst 4k prio 1
/sbin/tc qdisc add dev eth1 parent 1:[N1] handle [N1]: sfq perturb 10 quantum 1500

<LOOP>
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio [N1] u32 match ip dst {A} flowid 1:[N1]
</LOOP>

<LOOP>
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio [N1] u32 match ip src {A} flowid 1:[N1]
</LOOP>

[/OPEN]
[CLOSE]
<LOOP>
/sbin/iptables -t filter -D FORWARD -s {A} -j ACCEPT
</LOOP>

/sbin/tc filter del dev eth0 parent 1:0 protocol ip prio [N1]
/sbin/tc filter del dev eth1 parent 1:0 protocol ip prio [N1]

/sbin/tc class del dev eth0 parent 1:0 classid 1:[N1] htb rate ${speed} burst 4k prio 1
/sbin/tc class del dev eth1 parent 1:0 classid 1:[N1] htb rate ${speed} burst 4k prio 1


А не ли тут ошибки ? такое ощщение что опечатка , во втором блоке либо опечатка должно быть N2, вместо N1 (как в примере в документации)
Код:
/sbin/tc class add dev eth1 parent 1:0 classid 1:[N1] htb rate ${speed} burst 4k prio 1
/sbin/tc qdisc add dev eth1 parent 1:[N1] handle [N1]: sfq perturb 10 quantum 1500


Если же сознательно вешают на тот же самый класс, то тогда эти строки лишние . В этом случае оба трафика в сумме будут шейпиться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настроенный manad
СообщениеДобавлено: 19 дек 2013, 16:57 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
skyb писал(а):
georgdts писал(а):
skyb <--- Получилось?

Команды послались

Ну вообще-то не работает :) . Сегодня еще раз проверил, в лог команду правильную печатает, но не запускает ее. Я забыл про то что manad-у надо явно перед командой еще добавлять add/remove и код договора.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настроенный manad
СообщениеДобавлено: 19 дек 2013, 17:09 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Итак, есть небольшая делема. Есть manad, но нужно ли его поддерживать в inet. Если это команды типа
Код:
iptables -t filter -I FORWARD 1 -s $ip -j ACCEPT


то, тут хватит ssh и telnet активаторов.

Если это что-то типа
Код:
sbin/tc class add dev eth0 parent 1:0 classid 1:[N1] htb rate 256kbit burst 4k prio 1
/sbin/tc qdisc add dev eth0 parent 1:[N1] handle [N1]: sfq perturb 10 quantum 1500

/sbin/tc class add dev eth0 parent 1:0 classid 1:[N2] htb rate 128kbit burst 4k prio 1
/sbin/tc qdisc add dev eth0 parent 1:[N2] handle [N2]: sfq perturb 10 quantum 1500

<LOOP>
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio [N1] u32 match ip dst {A}  flowid 1:[N1]
</LOOP>

<LOOP>
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio [N2] u32 match ip src {A} flowid 1:[N2]
</LOOP>



То, тут сложнее. Manad следил за использованием классов [N1], [N2] и т.п. Он выделял свободный класс на новый договор и хранил его в памяти . Если это делать в обработчике активации сервиса , то его надо хранить в какой-то таблице тогда, так как обработчик , это не демон и ничего в памяти не хранит. Проблема тут в связке договор -классы . Но при этом количество классов в iproute2 может быть максимум FFFF(2 байта), а код договора у нас это FFFFFFFF(4 байта). Иначе код договора можно использовать в качестве класса(правда только одного , а тут в примере надо 2 на договор). Поэтому все эти извраты по выделению нового класса(классов) на на каждый договор. Особенность работы iproute2. Еще вариант хранить отдельно класс в каждом сервисе (можно как вариант использовать поле vlan), но при этом если нужно пожать скорость на нескольких сервисах сразу, то делать их дочерними тому , в котором указан vlan. Но это опять же в случае одного класса . А тут 2 класса как минимум. У skуb-а в примере один класс, но это частный случай или вообще ошибка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настроенный manad
СообщениеДобавлено: 19 дек 2013, 17:33 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
stark писал(а):
skyb писал(а):
georgdts писал(а):
skyb <--- Получилось?

Команды послались

Ну вообще-то не работает :) . Сегодня еще раз проверил, в лог команду правильную печатает, но не запускает ее. Я забыл про то что manad-у надо явно перед командой еще добавлять add/remove и код договора.

я видел в логах манада и конечно пытался подкорректировать под те правила которые были в ipn. cid и add/remove канешно я пытался передать в командах

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настроенный manad
СообщениеДобавлено: 19 дек 2013, 17:34 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
stark писал(а):
Итак, есть небольшая делема. Есть manad, но нужно ли его поддерживать в inet. Если это команды типа
Код:
iptables -t filter -I FORWARD 1 -s $ip -j ACCEPT


то, тут хватит ssh и telnet активаторов.

Если это что-то типа
Код:
sbin/tc class add dev eth0 parent 1:0 classid 1:[N1] htb rate 256kbit burst 4k prio 1
/sbin/tc qdisc add dev eth0 parent 1:[N1] handle [N1]: sfq perturb 10 quantum 1500

/sbin/tc class add dev eth0 parent 1:0 classid 1:[N2] htb rate 128kbit burst 4k prio 1
/sbin/tc qdisc add dev eth0 parent 1:[N2] handle [N2]: sfq perturb 10 quantum 1500

<LOOP>
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio [N1] u32 match ip dst {A}  flowid 1:[N1]
</LOOP>

<LOOP>
/sbin/tc filter add dev eth0 parent 1:0 protocol ip prio [N2] u32 match ip src {A} flowid 1:[N2]
</LOOP>



То, тут сложнее. Manad следил за использованием классов [N1], [N2] и т.п. Он выделял свободный класс на новый договор и хранил его в памяти . Если это делать в обработчике активации сервиса , то его надо хранить в какой-то таблице тогда, так как обработчик , это не демон и ничего в памяти не хранит. Проблема тут в связке договор -классы . Но при этом количество классов в iproute2 может быть максимум FFFF(2 байта), а код договора у нас это FFFFFFFF(4 байта). Иначе код договора можно использовать в качестве класса(правда только одного , а тут в примере надо 2 на договор). Поэтому все эти извраты по выделению нового класса(классов) на на каждый договор. Особенность работы iproute2. Еще вариант хранить отдельно класс в каждом сервисе (можно как вариант использовать поле vlan), но при этом если нужно пожать скорость на нескольких сервисах сразу, то делать их дочерними тому , в котором указан vlan. Но это опять же в случае одного класса . А тут 2 класса как минимум. У skуb-а в примере один класс, но это частный случай или вообще ошибка.

вполне возможно что ошибка, никто ничего не говорит как правильно, бывает рандомно возникает проблема со скоростью. Но это опять же не говорит о том что проблема в неправильных командах. Тут не ясно вообще. Что делать чтоб разрешить проблему?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настроенный manad
СообщениеДобавлено: 19 дек 2013, 18:00 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
skyb писал(а):
stark писал(а):
skyb писал(а):
georgdts писал(а):
skyb <--- Получилось?

Команды послались

Ну вообще-то не работает :) . Сегодня еще раз проверил, в лог команду правильную печатает, но не запускает ее. Я забыл про то что manad-у надо явно перед командой еще добавлять add/remove и код договора.

я видел в логах манада и конечно пытался подкорректировать под те правила которые были в ipn. cid и add/remove канешно я пытался передать в командах


Да, надо как-то так

Код:
#Команды включения сервиса на устройстве
sa.command.serv.enable=add   $contractId   iptables -t filter -I FORWARD 1 -s $ip -j ACCEPT
#Команды создания сервиса на устройстве.
sa.command.serv.create=add   $contractId   iptables -t filter -I FORWARD 1 -s $ip -j ACCEPT
#Команды выключения сервиса на устройстве
sa.command.serv.disable=remove   $contractId   /sbin/iptables -t filter -D FORWARD -s $ip -j ACCEPT
#Команды удаления сервиса с устройства.
sa.command.serv.cancel=remove   $contractId   /sbin/iptables -t filter -D FORWARD -s $ip -j ACCEPT


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настроенный manad
СообщениеДобавлено: 19 дек 2013, 18:06 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
stark писал(а):
skyb писал(а):
stark писал(а):
skyb писал(а):
georgdts писал(а):
skyb <--- Получилось?

Команды послались

Ну вообще-то не работает :) . Сегодня еще раз проверил, в лог команду правильную печатает, но не запускает ее. Я забыл про то что manad-у надо явно перед командой еще добавлять add/remove и код договора.

я видел в логах манада и конечно пытался подкорректировать под те правила которые были в ipn. cid и add/remove канешно я пытался передать в командах


Да, надо как-то так

Код:
#Команды включения сервиса на устройстве
sa.command.serv.enable=add   $contractId   iptables -t filter -I FORWARD 1 -s $ip -j ACCEPT
#Команды создания сервиса на устройстве.
sa.command.serv.create=add   $contractId   iptables -t filter -I FORWARD 1 -s $ip -j ACCEPT
#Команды выключения сервиса на устройстве
sa.command.serv.disable=remove   $contractId   /sbin/iptables -t filter -D FORWARD -s $ip -j ACCEPT
#Команды удаления сервиса с устройства.
sa.command.serv.cancel=remove   $contractId   /sbin/iptables -t filter -D FORWARD -s $ip -j ACCEPT

дада, гдето так и пробовал, но встали вопросы именно в верном прописании команд, у меня просто не сложилось в голове всей картины, и как прописать я не понял толком, поэтому и в хд написал

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настроенный manad
СообщениеДобавлено: 22 янв 2014, 14:35 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Дописали статью и manad
http://wiki.bitel.ru/index.php/%D0%9E%D ... 1%8F_Manad

Теперь manad поддерживает старые схемы для ipfw и tc для установки скорости.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настроенный manad
СообщениеДобавлено: 29 янв 2014, 07:20 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Покачто настроить не смог, сделал по статье, но команды на манад не посылаются, отписал в HD, но пока это решается, хотелось ещё узнать, возможно ли обрабатывать ip который указан на договоре перед отсылкой на манад? мне нада поймать ip распарсить его, поймать последний октет и подставить в HEX в команды которые отправляет биллинг манаду

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Настроенный manad
СообщениеДобавлено: 31 янв 2014, 05:56 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
ап

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 41 ]  На страницу Пред.  1, 2

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 1


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

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