Настройка действий на сервере доступа. — различия между версиями

Материал из ExpertBilling
Перейти к: навигация, поиск
Строка 41: Строка 41:
 
</pre>
 
</pre>
 
Команда удаляет запись с комментарием '''id аккаунта-id субаккаунта''' и производит попытку удаления Simple Queue с аналогичным комментарием.
 
Команда удаляет запись с комментарием '''id аккаунта-id субаккаунта''' и производит попытку удаления Simple Queue с аналогичным комментарием.
 +
В теле команды можно использовать переменные '''Аккаунт''', '''Субаккаунт''', '''Сервер доступа'''
 +
 +
=== Включить абонента ===
 +
 +
=== Включить субаккаунт ===
 +
  
  

Версия 22:54, 12 марта 2011

ExpertBilling взаимодействует с серверами доступа посредством протоколов RADIUS, SNMP, NetFlow, TrafficFlow, SSH, RouterOS API. При использовании способа доступа IPN или, если для другого типа доступа выбрана опция "Производить IPN действия"

Ipn for vpn.png

управление сервером доступа происходит также по протоколу SSH. Ядро посылает на сервер доступа определённые команды, когда абонент добавляется в систему, становится неактивным или его нужно удалить. Стоит отметить, что для способов доступа PPTP/PPPOE биллинг так же посылает на сервер доступа команды, если необходимо сбросить активную сессию пользователя или изменить ему скорость. Соответствующие команды не будут выполнятся, если у аккаунта или субаккаунта не будет указан сервер доступа.

В системе предусмотрено 12 типов команд:

  • Добавить абонента
  • Добавить субаккаунт
  • Удалить абонента
  • Удалить субаккаунт
  • Включить абонента
  • Включить субаккаунт
  • Отключить абонента
  • Отключить субаккаунт
  • Установить скорость для VPN
  • Установить скорость для IPN аккаунта
  • Установить скорость для IPN субаккаунта
  • Сбросить сессию

Каждая команда является строкой символов, в которой все переменные вида $имя_переменной заменены на значения (варианты переменных см.ниже.).

Добавить абонента

Команда выполняется при создании пользователя в системе. По-умолчанию команда не указана. При создании команды можно использовать переменные Аккаунт и Сервер доступа.

Добавить субаккаунт

Команда выполняется при создании субаккаунта. По-умолчанию она выглядит так:

/ip firewall address-list add list=internet_users address=$subacc_ipn_ip_address disabled=yes comment=$acc_account_id-$subacc_id

Команда добавляет IPN IP адрес субаккаунта в Address List internet_users на сервере доступа. Созданная запись будет иметь комментарий id аккаунта-id субаккаунта, что позволит в дальнейшем идентифицировать её. В теле команды можно использовать переменные Аккаунт, Субаккаунт, Сервер доступа

Удалить абонента

Команда выполняется при удалении аккаунта из системы. По-умолчанию команда не указана. При создании команды можно использовать переменные Аккаунт и Сервер доступа. Стоит отметить, что ядро не вызывает эту команду автоматически. Удаление пользователя с сервера доступа должно производиться в ручном режиме с помощью интерфейса администратора.

Удалить субаккаунт

Команда выполняется при удалении субаккаунта из системы. По-умолчанию команда выглядит так:

/ip firewall address-list remove [find comment==$acc_account_id-$subacc_id];/queue simple remove [find comment=$acc_account_id-$subacc_id]

Команда удаляет запись с комментарием id аккаунта-id субаккаунта и производит попытку удаления Simple Queue с аналогичным комментарием. В теле команды можно использовать переменные Аккаунт, Субаккаунт, Сервер доступа

Включить абонента

Включить субаккаунт

Доступные переменные

  • Аккаунт
acc_account_id
acc_ballance
acc_credit
acc_datetime - дата подключения на текущий тариф
acc_tarif_id
acc_access_parameters_id
acc_time_access_service_id
acc_traffic_transmit_service_id
acc_cost
acc_reset_tarif_cost
acc_settlement_period_id
acc_tarif_active
acc_acctf_id
acc_account_created
acc_disabled_by_limit
acc_balance_blocked
acc_nas_id
acc_vpn_ip_address
acc_ipn_ip_address
acc_ipn_mac_address
acc_assign_ipn_ip_from_dhcp
acc_ipn_status
acc_ipn_speed
acc_vpn_speed
acc_ipn_added
acc_ps_null_ballance_checkout
acc_tarif_deleted
acc_allow_express_pay
acc_account_status
acc_allow_vpn_null
acc_allow_vpn_block
acc_username
acc_password
acc_require_tarif_cost
acc_periodical_billed
acc_current_acctf
acc_end_date
acc_allow_ipn_with_null
acc_allow_ipn_with_minus
acc_allow_ipn_with_block
acc_radius_traffic_transmit_service_id
  • Субаккаунт
subacc_id
subacc_account_id
subacc_username
subacc_password
subacc_vpn_ip_address
subacc_ipn_ip_address
subacc_ipn_mac_address
subacc_nas_id
subacc_ipn_added
subacc_ipn_enabled
subacc_need_resync
subacc_speed
subacc_switch_id
subacc_switch_port
subacc_allow_dhcp
subacc_allow_dhcp_with_null
subacc_allow_dhcp_with_minus
subacc_allow_dhcp_with_block
subacc_allow_vpn_with_null
subacc_allow_vpn_with_minus
subacc_allow_vpn_with_block
subacc_associate_pptp_ipn_ip
subacc_associate_pppoe_ipn_mac
subacc_ipn_speed
subacc_vpn_speed
subacc_allow_addonservice
subacc_allow_ipn_with_null
subacc_allow_ipn_with_minus
subacc_allow_ipn_with_block
subacc_vlan
subacc_vpn_ipv6_ip_address
  • Сервер доступа
nas_id
nas_type
nas_name
nas_ipaddress
nas_secret
nas_login
nas_password
nas_allow_pptp
nas_allow_pppoe
nas_allow_ipn
nas_user_add_action
nas_user_enable_action
nas_user_disable_action
nas_user_delete_action
nas_vpn_speed_action
nas_ipn_speed_action
nas_reset_action
nas_confstring
nas_multilink
nas_speed_vendor_1
nas_speed_vendor_2
nas_speed_attr_id1
nas_speed_attr_id2
nas_speed_value1
nas_speed_value2
nas_identify
nas_subacc_add_action
nas_subacc_enable_action
nas_subacc_disable_action
nas_subacc_del_action
nas_subacc_ipn_speed_action
nas_acct_interim_interval