Биллинговая система Nodeny

Главная категория => Nodeny 49 => Тема начата: mefer от 20 Августа 2009, 12:32:43



Название: Проблема с IPCAD
Отправлено: mefer от 20 Августа 2009, 12:32:43
На данный момент есть поблема с тем что ядро биллинга не получает статистику травика от сателита
Сбор статистики через IPCAD
Ядро биллинга на Linux CentOS
Сателит на FreeBSD 7.2
В настройках коллектора в биллинге все верно
Вообщем с сервера ядра биллинга команды отдаются:
Код:
 rsh 92.243.71.210 show ip cache flow
connect to address 92.243.71.210 port 544: Connection refused
Trying krb4 rsh...
connect to address 92.243.71.210 port 544: Connection refused
trying normal rsh (/usr/bin/rsh)

IP Flow Switching Cache, 0 bytes
  0 flows, 0 flow alloc failures
  Active flows timeout in 30 minutes
  Inactive flows timeout in 15 seconds

SrcIf         SrcIPaddress    DstIf         DstIPaddress    Pr SrcP DstP  Pkts

[root@noc ~]#
Код:
[root@noc ~]# rsh 92.243.71.210 help
connect to address 92.243.71.210 port 544: Connection refused
Trying krb4 rsh...
connect to address 92.243.71.210 port 544: Connection refused
trying normal rsh (/usr/bin/rsh)
Builtin commands:
        show ip accounting       # Show actual IP accounting
        clear ip accounting      # Move IP accounting to checkpoint
        show ip accounting checkpoint    # Show saved IP accounting
        clear ip accounting checkpoint   # Clear checkpoint database

        show ip cache flow       # Show NetFlow cache

        show interface <iface>   # Show interface counters

        dump [<path>]            # Dump current IP accounting
        restore [<path>]         # Restore IP accounting
        import [<path>]          # Import (add) IP accounting

        stat                     # Show current statistics
        show version             # Show version and uptime

        shutdown                 # Shutdown ipcad

Код:
[root@noc ~]# rsh 92.243.71.210 show ip accounting
Выдает немеряно строк статистики

Вообщем по всем принципам все должно работать, но увы в ядре биллинга так и не появилось ни одной строки.

На сколько я понимаю может проблемы связаны с тем от чьего имени в системе с ядром осуществляется доступ к /usr/bin/rsh а может и еще в чем проблема вообщем у меня затык произошел

Вот конфиг ipcad
Код:
capture-ports disable;
interface bge0;
rsh enable at 127.0.0.1;
rsh enable at 92.243.71.210;
rsh root@92.243.71.254 admin;
rsh apache@92.243.71.254 admin;
rsh 92.243.71.254 admin;
rsh root@127.0.0.1 admin;
rsh ttl = 254;
rsh timeout = 30;
dumpfile = ipcad.dump;
chroot = /tmp;
memory_limit = 50m;


Тут я специально добавил несколько строк пологая что имя пользователя чего то дает...

А вот чего сам биллинг пишет
Цитировать
20.08.09 14:39   Не получен трафик от 92.243.71.210 (92.243.71.210).


Название: Re: Проблема с IPCAD
Отправлено: goletsa от 20 Августа 2009, 15:13:32
Насколько я помню под linux rsh немного извратный и поумолчанию ссылается на ssh вроде.

Выложите пожалуйста вывод:
Код:
ls -l `which rsh`

Под *nix и *bsd вывод отличается:
FreeBSD:
Код:
 ls -l `which rsh`
-r-sr-xr-x  1 root  wheel  8016 Jan 12  2007 /usr/bin/rsh

Linux:
Код:
 ls -l `which rsh`
lrwxrwxrwx 1 root root 21 Мар 20 18:03 /usr/bin/rsh -> /etc/alternatives/rsh


Название: Re: Проблема с IPCAD
Отправлено: Efendy от 20 Августа 2009, 16:06:35
Насколько я помню под linux rsh немного извратный и поумолчанию ссылается на ssh вроде.
именно. Ставь rsh из пакетов Линукса


