LINUX.ORG.RU

История изменений

Исправление AITap, (текущая версия) :

Хорошо, начнём сначала. Какой у Вас используется демон 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, :

Хорошо, начнём сначала. Какой у Вас используется демон 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