web-dev-qa-db-ja.com

iptablesロギングを別のログファイルにリダイレクトする

this answer で@Gillesのレシピに従いました。私は成功しましたが、問題は、iptablesのログがsyslog、kern.log、iptables.logの3つのログファイルに記録されるようになったことです。

理想的には、iptablesのログをiptables.logの1つのファイルにのみ記録するようにします。

2
bearcat

問題は、rsyslogが 50-default.conf で設定されたカスタム設定の前の設定 my_iptables.conf

解決策は、confファイル名に数字のプレフィックスを追加することでした。これは50未満でした。そこで、名前を 10-my_iptables.conf

ファイル /etc/rsyslog.d/10-my_iptables.conf

# Log kernel generated iptables log messages to file
:msg,contains,"[ipT" /var/log/iptables.log
& ~

iptablesロギングプレフィックス:

... -j LOG --log-prefix "[ipT4] ...

ip6tablesロギングプレフィックス:

... -j LOG --log-prefix "[ipT6] ...

その後、再起動しました rsyslog

# Sudo service rsyslog restart

これにより、望ましい効果が得られました。すべてのiptablesロギングは、「/ var/log/iptables.log」に転送されるようになりました。

2
bearcat