Вы просматриваете старую версию данной страницы. Смотрите текущую версию.
Сравнить с текущим |
просмотр истории страницы
Пример стандартного скрипта, который создается автоматически.
\#\!/bin/bash \__coa_send() { echo "$@" return 0 echo "$@" \| radclient \-x $nas_ip coa $coa_psw &>$TMPDIR/radclient.$$ ret=$? # exit 254 отложить передачу, todo возможно и другие схожие busy context и тд grep "no response from server" $TMPDIR/radclient.$$ && exit 254 cat $TMPDIR/radclient.$$ return $ret } \# Приходит при создании пользователя в биллинге \# И при смене критичных параметров(ip, vlan, port etc.)(с новыми значениями) \# Обычно используется для ip авторизации user_add() { user_accept } \# Приходит при удалении пользователя из биллинга \# И при смене критичных параметров(ip, vlan, port etc.)(со старыми значениями) \# Обычно используется для ВСЕХ видов авторизации user_del() { \__coa_send session remove $ip } \# Приходит после авторизации пользователя \# Рекомендуется политику пользователя передавать в радиус replay параметрах, А НЕ В ЭТОМ СОБЫТИИ, \# т.к. у любого оборудования есть ограничения на колличество отправляемых команд в секунду user_accept() { \__coa_send ip forward_allow add $ip \__coa_send ip snat add $ip $snatip } \# Приходит при отключении пользователя \# Рекомендуется избегать удаления пользователя из списков, для экономии очереди команд на оборудовании user_drop() { \__coa_send ip forward_allow del $ip \__coa_send ip snat del $ip } \# Приходит при превышении лимита, либо при отключении услуги user_redirect() { \__coa_send ip redirect add $ip } \# Приходит после оплаты, если хватило денег на включение услуги user_redirect_cancel() { \__coa_send ip redirect del $ip } \# Приходит при изменении скорости подключения \# Или включения\выключении услуги(турбокнопка, ночной форсаж и т.д.) user_rate_set() { \__coa_send policy set $ip in $rate_in $ceil_in $burst_in out $rate_out $ceil_out $burst_out } \# Приходит при отключении пользователя администратором \# либо при добровольной блокировке. user_disconnect() { \__coa_send session disconnect $ip } \# Приходит при нажатии кнопки info в учетной записи user_info() { \__coa_send session info $ip } \# Приходит при нажатии кнопки тест в учетной записи user_test() { \__coa_send session test $ip } \# Хук - вызывается перед каждым событием user_event_before() { : } \# Хук - вызывается после каждого события user_event_after() { : } \# Приходит при добавлении услуги абоненту usluga_add(){ : } \# Приходит при удалении услуги у абонента usluga_del(){ : } \# Приходит при активации услуги usluga_activated(){ : } \# Приходит при деактивации услуги usluga_deactivated(){ : }
Доступные переменные
- abonent_id
- id(user_id)
- ip
- host_ip
- logged
- deleted
- enabled
- acct_session_id
- activate_string
- auth_type
- balance
- burst_in
- burst_out
- ceil_in
- ceil_out
- contract_number
- deactivate_string
- disabled_date
- ius_secret
- login
- mac
- nas_id
- nas_ip
- nas_type
- rate_in
- rate_out
- switch_p_id
- switch_id
- switch_ip
- switch_port
- switch_vlan
- sms
- tarif_id