У меня проблемы с журналами Iptables, я не могу получить их из kern.log, syslog и файлов сообщений.
Я добавил два правила в rsyslog.conf, которые перенаправляют мои сообщения в файл «iptables.log», но журналы также присутствуют в журналах Kern.
Вот мой rsyslog.conf:
############### #### RULES #### ############### # Iptables :msg,contains,"IPT IN/DP: " -/var/log/iptables.log :msg,contains,"IPT6 IN/DP: " -/var/log/iptables.log & ~ # # First some standard log files. Log by facility. # auth,authpriv.* /var/log/auth.log *.*;auth,authpriv.none,cron.none -/var/log/syslog cron.* /var/log/cron.log daemon.* -/var/log/daemon.log kern.* -/var/log/kern.log lpr.* -/var/log/lpr.log mail.* -/var/log/mail.log user.* -/var/log/user.log #(some other rules ....) mail,news.none -/var/log/messages
Как я могу записать в журнал потерянный пакет iptable только в iptables.log, а не в файлах kern.log?
У вас есть пример правила iptables, который вы можете опубликовать? Вы знаете, что iptables может установить --log-level
или --log-prefix
оба из них вы можете использовать для фильтрации сообщений в конкретный файл журнала.
По умолчанию содержимое iptables будет направлено на kern.info
. Если вы не используете какие-либо параметры для установки альтернативного уровня, вы можете обновить свою конфигурацию для системного журнала до этого.
*.*;auth,authpriv.none;\
kern.!info -/var/log/syslog
Вы можете сделать то же самое для kern.log, но имейте в виду, что это также перенаправит другие сообщения kern.info, а не только iptables. Так, может быть, что-то подобное удовлетворит ваши потребности? В kern_info.log, вероятно, будет 99,9% журналов iptables.
kern.*;kern.!info -/var/log/kern.log
kern.info -/var/log/kern_info.log
Я читал, что в rsyslog есть довольно продвинутая фильтрация. Так что вы, вероятно, могли бы установить --log-prefix
и выполните расширенную фильтрацию вместо того, чтобы просто использовать службу / серьезность для фильтрации.
Я не уверен, где & ~
исходит от, но по крайней мере следующее должно выполнять то, что вы хотите:
# Iptables
:msg,contains,"IPT IN/DP: " -/var/log/iptables.log
:msg,contains,"IPT6 IN/DP: " -/var/log/iptables.log
:msg,contains,"IPT IN/DP: " ~
:msg,contains,"IPT6 IN/DP: " ~
Может быть, не самый элегантный, но мне кажется, что подобная конфигурация работает.