Скрипт отправки команд.

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

Пример стандартного скрипта, который создается автоматически.

\#\!/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

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.