urfaclient (пароль на VPN)

Технические вопросы по UTM 5.0
freebeer
Сообщения: 21
Зарегистрирован: Пн апр 02, 2007 13:50

urfaclient (пароль на VPN)

Сообщение freebeer »

Доброго времени суток, помогите разобраться:

Чтобы изменить пароль на VPN через urfaclient, на сколько я понял, необходимо:

0. -a get_all_services_for_user -account_id X (забираем slink_id)
1. -a get_iptraffic_service_link -slink_id Y
2. -a unlink_service -slink_id Y
3. -a get_all_tariffs_for_user -user_id UID -account_id AID (забираем tariff_link_id)
4. -a link_service_to_tariff_for_user -user_id UID -account_id AID -tariff_link_id TLID -service_id SID -service_type 3 -discount_period_id PERIOD -ip_address IP -mask NETMASK -iptraffic_login LOGIN -iptraffic_allowed_cid CID -iptraffic_password PASSWD -ip_not_vpn NOTVPN -dont_use_fw USEFW -router_id RID -mac MAC

где get_all_tariffs_for_user:

Код: Выделить всё

<?xml version="1.0"?>
<urfa>
  <parameter name="user_id"/>
  <parameter name="account_id"/>
  <call function="rpcf_get_user_tariffs"/>
  <if variable="user_tariffs_size" value="0" condition="eq">
    <error comment="tariffs not linked"/>
  </if>
</urfa>
link_service_to_tariff_for_user:

Код: Выделить всё

# diff /netup/utm5/xml/link_service.xml /netup/utm5/xml/link_service_to_tariff_for_user.xml
19a20
>     <parameter name="tariff_link_id" comment="Tariff Link ID"/>
Но, если у пользователя подключено несколько тарифных планов, в каждый из которых включена услуга передачи IP-трафика - такая схема не работает, т.к. нельзя определить соответствия между slink_id и tariff_link_id чтобы правильно слинковать отвязаную услугу с нужным тарифом.

Подскажите, как решить такое? Или, возможно, я в корне неверно что-то делаю?

serjk
NetUP Team
Сообщения: 719
Зарегистрирован: Пн авг 14, 2006 08:56

Re: urfaclient (пароль на VPN)

Сообщение serjk »

freebeer писал(а):Доброго времени суток, помогите разобраться:

Чтобы изменить пароль на VPN через urfaclient, на сколько я понял, необходимо:

0. -a get_all_services_for_user -account_id X (забираем slink_id)
1. -a get_iptraffic_service_link -slink_id Y
2. -a unlink_service -slink_id Y
3. -a get_all_tariffs_for_user -user_id UID -account_id AID (забираем tariff_link_id)
4. -a link_service_to_tariff_for_user -user_id UID -account_id AID -tariff_link_id TLID -service_id SID -service_type 3 -discount_period_id PERIOD -ip_address IP -mask NETMASK -iptraffic_login LOGIN -iptraffic_allowed_cid CID -iptraffic_password PASSWD -ip_not_vpn NOTVPN -dont_use_fw USEFW -router_id RID -mac MAC
Зачем для смены пароля на впн отвязывать услугу посреди рассчетного периода??
Лучше воспользоваться этим (ф-ция пользовательская, для ее использлвания нужно знать логин-пароль пользователя, старый пароль и ID слинки). Есть и другие варианты, но этот вроде самый простой.

<function name="rpcf_user5_change_password_service" id="-0x4025">
<input>
<integer name="slink_id" />
<integer name="item_id" />
<string name="old_password" />
<string name="new_password" />
<string name="new_password_ret" />
</input>
<output>
<integer name="status" />
</output>
</function>

freebeer
Сообщения: 21
Зарегистрирован: Пн апр 02, 2007 13:50

Сообщение freebeer »

serjk, огромное спасибо.

По поводу того, что я писал ниже - get_iptraffic_service_link возвращает tariff_link_id. Не досмотрел просто. Извиняюсь.

AndrewE
Сообщения: 230
Зарегистрирован: Пн июл 17, 2006 07:38

Сообщение AndrewE »

А это что значит? Что сюда передаем?
<integer name="item_id" />
И вот еще момент:

<function name="rpcf_user5_change_password" id="0x4021">
<input>
<string name="old_password" />
<string name="new_password" />
<string name="new_password_ret" />
</input>
А как ей передать значение user_id (т.е. какому пользователю менять)

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

сервис-линки вроде уникальны. То есть у каждого пользователя свой slink-id, который однозначно определяет пару service_id/user_id

AndrewE
Сообщения: 230
Зарегистрирован: Пн июл 17, 2006 07:38

Сообщение AndrewE »

по поводу slink_id вопросов нет
а вот item_id что это такое?

опять же как в функцию rpcf_user5_change_password (не путаем ее с rpcf_user5_change_password_service)
передать параметр user_id

Pulse
Сообщения: 945
Зарегистрирован: Вт окт 03, 2006 12:58

Сообщение Pulse »

это пользовательские функции, чтобы они работали надо юзать другой конфиг для утилиты и запускать её с параметрами -l -P соответственно необходимость в user_id отпадает. у встречный вопрос по skey... кто разобрался с ним?

AndrewE
Сообщения: 230
Зарегистрирован: Пн июл 17, 2006 07:38

Сообщение AndrewE »

billing:/netup/utm5/bin # ./utm5_urfaclient
NetUP UTM5 URFA client utility version: 5.2.1-006-update5-rh9
Copyrigth (c) 2001-2008 NetUP,Inc

