🛠️ rsyslogでiptablesログを破棄する設定手順


📄 概要

iptablesLOG ターゲットによって出力される大量のログが syslog を圧迫するのを防ぐため、rsyslog にフィルタ設定を追加して、特定のログメッセージを保存せずに破棄する方法を紹介します。


📁 設定ファイルの場所

フィルタ設定は以下のファイルに記述します:

/etc/rsyslog.d/10-iptables-filter.conf

このファイルは rsyslog.conf$IncludeConfig /etc/rsyslog.d/*.conf により自動的に読み込まれます。


✏️ 記述方法と構文

各行は以下の構文で記述します:

:msg, contains, "UDP LOG <ポート番号>:" ~
  • :msg:ログメッセージの内容に対するフィルタ
  • contains:指定文字列を含むかどうかの判定
  • "UDP LOG <ポート番号>:":対象となるログメッセージのプレフィックス
  • ~:このログを破棄(保存しない)

🧾 設定例

以下は、複数のポートに対するログを破棄する設定例です:

:msg, contains, "UDP LOG 62030:" ~
:msg, contains, "UDP LOG 8880:" ~
:msg, contains, "UDP LOG 30051:" ~
:msg, contains, "UDP LOG 42000:" ~

🔄 rsyslogの再起動

設定を反映させるには、以下のコマンドで rsyslog を再起動します:

sudo systemctl restart rsyslog

✅ 動作確認

  1. /var/log/syslog/var/log/kern.log に対象ログが出力されていないか確認します。
  2. dmr_monitor5.20C.py などのスクリプトがリアルタイムでログを参照できているか確認します。

📌 注意点

  • ファイル名に全角スペースや不可視文字が含まれていないか確認してください。
  • rsyslog は root 権限で動作するため、ファイルのパーミッションは -rw-r--r-- で問題ありません。

この内容を .md ファイルとして保存したい場合は、次のターンで「Markdownファイルとして保存して」とお伝えください。すぐに作成いたします。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です