Биллинговая система Nodeny
23 Ноября 2024, 14:35:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Проблема с IPCAD  (Прочитано 10162 раз)
mefer
NoDeny
Пользователь
*

Карма: 4
Offline Offline

Сообщений: 46


Просмотр профиля Email
« : 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).
« Последнее редактирование: 20 Августа 2009, 12:50:38 от mefer » Записан
goletsa
NoDeny
Спец
*

Карма: 21
Offline Offline

Сообщений: 973


Просмотр профиля
« Ответ #1 : 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
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #2 : 20 Августа 2009, 16:06:35 »

Насколько я помню под linux rsh немного извратный и поумолчанию ссылается на ssh вроде.
именно. Ставь rsh из пакетов Линукса
Записан
mefer
NoDeny
Пользователь
*

Карма: 4
Offline Offline

Сообщений: 46


Просмотр профиля Email
« Ответ #3 : 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

сейчас как во фряхе
Записан
mefer
NoDeny
Пользователь
*

Карма: 4
Offline Offline

Сообщений: 46


Просмотр профиля Email
« Ответ #4 : 20 Августа 2009, 17:05:09 »

/usr/bin/rsh выделяется кстати красным цветом
кстати я проверил доступ туда к файлу 777
« Последнее редактирование: 20 Августа 2009, 17:07:00 от mefer » Записан
mefer
NoDeny
Пользователь
*

Карма: 4
Offline Offline

Сообщений: 46


Просмотр профиля Email
« Ответ #5 : 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;

Если в нем есть критичные ошибки прошу написать...
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #6 : 20 Августа 2009, 22:29:17 »

т.е. ты заменил строку
Код:
$rsh=`which rsh` || '/usr/bin/rsh';
на
Код:
$rsh='/usr/bin/rsh';
?

тутт негде ошибке вкраться
Записан
mefer
NoDeny
Пользователь
*

Карма: 4
Offline Offline

Сообщений: 46


Просмотр профиля Email
« Ответ #7 : 20 Августа 2009, 22:52:06 »

нет я убрал пару других строк еще и избавился от всяких -t -l
Записан
mefer
NoDeny
Пользователь
*

Карма: 4
Offline Offline

Сообщений: 46


Просмотр профиля Email
« Ответ #8 : 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" вообщем где то тут мог и напутать

Возможно некотырые измения лишнии но оно заработало
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!