我正在运行带有防火墙的Ubuntu Server 14.04系统。 Shorewall基本上是iptables的前端,而通过Netfilter进行日志logging的是iptables(迄今为止我的理解)。
我的问题是我无法理解有关login到不同目的地的shorewall文档 。 这是我来了多远:
ulogd /etc/shorewall/params定义了一个variables: LOG=NFLOG /etc/shorewall/shorewall.conf所有出现的info都更改为$LOG /etc/shorewall/shorewall.conf设置了日志目的地: LOGFILE=/var/log/shorewall 这应该是完成以下内容:Netfilterlogging到NFLOG ( NFLOG后继者)目的地,这意味着Netfilter日志消息由ulogd2处理。
我不知道的是,我可以告诉ulogd2将所有的shorewall消息写入我所需的日志文件/var/log/shorewall 。
这个文件是相当不清楚的,因为这个论坛线程certificate。 我发现这个博客文章同样含糊,关于ulogd2的日志redirect。
ulogd2是否正确? ulogd2将shorewall的消息redirect到/var/log/shorewall ? PS:我不是在AskUbuntu上问这个问题,因为这与其他Linux发行版同样重要。
Ubuntu使用rsyslog,所以你可以configuration它过滤消息,并将其写入任意日志文件,例如创build一个文件/etc/rsyslog.d/shorewall.conf
:msg, contains, "Shorewall:" /var/log/shorewall & ~
或者如果你想分开更多的事情
:msg, contains, "Shorewall:cust2net:ACCEPT:" /var/log/shorewallc2na.log & ~ :msg, contains, "Shorewall:" /var/log/shorewall & ~
其中包含“Shorewall:cust2net:ACCEPT:”的所有消息放入一个日志文件和其他包含“Shorewall”的消息到另一个日志文件中。
您需要重新启动rsyslogd才能生效。
我想你忘了更新policy文件:
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST $FW net ACCEPT net all DROP $LOG # The FOLLOWING POLICY MUST BE LAST all all REJECT $LOG