iptablesのログ出力でdmesgが埋め尽くされると困るので、NFLOGエクステンションを用いて、ulogd経由でsyslogにログを吐くようにしてみた
/etc/ulogd.conf
[global]
logfile="/var/log/ulogd.log"
loglevel=5
rmem=131071
bufsize=150000
plugin="/usr/lib/ulogd/ulogd_inppkt_NFLOG.so"
plugin="/usr/lib/ulogd/ulogd_inpflow_NFCT.so"
plugin="/usr/lib/ulogd/ulogd_raw2packet_BASE.so"
plugin="/usr/lib/ulogd/ulogd_filter_IP2STR.so"
plugin="/usr/lib/ulogd/ulogd_filter_PRINTPKT.so"
plugin="/usr/lib/ulogd/ulogd_output_LOGEMU.so"
plugin="/usr/lib/ulogd/ulogd_filter_IFINDEX.so"
plugin="/usr/lib/ulogd/ulogd_output_SYSLOG.so"
stack=log1:NFLOG,base1:BASE,ifi1:IFINDEX,ip2str1:IP2STR,print1:PRINTPKT,emu1:LOGEMU
stack=log2:NFLOG,base1:BASE,ifi1:IFINDEX,ip2str1:IP2STR,print1:PRINTPKT,sys1:SYSLOG
[log1]
group=1
[log2]
group=2
numeric_label=1
[emu1]
file=/var/log/ulogd.syslogemu
iptablesの-j LOGな設定も以下のように変更
/bin/iptables -A KZ_DENY -j NFLOG --nflog-prefix="[Kazakhstan] " --nflog-group 2
今回はgroup2としてsyslogで吐かせているが、そこは自由にするとよいだろう