NATルーターとして使用するためにDebian 9.1をインストールしました。 Shorewallバージョン5.0.15.6-1、Linuxカーネルバージョン4.9+80+deb9u1。 2つのネットワークインターフェイスがあります。ルーティング機能はすべてうまく機能します。
接続と拒否をログファイルに記録したいのですが、syslog経由ではありません。すべてそれ以外の場合は、そこに行きます。私は読んだhttp://shorewall.org/shorewall_logging.html私が見つけた他の文書は周辺事例に関するものでしたが、最善を尽くしてそれに従いました。しかし、私のulogログファイルは空で、netfilterメッセージはまだ/var/log/kern.logに送信されます。
以下は、関連する構成ファイルから抜粋したものです。
/etc/shorewall/params
ETH1=br1
LOG="NFLOG(1,,)"
/etc/shorewall/shorewall.conf
LOGFILE=/var/log/shorewall-run.log
LOGFORMAT="Shorewall:%s:%s:"
MACLIST_LOG_LEVEL=$LOG
RPFILTER_LOG_LEVEL=$LOG
SFILTER_LOG_LEVEL=$LOG
SMURF_LOG_LEVEL=$LOG
STARTUP_LOG=/var/log/shorewall-init.log
TCP_FLAGS_LOG_LEVEL=$LOG
/etc/shorewall/ルール
ACCEPT:$LOG loc $FW tcp 5509
ACCEPT:$LOG net $FW tcp 5509
ACCEPT loc $FW udp 53
ACCEPT loc $FW tcp 53
/etc/ulogd.conf は在庫であり、/usr/share/doc/ulogd2/examples/ulogd.conf.gz と同じです。
Shorewall の再起動を実行すると、コンパイルエラーは発生せず、上記のルール例に示すように、5509 に接続する syslog メッセージが表示されますが、53 は表示されません。ログエントリが間違った場所に移動します。
私は何が間違っていましたか?
ベストアンサー1
~によるとman shorewall.conf
LOGFILE=[pathname|systemd]
This parameter tells the /sbin/shorewall program where to look
for Shorewall messages when processing the dump, logwatch, show
log, and hits commands.
したがって、このパラメータを変更してもファイアウォールがログメッセージを記録する場所には影響しません。
NetfilterメッセージをNetfilter以外のログ記録機能に転送するようにShorewallを設定するには、これを達成するためにさまざまなオプションを参照する必要がありsyslog
ます。man shorewall-logging