Название: Re: Проблема с IPCAD
Отправлено: mefer от 20 Августа 2009, 17:03:01
rsh ставил так yum install rsh
Код:
[root@noc ~]# ls -l `which rsh`
[root@noc bin]# ls -l `which rsh`
-rwsrwxrwx 1 root root 8908 Апр 17 04:07 /usr/bin/rsh

левый я стер
было:
Код:
 ls -l `which rsh`
-rwxr-xr-x 1 root root 29792 Апр  8 02:46 /usr/kerberos/bin/rsh

сейчас как во фряхе


Название: Re: Проблема с IPCAD
Отправлено: mefer от 20 Августа 2009, 17:05:09
/usr/bin/rsh выделяется кстати красным цветом
кстати я проверил доступ туда к файлу 777


Название: Re: Проблема с IPCAD
Отправлено: mefer от 20 Августа 2009, 22:12:38
Ну вообщем вроде получилось изменением одного файла в биллинге, но не знаю корректно ли это. Вот содержание файла /usr/local/nodeny/ipcad.pl
Код:
#!/usr/bin/perl
# Вход:
# 0 - сервер
# 1 - название файла
#
# Скрипт должен уложится в 60 секунд, если не уложится, то данные будут проигнорированы
#
# Внимание разработчику.
# 1) С новыми версия системы не забывай проверять поведение команды rsh
#   С консоли запускай такую проверку:
#    rsh -t 2 0.0.0.0 show version >/dev/null
#   - результатом должен быть вывод на консоль ошибки невозможности соединения
#    (важен сам факт вывода текста в поток ошибок)
#    rsh -t 2 0.0.0.0 show version 2>/dev/null
#   - результатом должен быть полностью пустой вывод! (ошибка должна уйти в null)
#  Важно такое поведение rsh т.к при снятии статистики сначала запускается 2й вариант
#  и если вывод отсутствует, что считается, что соединение не осуществлено, после чего
#  запускается первый вариант для того чтобы получить причину ошибки
#

$rsh='/usr/bin/rsh';

($dserver,$file_name)=@ARGV;




# перемещение текущих данных в checkpoint
$com1=qq{$rsh $dserver "cle ip acco" 2>/dev/null};
# получение данных их чекпоинта
$com2=qq{$rsh $dserver "sh ip acco che" 2>/dev/null};

$rez=`$com1`;
$rez=`$com1` unless $rez; # бывали случаи, что из-за глюка с первого раза не устанавливается соединение
exit unless $rez;
$rez=`$com2`;
$rez=`$com2` unless $rez;
$temp_name=$file_name.'_temp';
if (open F,">$temp_name")
  {
   print F $rez;
   close(F);
  }
rename $temp_name,$file_name;
exit;

Если в нем есть критичные ошибки прошу написать...


Название: Re: Проблема с IPCAD
Отправлено: Efendy от 20 Августа 2009, 22:29:17
т.е. ты заменил строку
Код:
$rsh=`which rsh` || '/usr/bin/rsh';
на
Код:
$rsh='/usr/bin/rsh';
?

тутт негде ошибке вкраться


Название: Re: Проблема с IPCAD
Отправлено: mefer от 20 Августа 2009, 22:52:06
нет я убрал пару других строк еще и избавился от всяких -t -l


Название: Re: Проблема с IPCAD
Отправлено: mefer от 20 Августа 2009, 22:57:56
Код:
$rsh.=" -l $1" if $dserver=~s/:(.+)$//;
$rsh.=" -t";
убрал совсем

Код:
$com1=qq{$rsh 5 -n $dserver "cle ip acco" 2>/dev/null};
$com2=qq{$rsh 20 -n $dserver "sh ip acco che" 2>/dev/null};
убрал сочетания "5 -n" и "20 -n" вообщем где то тут мог и напутать

Возможно некотырые измения лишнии но оно заработало