usage:
-a [action name]
-h [URFA server host, default 127.0.0.1]
-p [URFA server port, default 11758]
-l [UTM5 system user login, default init]
-P [UTM5 system user password, default init]
-c [config file path, default /netup/utm5/utm5_urfaclient.cfg]
-x [XML files directory, default /netup/utm5/xml/]
-u [login as user (customer), not admin]
-dealer [login as dealer, not admin]
-s [restore session with specified key]
-i [specify the user IP when the -s key is used]
-help [show action-specifig usage information]
-parameter_name [any action-specific parameter value]
-datafile [variable initialization file]
-api [name of the API file in the XML directory]

И? ключи -l -P это ключи для выполнения команды от имени системного пользователя
мб нужно использовать -u ? т.е. от имени клиента? Да я именно так и думаю )

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

Pulse писал(а):это пользовательские функции, чтобы они работали надо юзать другой конфиг для утилиты и запускать её с параметрами -l -P соответственно необходимость в user_id отпадает. у встречный вопрос по skey... кто разобрался с ним?

Код: Выделить всё

utm5_urfaclient -c bin\utm5_urfaclient.cfg -u -l "vasia" -P "121212" -a change_vpn -slink_id 12313 -item_id 111 -old_password 222 -new_password 111 -new_password_ret 111

Код: Выделить всё

<?xml version="1.0"?>
<urfa>
    <parameter name="slink_id" comment="Service Link ID"/>
    <parameter name="item_id" comment="Item ID"/>
    <parameter name="old_password" comment="Old Password"/>
    <parameter name="new_password" comment="New Password"/>
    <parameter name="new_password_ret" comment="New Password Retype"/>
    <call function="rpcf_user5_change_password_service"/>
</urfa>

Код: Выделить всё

SELECT atl.id 'tariff_link_id', atl.tariff_id 'curr_id', atl.next_tariff_id 'next_id', ig.uname, ig.id 'item_id', sl.id 'service_link_id', ig.upass, ig.upass, ig.mask, ig.ip, sl.service_id 'service_id'
FROM UTM5.account_tariff_link as atl, UTM5.service_links as sl, UTM5.iptraffic_service_links as isl, UTM5.ip_groups as ig
WHERE atl.account_id=ИД_АККАУНТА_ЮЗЕРА
AND sl.tariff_link_id=atl.id
AND sl.id=isl.id
AND isl.ip_group_id=ig.ip_group_id
AND ig.is_deleted = 0
AND sl.is_deleted = 0
AND isl.is_deleted = 0
AND atl.is_deleted = 0
AND ig.uname <> ''

AndrewE
Сообщения: 230
Зарегистрирован: Пн июл 17, 2006 07:38

Сообщение AndrewE »

Cпасибо! не за что бы не подумал что item_id Это ip_groups.id

Евгений, а смену пароля на статистику как реализовали?

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

AndrewE писал(а):Cпасибо! не за что бы не подумал что item_id Это ip_groups.id

Евгений, а смену пароля на статистику как реализовали?
Аналогично :)

Код: Выделить всё

<?xml version="1.0"?>
<urfa>
    <parameter name="old_password" comment="Old Password"/>
    <parameter name="new_password" comment="New Password"/>
    <parameter name="new_password_ret" comment="New Password Retype"/>
    <call function="rpcf_user5_change_password"/>
</urfa>

Pulse
Сообщения: 945
Зарегистрирован: Вт окт 03, 2006 12:58

Сообщение Pulse »

а фигли.. доков то нету особо...инстумент за 45 тыщ пришлось обсасывать через стандартную вебморду, чтоб понять как работают функции. у меня так и не работает отчёт по блокировкам -> viewtopic.php?p=39592#39592

AndrewE
Сообщения: 230
Зарегистрирован: Пн июл 17, 2006 07:38

Сообщение AndrewE »

Magnum72 писал(а):
AndrewE писал(а):Cпасибо! не за что бы не подумал что item_id Это ip_groups.id

Евгений, а смену пароля на статистику как реализовали?
Аналогично :)

Код: Выделить всё

<?xml version="1.0"?>
<urfa>
    <parameter name="old_password" comment="Old Password"/>
    <parameter name="new_password" comment="New Password"/>
    <parameter name="new_password_ret" comment="New Password Retype"/>
    <call function="rpcf_user5_change_password"/>
</urfa>
А где указываем какому абоненту менять?

Аватара пользователя
Magnum72
Сообщения: 1947
Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:

Сообщение Magnum72 »

AndrewE писал(а):
Magnum72 писал(а):
AndrewE писал(а):Cпасибо! не за что бы не подумал что item_id Это ip_groups.id

Евгений, а смену пароля на статистику как реализовали?
Аналогично :)

Код: Выделить всё

<?xml version="1.0"?>
<urfa>
    <parameter name="old_password" comment="Old Password"/>
    <parameter name="new_password" comment="New Password"/>
    <parameter name="new_password_ret" comment="New Password Retype"/>
    <call function="rpcf_user5_change_password"/>
</urfa>
А где указываем какому абоненту менять?
Вот тут блин (если это пользовательская функция то наверно биллинг догадается посмотреть от имени какого юзера она запущена):
utm5_urfaclient -c bin\utm5_urfaclient.cfg -u -l "vasia" -P "121212" -a

master_weba
Сообщения: 21
Зарегистрирован: Ср мар 26, 2008 07:44

Сообщение master_weba »

А какой тогда функцией менять пароль в услугах типа номер 5 ака dialup_servece?

Ответить