Обработчик активации сервисов для Manad
Материал из BiTel WiKi
(Различия между версиями)
Stark (Обсуждение | вклад) (Новая страница: «Обработчик активации сервисов Manad. Тот же самый Manad, который использовался в IPN. Обработчик …») |
Stark (Обсуждение | вклад) (расширяем manad для freebsd) |
||
Строка 1: | Строка 1: | ||
Обработчик активации сервисов Manad. Тот же самый Manad, который использовался в IPN. Обработчик умеет обрабатывать либо ip либо сети , указанные в сервисе. | Обработчик активации сервисов Manad. Тот же самый Manad, который использовался в IPN. Обработчик умеет обрабатывать либо ip либо сети , указанные в сервисе. | ||
+ | |||
+ | Тут главное определится нужен ли вам Manad. Если это команды типа | ||
+ | <source lang="bash"> | ||
+ | iptables -A FORWARD -t filter -s 1.1.1.1 -j ACCEPT | ||
+ | iptables -D FORWARD -t filter -s 1.1.1.1 -j ACCEPT | ||
+ | </source> | ||
+ | |||
+ | Т.е достаточно использовать telnet или ssh-обработчики. Если же вы хотите в командах использовать некоторые счетчики, которые будут увеличиваться и запоминаться для каждого абонента. | ||
+ | '''Например в случае ipfw(freebsd)''' | ||
+ | |||
+ | <source lang="bash"> | ||
+ | |||
+ | pipe 100 config bw 1280000 | ||
+ | pipe 101 config bw 1280000 | ||
+ | add 1000 pipe 100 ip from any to 1.1.1.1 out | ||
+ | add 1000 pipe 101 ip from 1.1.1.1 to any in | ||
+ | |||
+ | pipe 103 config bw 1280000 | ||
+ | pipe 105 config bw 1280000 | ||
+ | add 1001 pipe 103 ip from any to 2.2.2.2 out | ||
+ | add 1001 pipe 105 ip from 2.2.2.2 to any in | ||
+ | |||
+ | </source> | ||
+ | |||
+ | '''Или для iroute2(linux)''' | ||
+ | |||
+ | <source lang="bash"> | ||
+ | |||
+ | |||
+ | /sbin/tc class add dev eth0 parent 1:0 classid 1:1 htb rate 256kbit burst 4k prio 1 | ||
+ | /sbin/tc qdisc add dev eth0 parent 1:1 handle 1: sfq perturb 10 quantum 1500 | ||
+ | |||
+ | /sbin/tc class add dev eth0 parent 1:0 classid 1:2 htb rate 128kbit burst 4k prio 1 | ||
+ | /sbin/tc qdisc add dev eth0 parent 1:2 handle 2: sfq perturb 10 quantum 1500 | ||
+ | |||
+ | |||
+ | /sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 1.1.1.1 flowid 1:1 | ||
+ | /sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 2.2.2.2 flowid 1:1 | ||
+ | |||
+ | /sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 2 u32 match ip src 1.1.1.1 flowid 1:2 | ||
+ | /sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 2 u32 match ip src 1.1.1.1 flowid 1:2 | ||
+ | |||
+ | </source> | ||
+ | |||
На устройстве должен быть прописан host:port Manad. Либо просто host, тогда порт может быть указан в параметре | На устройстве должен быть прописан host:port Manad. Либо просто host, тогда порт может быть указан в параметре |
Версия 09:54, 9 января 2014
Обработчик активации сервисов Manad. Тот же самый Manad, который использовался в IPN. Обработчик умеет обрабатывать либо ip либо сети , указанные в сервисе.
Тут главное определится нужен ли вам Manad. Если это команды типа
iptables -A FORWARD -t filter -s 1.1.1.1 -j ACCEPT iptables -D FORWARD -t filter -s 1.1.1.1 -j ACCEPT
Т.е достаточно использовать telnet или ssh-обработчики. Если же вы хотите в командах использовать некоторые счетчики, которые будут увеличиваться и запоминаться для каждого абонента. Например в случае ipfw(freebsd)
pipe 100 config bw 1280000 pipe 101 config bw 1280000 add 1000 pipe 100 ip from any to 1.1.1.1 out add 1000 pipe 101 ip from 1.1.1.1 to any in pipe 103 config bw 1280000 pipe 105 config bw 1280000 add 1001 pipe 103 ip from any to 2.2.2.2 out add 1001 pipe 105 ip from 2.2.2.2 to any in
Или для iroute2(linux)
/sbin/tc class add dev eth0 parent 1:0 classid 1:1 htb rate 256kbit burst 4k prio 1 /sbin/tc qdisc add dev eth0 parent 1:1 handle 1: sfq perturb 10 quantum 1500 /sbin/tc class add dev eth0 parent 1:0 classid 1:2 htb rate 128kbit burst 4k prio 1 /sbin/tc qdisc add dev eth0 parent 1:2 handle 2: sfq perturb 10 quantum 1500 /sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 1.1.1.1 flowid 1:1 /sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip dst 2.2.2.2 flowid 1:1 /sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 2 u32 match ip src 1.1.1.1 flowid 1:2 /sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 2 u32 match ip src 1.1.1.1 flowid 1:2
На устройстве должен быть прописан host:port Manad. Либо просто host, тогда порт может быть указан в параметре
sa.port
в конфигурации устройств.
Класс обработчика активации сервисов:
ru.bitel.bgbilling.modules.inet.dyn.device.manad.ManadServiceActivator
Поставляется в стандартной поставке.
Параметры общие описаны тут: