urfaclient на C

Технические вопросы по UTM 5.0
Ответить
littlesavage
Сообщения: 120
Зарегистрирован: Вс ноя 22, 2009 02:41
Откуда: Чебоксары

Re: rpcf_add_ipgroup

Сообщение littlesavage »

Volniy_Strelok писал(а):Немогли бы вы дать рабочий кусок кода для добавления IP группы в список адресов IP -зоны?
Ни как не получается добавить сеть с помощью rpcf_add_ipgroup.
Вы про справочник "IP зоны"? Записи туда добавляются функцией rpcf_add_ipzone:

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

#! /usr/bin/perl

use strict;
use Ourfa;

my $ourfa = Ourfa->new(
      api_xml_dir=>"/netup/utm5/xml",
      server=>'localhost',
      login=>'init',
      password=>'init',
    );

my $res = $ourfa->rpcf_add_ipzone(
   'id'=>0,
   'name'=>'zone3',
   'count'=>3,
   'ipzones'=>[
      {net=>"192.168.0.0", mask=>"255.255.255.0", gateaway=>"192.168.0.1"},
      {net=>"192.168.1.0", mask=>"255.255.255.0", gateaway=>"192.168.1.1"},
      {net=>"192.168.2.0", mask=>"255.255.255.0", gateaway=>"192.168.2.1"},
   ]);

printf("new zone id: %u\n", $res->{id});

При id=0 создается новая зона, при указании id существующей - обновляется существующая.
Функции удаления зоны из справочника нет.
Хотя вам, похоже, нужно просто добавить IP адрес пользователю? :)

littlesavage
Сообщения: 120
Зарегистрирован: Вс ноя 22, 2009 02:41
Откуда: Чебоксары

Сообщение littlesavage »

Volniy_Strelok, выложил скрипт, аналогичный add_to_ipgroup:

add_to_ipgroup.pl

Volniy_Strelok
Сообщения: 13
Зарегистрирован: Ср мар 17, 2010 14:14

Сообщение Volniy_Strelok »

Большое спсибо за пример.

Никак немогу понять как использовать функцию rpcf_add_ipgroup
или через неё добавить ip нельзя?

littlesavage
Сообщения: 120
Зарегистрирован: Вс ноя 22, 2009 02:41
Откуда: Чебоксары

Сообщение littlesavage »

Volniy_Strelok писал(а):Большое спсибо за пример.

Никак немогу понять как использовать функцию rpcf_add_ipgroup
или через неё добавить ip нельзя?
Я не знаю, что это за функция и почему она не работает :)
Нашел только то, что в 5.2.1-008 Beta 1 она была признана устаревшей и удалена.

Витька
Сообщения: 236
Зарегистрирован: Вс дек 16, 2007 21:54

Сообщение Витька »

Volniy_Strelok писал(а):Большое спсибо за пример.

Никак немогу понять как использовать функцию rpcf_add_ipgroup
или через неё добавить ip нельзя?
rpcf_add_service_to_user 0x2551 - эту функцию вызывает штатная админка при добавлении IP-адреса к ip-группе. Опытным путём установлено, что в ip_groups необязательно передавать новый массив, содержащий все адреса, а достаточно только указать новый адрес.

Volniy_Strelok
Сообщения: 13
Зарегистрирован: Ср мар 17, 2010 14:14

Сообщение Volniy_Strelok »

Всем спасибо за разьянения, очень помог скрипт.
Буду добавлять через rpcf_add_service_to_user
к тому же rpcf_add_ipgroup удаляют из следующей версии utm

Ten Norman
Сообщения: 5
Зарегистрирован: Пт авг 20, 2010 11:13

Сообщение Ten Norman »

Как собрать ourfa_client под Linux статически? У нас на машине старая версия glibc, с ней собираться не хочет, а обновлять возможности нет. Есть возможность только собрать его на другой машине и скопировать бинарник.

Volniy_Strelok
Сообщения: 13
Зарегистрирован: Ср мар 17, 2010 14:14

Сообщение Volniy_Strelok »

С переходом на версию 5.2.1-008
Скрипт неможет подключится к серверу
В main.log строка Unsupported SSL type <0>

littlesavage
Сообщения: 120
Зарегистрирован: Вс ноя 22, 2009 02:41
Откуда: Чебоксары

Сообщение littlesavage »

Volniy_Strelok писал(а):С переходом на версию 5.2.1-008
Скрипт неможет подключится к серверу
В main.log строка Unsupported SSL type <0>
Ага, SSL стал обязательным.
Можно выкачать svn co https://ourfa.svn.sourceforge.net/svnroot/ourfa ourfa, запускать с ключем -s rsa_cert и в /netup/utm5/admin.crt положить сертификат с http://wiki.flintnet.ru/doku.php?id=admin.crt

Через пару недель, кстати, новая версия будет.

Volniy_Strelok
Сообщения: 13
Зарегистрирован: Ср мар 17, 2010 14:14

Сообщение Volniy_Strelok »

