岸墙日志记录,但不记录到系统日志

岸墙日志记录,但不记录到系统日志

我安装了 Debian 9.1,用作 NAT 路由器。 Shorewall版本5.0.15.6-1,linux内核版本4.9+80+deb9u1。有两个网络接口。路由功能都工作正常。

我想将连接和拒绝记录到日志文件中,但不是通过系统日志,因为一切否则就去那里。我读了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 restart 时,我没有收到任何编译错误,并且如上面的规则示例所示,我收到了连接到 5509 的系统日志消息,但没有收到连接到 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.

因此,更改此参数不会影响防火墙将其日志消息写入的位置。

如果您想要配置 Shorewall 将 Netfilter 消息定向到除 之外的日志设施syslog,您可能需要参考man shorewall-logging各种选项来实现此目的。

相关内容