LINUX.ORG.RU

Сообщения igor_ua

 

Падают Иксы при запуске xmms.

Подскажите пожалуйста.

Собрал, поставил freetype2 в SuSE 9.2, наконец-то шрифты стали нормальными. Но после этого приложения типа XMMS, XPDF и подобные (с gtk и qt приложениями все ок) при запуске валят Иксы. Проблема в том, что когда, например, в xmms в настройках пытаюсь выбрать шрифт, просто кликаю на нем, то тут же падают Иксы, тоже самое и X pdf...

Что можно сделать?

Спасибо.

igor_ua
()

Сборка php extensions проблемка :-(

Делаю так:

Заходим в /usr/local/src/php-4.3.10/ext/bz2/:
1) /usr/local/php4/bin/phpize
2) ./configure --with-php-config=/usr/local/src/php-4.3.10/scripts/php-config
Все нормально, затем:
3) make
И тут получаю такое:
/bin/sh /usr/local/src/php-4.3.10/ext/bz2/libtool --mode=link gcc -DPHP_ATOM_INC -I/usr/local/src/php-4.3.10/ext/bz2/include -I/usr/local/src/php-4.3.10/ext/bz2/main -I/usr/local/src/php-4.3.10/ext/bz2 -I/usr/local/php4/include/php -I/usr/local/php4/include/php/main -I/usr/local/php4/include/php/Zend -I/usr/local/php4/include/php/TSRM -DHAVE_CONFIG_H -g -O2 -o bz2.la -export-dynamic -avoid-version -prefer-pic -module -rpath /usr/local/src/php-4.3.10/ext/bz2/modules bz2.lo -lbz2
libtool: link: `bz2.lo' is not a valid libtool object
make: *** [bz2.la] Error 1

Причем такая ошибка получается и с др. extensions...

P.S. Дистрибутив SuSE 9.2, php 4.3.10 & php 5.0.3 
igor_ua
()

Запуск графических приложений из терминала

Куда смотреть, если из konsole не получается приложение с графическим интерфейсом. Вот например:

/usr/local/src/kernel/linux-2.6.11.5 # make xconfig
scripts/kconfig/qconf arch/i386/Kconfig
Xlib: connection to ":0.0" refused by server
Xlib: Invalid MIT-MAGIC-COOKIE-1 key
qconf: cannot connect to X server :0.0
make[1]: *** [xconfig] Error 1
make: *** [xconfig] Error 2
igor_ua
()

KDE 3.4 System notification

SuSE 9.2. Обновил KDE до 3.4, точнее удалил старый и поставил новый. Теперь пропал звук для системных сообщений (при старте, выходе). В Control Center:

Sound System->Enable sound system = true;

System notification->Actions->Play a sound = true, но при попытке воспроизвести, просто молчит.

XMMS и др. приложения нормально воспроизводят звуки. Все пакеты КДЕ врде поставил...

В чем может быть проблема?

Спасибо.

igor_ua
()

Какая программа записывает видео из снимков экран?

Чем можно записать в видео все действия на экране? Чего-то в FAQ я не нашел... Вот что нашел в googl.com: 1) xvidcap -- xvidcap.sourceforge.net 2) vnc2swf

но не собираются они у меня :(.

Может есть что по-проще?

igor_ua
()

Класс для работы с очередью

Это попытка реализовать класс для работы с очередью сообщений.
Сообщение задается в виде структуры, которая содержит указатель
на следующий элемент (такую же структуру).
Хотелось бы узнать, на сколько правильно это организовано,
плюс, что на счет структур с точки зрения именно С++?

Были ьы интересны замечания.

============================BEGIN============================
#ifndef QUEUE_H
#define QUEUE_H

// Message structure
struct queueNodeStruct {
  char to[128];
  char message[512];
  struct queueNodeStruct *nextPtr;
};

typedef struct queueNodeStruct queueNode;
typedef queueNode *queueNodePtr;



// Queue class
class queueClass {
  private:
    queueNodePtr headPtr;
    queueNodePtr tailPtr;

  public:
    queueClass( );
    int isEmpty( queueNodePtr );
    void dequeue( );
    void enqueue( char [], char []);
    queueNodePtr queueHead( );
    queueNodePtr queueTail( );
};


// Constructor
queueClass::queueClass( ) {

  headPtr = NULL;
  tailPtr = NULL;
}


// Queue is empty?
int queueClass::isEmpty( queueNodePtr headPtr ) {

  return headPtr == NULL;
}


// Enqueue -- add message to queue
void queueClass::enqueue( char to[], char msg[]) {
  queueNodePtr newPtr;

  newPtr = new queueNode;
  if( newPtr != NULL ) {
    strncpy( newPtr->to, to, 128 );
    strncpy( newPtr->message, msg, 512 );
    newPtr->nextPtr = NULL;
    if( isEmpty( headPtr ) ) {
      headPtr = newPtr;
    }
    else {
      tailPtr->nextPtr = newPtr;
    }
    tailPtr = newPtr;
  }
  else {
    std::cout << "Cannot allocate memory in queue for new item.\n";
  }
}


// Dequeue -- remove message from queue
void queueClass::dequeue( ) {
  queueNodePtr nodeToDel;

  if( !isEmpty( headPtr ) ) {
    nodeToDel = headPtr;
    headPtr = headPtr->nextPtr;
    if( headPtr == NULL ) {
      tailPtr = NULL;
    }
    delete nodeToDel;
  }
}


// Get head pointer
queueNodePtr queueClass::queueHead( ) {

  return headPtr;
}


// Get tail pointer
queueNodePtr queueClass::queueTail( ) {

  return tailPtr;
}

#endif
=============================END=============================



И пример работы с очередью, конечно примитивный, но просто
для проверки работы :-)

============================BEGIN============================

#include <iostream>
#include "queue.h"

void instructions( void );
void printQueue( queueNodePtr currentNode );


int main() {
  queueClass queue;
  int choice;
  char to[128], msg[512];


  instructions();
  std::cout << "? ";
  std::cin  >> choice;

  while( choice != 3 ) {
    switch( choice ) {
      case 1:
        std::cout << "Message to: ";
        std::cin  >> to;
        std::cout << "Message: ";
        std::cin  >> msg;
        queue.enqueue( to, msg );
        printQueue( queue.queueHead() );
        break;

      case 2:
        queue.dequeue( );
        printQueue( queue.queueHead() );
        break;

      default:
        std::cout << "Invalid choice\n";
        instructions();
        break;
    }

    std::cout << "? ";
    std::cin  >> choice;
  }

  std::cout << "End of run.\n";
  return 0;
}


void instructions( void ) {

  std::cout << "Your choice:\n" << "  1. add item\n" << "  2. remove item\n" << "  3. quit\n";
}


void printQueue( queueNodePtr currentPtr ) {

  if( currentPtr == NULL ) {
    std::cout << "Queue is empty" << std::endl;
  }
  else {
    std::cout << "The queue is:" << std::endl;
    while( currentPtr != NULL ) {
      std::cout << currentPtr->to << " -> [" << currentPtr->message << "]" << std::endl;
      currentPtr = currentPtr->nextPtr;
    }
  }
}
=============================END=============================
igor_ua
()

Можно ли использовать?

Здравствуйте.

Вопрос такой, можно ли использовать GNU GPL библиотеки для С/С++ принаписании комерческого приложения?

Например такие как iconv, libxml и т.п.

Если пишется приложение, в котором необходимо будет парсить конфигурационный файл на XML, можно ли использовать libxml в этом приложении? Или же тут надо свое решение писать?

Спасибо.

igor_ua
()

XMMS и почему?

Понимаю что вопрос не новый и не оригинальный, но есть такое дело:
1. фалй i18n:

SYSFONTACM="koi8-r"
SYSFONT="cyr-sun16"
SUPPORTED="ru_RU.KOI8-R:ru_RU.koi8r:ru_RU:ru"

LANG="en_UA.KOI8-R"
LC_MESSAGES="en_US"

т.е. шрифты КОИ8-Р, а все сообщениея и интерфейс на англ.
все работает даже mc - и русские имена файлов на нтфс видны и печатать можно русскими.

2. Но в приложениях типа xmms (не в самом его окне, а в диалоге ОТКРЫТИЯ ФАЙЛОВ или ДОБАВЛЕНИЯ ДИРРЕКТОРИИ), xpdf и подобными,
русские символы - закарлючки. Я так понимаю что тут проблема с GTK? Я вроде прописал в /etc/gtk/gtkrc.ru и /etc/gtk/gtkrc.uk на первом месте koi8-r. Может где еще указать это надо? Так как проблема именно с приложениями использующими "старый" интерфейс (не знаю как его назвать, но отличный от того что в новых приложениях в КДЕ...)

Спасибо.
igor_ua
()

Postfix + SASL

Здравствуйте.
Есть связка постфикс и сасл на Дебиан.
Как разрешить отправлять письма с любого компьютера через смтп?
(возможно с использованием САЛС, но БЕЗ MySQL)
Вот конфиги:

#cat /etc/postfix/main.cf
___________________________________________________
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

mydestination = $myhostname localhost.$mydomain localhost
#mynetworkstyle = class
alias_maps = $alias_database

virtual_alias_domains = xxx1.com, xxx2.com, xxx3.com

virtual_maps = hash:/etc/postfix/vmailbox
virtual_minimum_uid = 100
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_alias_maps = hash:/etc/postfix/virtual


smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $mydestination
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sender_restrictions = permit_sasl_authenticated
smtpd_recipient_restrictions =  permit_mynetworks,
                                permit_sasl_authenticated,
                                permit_auth_destination,
                                reject_unauth_destination
___________________________________________________

#cat /etc/default/saslauthd
___________________________________________________
START=yes


MECHANISMS="shadow"
OPTION="-a pam -m /var/spool/postfix/var/run/saslauthd"
___________________________________________________

#ps wax | grep saslauthd
___________________________________________________
30623 ?        Ss     0:00 /usr/sbin/saslauthd -a shadow
30624 ?        S      0:00 /usr/sbin/saslauthd -a shadow
30625 ?        S      0:00 /usr/sbin/saslauthd -a shadow
___________________________________________________

Т.е. нужно использовать /etc/shadow для получения имени и пароля юзера при авторизации. В системе есть юзер test, пароль testpass.
#printf 'test\0test\0testpass' | mmencode
#dGVzdAB0ZXN0AHRlc3RwYXNz

Далее, если запустить телнет, то получим:
___________________________________________________
#telnet XXX1.com 25
Trying 111.111.111.111...
Connected to XXX1.com (111.111.111.111).
Escape character is '^]'.
220 teenecke.de ESMTP Postfix
ehlo localhost
250-teenecke.de
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH NTLM LOGIN PLAIN DIGEST-MD5 CRAM-MD5 GSSAPI
250-AUTH=NTLM LOGIN PLAIN DIGEST-MD5 CRAM-MD5 GSSAPI
250 8BITMIME
AUTH PLAIN dGVzdAB0ZXN0AHRlc3RwYXNz
535 Error: authentication failed
___________________________________________________

В логах:
mail.warn
Nov 22 04:46:15 test postfix/smtpd[31837]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Nov 22 04:46:15 test postfix/smtpd[31837]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Nov 22 04:46:15 test postfix/smtpd[31837]: warning: SASL authentication failure: Password verification failed
Nov 22 04:46:15 test postfix/smtpd[31837]: warning: xxx.xxx.ua[000.000.000.000]: SASL PLAIN authentication failed

Я уже просто не знаю что делать.

Буду благодарен совету.


igor_ua
()

Debian & Apache

Здравствуйте.

Не подскажите в чем может быть проблема.
Дело вот в чем:
есть сервер под Debian, Apache 2.0.51 + php 4.3.8 + perl 5.8.4
Часть настройки конфига апача:
-----------------------
DocumentRoot "/var/www/XXXX/htdocs"

<Directory />
  Options Includes Indexes FollowSymLinks
  AllowOverride All
</Directory>

<Directory "/var/www/XXXX/htdocs">
  Options +Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  Allow from All
</Directory>


ScriptAlias /cgi-bin/ "/var/www/XXXX/cgi-bin/"
AddHandler cgi-script .cgi .pl

<Directory "/var/www/XXXX/cgi-bin/">
  AllowOverride All
  Options +Indexes ExecCGI MultiViews
  Order allow,deny
  Allow from all
</Directory>

-----------------------

при запросе
www.XXXX.com/cgi-bin/printenv.pl

выдает 500 Internal Server Error
а в логе:
Premature end of script headers.

Если попытаться запустить скрипт вручную, то пишет
: bad interpreter: No such file or directory /usr/bin/perl

хотя если

# /usr/bin/perl /var/www/XXXX/cgi-bin/printenv.pl

то все ок.

Файл printenv.pl:
------------------------
#!/usr/bin/perl
##
##  printenv -- demo CGI program which just prints its environment
##

print "Content-type: text/plain\n\n";
foreach $var (sort(keys(%ENV))) {
    $val = $ENV{$var};
    $val =~ s|\n|\\n|g;
    $val =~ s|"|\\"|g;
    print "${var}=\"${val}\"\n";
}

------------------------
igor_ua
()

Ulogd & MySQL

Здравствуйте.
Пожалуйста, помогите разобраться с форматом записи Ulogd в MySQL таблице.
Например есть таблица, которая идет по умолчанию с Ulogd, там есть следующие записи:


id - Уникальный ключ;
raw_mac - MAC адреса, (Формат: 
00:80:8c:1e:12:60:00:10:76:00:2f:c2:08:00, где
00:80:8c:1e:12:60: - Destination MAC,
00:10:76:00:2f:c2: - Source MAC,
08:00 - ethernet frame carried an IPv4 datagram);
oob_time_sec - время в Юникс формате (т.е. в секундах с 1970-01-01);
oob_time_usec - ?Я хотел бы узнать что это?;
oob_prefix Префикс, который указывается в правилах iptables (опционально);
oob_mark - ?Хотел бы узнать что это?;
oob_in - интерфейс вход (Например eth0);
oob_out - интерфейс выход (Например eth1); 
ip_saddr - ?А в каком формате IP источника? (У меня пишет так: 3451652444)?;
ip_daddr - тожесамое для получателя.
ip_protocol - id протокола (protocol-numbers);
ip_tos - ?Я хотел бы узнать что это?(Возможно RFC2481);
ip_ttl - remaining Time To Live;
ip_totlen - Total Length;
ip_ihl - ?Я хотел бы узнать что это?;
ip_csum - Header Checksum;
ip_id - Identification(Header info);
ip_fragoff - Fragment Offset;
tcp_sport - Source port (TCP)(port-numbers);
tcp_dport - Destination port (TCP)(port-numbers);
tcp_seq - Receive Sequence number;
tcp_ackseq - Same as the Receive Sequence number, but for the other end of the TCP connection;
tcp_window - The TCP Receive Window size.
This may be scaled by bit-shifting left by a number
of bits specified in the "Window Scale" TCP option.
If the host supports ECN, then the TCP Receive
Window size will also be controlled by that;
tcp_urg - Urgent flag;
tcp_urgp - The Urgent Pointer allows for urgent,
"out of band" data transfer. Unfortunately not all protocol
implementations agree, so this facility is hardly ever used.
tcp_ack - Acknowledgement flag;
tcp_psh - Push flag;
tcp_rst - RST (Reset) flag;
tcp_syn - SYN flag, only exchanged at TCP connection establishment;
tcp_fin - FIN flag, only exchanged at TCP disconnection;
udp_sport - Source port (UDP)(port-numbers);
udp_dport - Destination port (UDP)(port-numbers);
udp_len - Total Length;
icmp_type - ICMP type;
icmp_code - ICMP code;
icmp_echoid - Echo Identifier;
icmp_echoseq - Echo Sequence Number;
icmp_gateway - Gateway;
icmp_fragmtu - ?Я хотел бы узнать что это?;
pwsniff_user - если подключить модуль ulogd_PWSNIFF.c;
pwsniff_pass - если подключить модуль ulogd_PWSNIFF.c;
ahesp_spi - ?Я хотел бы узнать что это?;

igor_ua
()

Crond?

Здравствуйте.
Кто может сказать где грабли лежат.
Скрипт test.php лежит в папке /var/www/html/traffic/
PHP 5.0 в /usr/local/php/bin/

crontab -e
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.26059 installed on Mon Aug  2 18:51:25 2004)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root nice -n 19 run-parts /etc/cron.hourly
02 4 * * * root nice -n 19 run-parts /etc/cron.daily
22 4 * * 0 root nice -n 19 run-parts /etc/cron.weekly
42 4 1 * * root nice -n 19 run-parts /etc/cron.monthly
05 00 * * * /usr/local/php/bin/php -f /var/www/html/traffic/dayly.php
10 00 * * * /usr/local/php/bin/php -f /var/www/html/traffic/dayly_update_yesterday.php
00,15,30,45 * * * * /usr/local/php/bin/php -f /var/www/html/traffic/dayly_update.php
52 18 * * * /usr/local/php/bin/php -f /var/www/html/traffic/test.php
30 00 01 * * /usr/local/php/bin/php -f /var/www/html/traffic/monthly_balance.php

причем 2 скрипта последних не делают то что требуется от них. Т.е. при запуске в командной строке - все ОК, через Апач, тоже все ок.
В логе Крона, есть записи о выполнении данного задания.
info

Aug  2 18:52:00 localzone CROND[26088]: (root) CMD (/usr/local/php/bin/php -f /var/www/html/traffic/test.php)

Но результат нулевой.
ПХП заставил писать лог, в нем нет сообщений об ошибках.

Linux Mandrake 10


Спасибо.

igor_ua
()

Какой SSH Client под Windows используете Вы?

Здравствуйте.
Есть ли у Вас желание поделиться опытом?
Какой по Вашему мнению самый лучший SSH Client для Windows?

P.S. Естественно, что бы работать с Linux :-).
igor_ua
()

Apache + Perl

Здравствуйте.

Apache 2.0.50 собрал. В чем может быть проблема. Если в .pl скрипте написать:

#!"/usr/bin/perl" print "Content-type: text/plain\n\n"; print "Some string\n";

то при обращении к данному скрипту из IE он (IE 6 SP1) сразу предлагает загрузить файл. В др. браузерах все нормально - отображается. Т.е. скрипт парсится, но с таким хедером IE его пытается загрузить (В загруженом файле отображается результат работы скрипта).

В чем грабли? Это глюк Internet Explorer или я не правильно настроил сервер? Конфигурация следующая:

ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/" <Directory "/usr/local/apache2/cgi-bin"> AllowOverride All Options -Indexes ExecCGI Order allow,deny Allow from all </Directory>

Mod_perl не ставил, вернее он не захотел ставиться, но это отдельный вопрос. И вообще стоит ли его ставить или вполне можно обойтись без него? Эот локальный веб-сервер.

Спасибо большое. :-)

igor_ua
()

Сборка php 5.0.0

Буду благодарен, если кто расскажет как скомпилировать пхп со всеми модулями, типа того как это сделано в Windows,
т.е. там в php.ini можно вкл/выкл разные модули dll. Т.е. что бы не надо было его пересобирать при необходимости
подключить какой-либо модуль.

У меня выдается ошибка при попытке сконфигурировать его с поддержкой имап:
./configure --with-imap
Выдает:
...
checking for IMAP support... yes
checking for pam_start in -lpam... no
checking for crypt in -lcrypt... (cached) yes
checking whether SSL libraries are needed for c-client... no
checking whether build with IMAP works... no
configure: error: build test failed. Please check the config.log for details.

А вот что в config.log:
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../libc-client.a(osdep.o)(.
text+0xadf0):/home/stewb/rpm/BUILD/imap-2002d/c-client/osdep.c:132: undefined
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../libc-client.a(osdep.o)(.
text+0xae0d):/home/stewb/rpm/BUILD/imap-2002d/c-client/osdep.c:159: undefined
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../libc-client.a(osdep.o)(.
text+0xae22):/home/stewb/rpm/BUILD/imap-2002d/c-client/osdep.c:159: undefined
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../libc-client.a(osdep.o)(.
text+0xae3a):/home/stewb/rpm/BUILD/imap-2002d/c-client/osdep.c:159: undefined
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../libc-client.a(osdep.o)(.
text+0xae4f):/home/stewb/rpm/BUILD/imap-2002d/c-client/osdep.c:157: undefined
collect2: ld returned 1 exit status
configure: failed program was:
#line 41364 "configure"
#include "confdefs.h"

Спасибо.
igor_ua
()

Configure PHP 5.0.0

Буду благодарен, если кто расскажет как скомпилировать пхп со всеми модулями, типа того как это сделано в Windows,
т.е. там в php.ini можно вкл/выкл разные модули dll. Т.е. что бы не надо было его пересобирать при необходимости
подключить какой-либо модуль.

У меня выдается ошибка при попытке сконфигурировать его с поддержкой имап:
./configure --with-imap
Выдает:
...
checking for IMAP support... yes
checking for pam_start in -lpam... no
checking for crypt in -lcrypt... (cached) yes
checking whether SSL libraries are needed for c-client... no
checking whether build with IMAP works... no
configure: error: build test failed. Please check the config.log for details.

А вот что в config.log:
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../libc-client.a(osdep.o)(.
text+0xadf0):/home/stewb/rpm/BUILD/imap-2002d/c-client/osdep.c:132: undefined
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../libc-client.a(osdep.o)(.
text+0xae0d):/home/stewb/rpm/BUILD/imap-2002d/c-client/osdep.c:159: undefined
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../libc-client.a(osdep.o)(.
text+0xae22):/home/stewb/rpm/BUILD/imap-2002d/c-client/osdep.c:159: undefined
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../libc-client.a(osdep.o)(.
text+0xae3a):/home/stewb/rpm/BUILD/imap-2002d/c-client/osdep.c:159: undefined
/usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/../../../libc-client.a(osdep.o)(.
text+0xae4f):/home/stewb/rpm/BUILD/imap-2002d/c-client/osdep.c:157: undefined
collect2: ld returned 1 exit status
configure: failed program was:
#line 41364 "configure"
#include "confdefs.h"

Спасибо.
igor_ua
()

Netacct-mysql и SNAT

Здравствуйте. У меня стоит сервер на Mandrake Linux 10, MySQL 4.0.18 и netacct-mysql 0.73. Есть 2 интерфейса: eth0(192.168.11.1) - смотрит в локальную сеть, eth1(192.168.246.130) - смотрит на роутер с ip 192.168.246.129, а тот дальше к провайдеру, ну это не столь важно.

Так вот, я использую iptables и SNAT, правило следующее: iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.246.130

Если я хочу разрешить доступ клиентам в Интернет (по умолчанию в iptbales все пакеты в таблице FORWARD - DROP, PREROUTING & POSTROUTING - ACCEPT), то добавляю правило в таблицу FORWARD: iptables -D FORWARD -p ALL -s 192.168.11.100 -m mac --mac-source 00:00:00:00:00:00 -j ACCEPT iptables -D FORWARD -p ALL -d 192.168.11.100 -j ACCEPT

Если хочу запретить, то просто удаляю эти правила.

Я считаю трафик netacct-mysql 0.73 с полным логинингом. Вот конфиг: mysql_user acct mysql_password ******** mysql_host localhost mysql_database netacct mysql_table accounting

pidfile /var/run/nacctd.pid flush 300 fdelay 60 file /var/log/net-acct dumpfile /var/log/net-acct-dump

notdev eth1 device eth0 iflimit eth0

ignoremask 255.255.255.0 ignorenet 127.0.0.0 255.0.0.0 debug 2 debugfile /tmp/nacctd.debug

headers lo 14 12 headers eth 14 12

hostlimit 192.168.11.100 hostlimit 192.168.11.101 hostlimit 192.168.11.102 hostlimit 192.168.11.103 hostlimit 192.168.11.104

Судя из конфига, я считаю трафик для клиентов указаных в hostlimit на интерфейсе eth0, т.е. на том, который смотрит в локальную сеть.

Вопорс у меня в следующем: даже если я запрещаю доступ клиентам в инет (см. выше), то все равно при активности клиента (когда он шлет пакеты в Интернет), netacct все равно считает их и пишет в базу. Понятно, что он и должен считать, так как они проходят eth0 интерфейс, но дальше на eth1 не идут, из-за правил в таблице FORWARD. Если в конфиге netacct я меняю eth0 на eth1, то из-за SNAT, все адреса клиентов меняются на адрес eth1 интерфейса и получается, что я не могу разделить трафик по клиентам. Как можно сделать так, чтобы трафик считался на eth1 интерфейсе и его можно было разделить по клиентам, т.е. чтобы netacct видел адреса клиентов а не адрес после SNAT. Или сделать так, чтобы трафик считался на eth0 интерфейсе, но при закрытии доступа в Интернет, не считался netacct-ом трафик. Он конечно не большой (даже лучше сказать маленький), но все равно как-то неправильно получается.

Спасибо за помощь. P.S. Извеняюсь за столь большое сообщение :-).

igor_ua
()

RSS подписка на новые темы