Спасибо очень помогли.
Что насчет новой версии?

littlesavage
Сообщения: 120
Зарегистрирован: Вс ноя 22, 2009 02:41
Откуда: Чебоксары

Сообщение littlesavage »

Все, готова новая версия 521008002.1.

Изменения:
1. Консольный клиент теперь умеет выполнять скрипты официального utm5_urfaclient. Т.е. является практически полноценной заменой официальной версии.
2. Добавлена поддержка SSL и поддержка версии UTM 5.2.1.008.
3. Подготовлены бинарные пакеты под Windows, Debian "lenny" , FreeBSD
4. Исходный код переехал на github. Можно форкать. :)
5. Совместимость с предыдущими версиями сломана
.
Обновил первый пост. Там ссылки для скачивания.

uinman
Сообщения: 75
Зарегистрирован: Чт дек 02, 2010 06:39

Сообщение uinman »

Добрый день! Пытаюсь выполнить команду

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

&#91;root@server_new ~&#93;# ourfa_client  -a rpcf_block_account -account_id 18 -is_blocked 1
Loading config file /netup/utm5/utm5_urfaclient.cfg
Loading API XML&#58; /netup/utm5/xml/api.xml
recv_pkt_hdr BIO_read
Но блокировка не ставится...

Если я запускаю через Perl то вылазиет ошибка

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

/libexec/ld-elf.so.1&#58; /usr/local/lib/perl5/site_perl/5.10.1/mach/auto/Ourfa/Ourfa.so&#58; Undefined symbol "ourfa_xmlapi_new"

littlesavage
Сообщения: 120
Зарегистрирован: Вс ноя 22, 2009 02:41
Откуда: Чебоксары

Сообщение littlesavage »

uinman писал(а):Добрый день! Пытаюсь выполнить команду

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

&#91;root@server_new ~&#93;# ourfa_client  -a rpcf_block_account -account_id 18 -is_blocked 1
Loading config file /netup/utm5/utm5_urfaclient.cfg
Loading API XML&#58; /netup/utm5/xml/api.xml
recv_pkt_hdr BIO_read
Но блокировка не ставится...

Если я запускаю через Perl то вылазиет ошибка

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

/libexec/ld-elf.so.1&#58; /usr/local/lib/perl5/site_perl/5.10.1/mach/auto/Ourfa/Ourfa.so&#58; Undefined symbol "ourfa_xmlapi_new"
А какая версия UTM?
ourfa_client -a rpcf_block_account -account_id 18 -is_blocked 1 -debug что выдает?

Перезалил p5-Ourfa для FreeBSD, но, на самом деле, лучше сразу попробовать пересобрать все из исходников :) Там есть порты:
cd ourfa/freebsd/ourfa; make install
cd ourfa/freebsd/p5-ourfa; make install


И сразу скажу, на UTM 5.2.1-008 обязательно нужен сертификат.
Его можно скачать http://wiki.flintnet.ru/doku.php?id=admin.crt положить в /netup/UTM5/admin.crt и ourfa_client запускать с ключем -s rsa_cert

uinman
Сообщения: 75
Зарегистрирован: Чт дек 02, 2010 06:39

Сообщение uinman »

Спасибо. Переустановил. Вставил в admin.crt из той ссылки, что вы дали.
Теперь другие ошибки

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

&#91;root@server_new /var/log/netup&#93;# ourfa_client -s rsa_cert -a rpcf_block_account -account_id 18 -is_blocked 1
Loading config file /netup/utm5/utm5_urfaclient.cfg
Loading API XML&#58; /netup/utm5/xml/api.xml
Wrong Session ID
При запуске из перла ругается на сертификат

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

&#91;root@server_new /tmp&#93;# perl test
Can not load certificate private key `/netup/utm5/admin.crt`&#58; error&#58;0D07207B&#58;asn1 encoding routines&#58;ASN1_get_object&#58;header too long
Ourfa&#58;&#58;SSLCtx&#58;&#58;load_private_key&#58; Wrong client certificat file at /usr/local/lib/perl5/site_perl/5.10.1/mach/Ourfa.pm line 332.
"UTM5-009" может быть изза версии проблема?

Аватара пользователя
ds
Сообщения: 380
Зарегистрирован: Пн сен 18, 2006 14:06

Сообщение ds »

uinman писал(а):Спасибо. Переустановил. Вставил в admin.crt из той
При запуске из перла ругается на сертификат

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

&#91;root@server_new /tmp&#93;# perl test
Can not load certificate private key `/netup/utm5/admin.crt`&#58; error&#58;0D07207B&#58;asn1 encoding routines&#58;ASN1_get_object&#58;header too long
Ourfa&#58;&#58;SSLCtx&#58;&#58;load_private_key&#58; Wrong client certificat file at /usr/local/lib/perl5/site_perl/5.10.1/mach/Ourfa.pm line 332.
"UTM5-009" может быть изза версии проблема?
Нет, проблема именно в сертификате. Распарсить не может. До подключения к серверу дело не доходит.

Ответить