LINUX.ORG.RU
ФорумAdmin

Отдельные лог-файлы трафика на два определенных порта


0

2

Необходимо:
1. Все входящие коннекты на порт 29000 логировались в файл 'port-29000.log'
2. Все входящие коннекты на порт 29200 в файл 'port-29200.log'

устанавливаю правила:

iptables -t filter -A INPUT -p tcp --dport 29000 -j LOG --log-prefix «port-29000: »

iptables -t filter -A INPUT -p tcp --dport 29200 -j LOG --log-prefix «port-29200: »


Вообще не реагирует и не пишутся даже в файл meessages.log, хотя мне надо в отдельные файлы.

Прошу помощи.


Ответ на: комментарий от AITap

ulog

Воспользуйтесь ulog.

1. Раз я задала вопрос, значит я не знаю никаких других способов.
2. Легче всего дать такой совет: помощи = 0, но зато отметился в топе.
3. ...просмотрела в интернете про ulog. Нашла кучу примеров записи в лог, в единый лог, а не логи по портам. Да еще и с использованием mysql.

Прошу помощи - это значит показать как создать запись INPUT в отдельный файл хотя бы для одного порта. Я потом по аналогии попробую сделать и для второго порта.

OZzzy
() автор топика
Ответ на: ulog от OZzzy

Хорошо, начнём сначала. Какой у Вас используется демон syslog? Если rsyslogd, то можно матчить сообщения от ядра (-j LOG сыпет свои сообщения в dmesg) его регулярными выражениями и раскидывать по разным файлам:

kern.*, contains, "DPT=29000" /var/log/port-29000.log
kern.*, contains, "DPT=29200" /var/log/port-29200.log

Вы могли сами это нагуглить, начав с того, какая программа пишет /var/log/messages, и посмотрев в её документацию.

Этот подход не совсем надёжен (можно написать любую строку в /dev/kmsg, и она попадёт в dmesg), поэтому правильнее использовать ulogd. Замените -j LOG на -j ULOG, раскидайте разные порты по разным --ulog-nlgroup (число от 1 до 32) и запустите 2 копии ulogd, слушающие разные nlgroup и пишущие в разные логи.

iptables -t filter -A INPUT -p tcp --dport 29000 -j ULOG --ulog-nlgroup 1
iptables -t filter -A INPUT -p tcp --dport 29200 -j ULOG --ulog-nlgroup 2
[global]
nlgroup=1
plugin="/usr/lib/ulogd/ulogd_LOGEMU.so"
[LOGEMU]
file="/var/log/port-29000.log"
sync=1
[global]
nlgroup=2
plugin="/usr/lib/ulogd/ulogd_LOGEMU.so"
[LOGEMU]
file="/var/log/port-29200.log"
sync=1

Что тоже очень легко нагуглить (в пределах первой страницы по запросам ulog multiple log files) и прочитать в документации.

См. также http://segfault.kiev.ua/smart-questions-ru.html

Удачи!

AITap ★★★★★
()
Последнее исправление: AITap (всего исправлений: 1)
Ответ на: комментарий от AITap

спасибо за подсказку: ulog multiple log files
задавала в гугл другие запросы. Попробую что-то понять
А вот это: [global] и [LOGEMU] пока что понятия не имею куда вписывать.
Если мозг не сможет обработать самостоятельно, опять напишу

OZzzy
() автор топика
Ответ на: ulog от OZzzy

Нифига у тебя предъявлены, а потом они говорят, что пмс выдумки.

anonymous
()
Ответ на: комментарий от anonymous

anonymous он и в Африке anonymous и соответственное поведение - вместо компетентного ответа - хамство

OZzzy
() автор топика

-j LOG валит в kernel, смотреть dmesg

Bloody ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.