6.5.15. ULOG target
ULOG能够在用户空间记录被匹配的包的信息,这些信息和整个包都会通过netlink socket被多播。然后,一个或多个用户空间的进程就会接受他们。换句话说,ULOG是至今iptables和Netfilter下最成熟、最完善的日志工具,他包含了很多更好的工具用于包的记录。这个target能够是我们把信息记录到MySQL或其他数据库中。这样,搜索特定的包或把记录分组就很方便了。您能够在ULOGD project page里找到ULOGD用户空间的软件。
Table 6-25. ULOG target
| Option | --ulog-nlgroup |
| Example | iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-nlgroup 2 |
| Explanation | 指定向哪个netlink组发送包,比如-- ulog-nlgroup 5。一个有32个netlink组,他们被简单地编号位1-32。默认值是1。 |
| Option | --ulog-prefix |
| Example | iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-prefix "SSH connection attempt: " |
| Explanation | 指定记录信息的前缀,以便于区分不同的信息。使用方法和 LOG的prefix相同,只是长度能够达到32个字符。 |
| Option | --ulog-cprange |
| Example | iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-cprange 100 |
| Explanation | 指定每个包要向“ULOG在用户空间的代理”发送的字节数,如--ulog-cprange 100,表示把整个包的前100个字节拷贝到用户空间记录下来,其中包含了这个包头,更有一些包的引导数据。默认值是0,表示拷贝整个包,不管他有多大。 |
| Option | --ulog-qthreshold |
| Example | iptables -A INPUT -p TCP --dport 22 -j ULOG --ulog-qthreshold 10 |
| Explanation | 告诉ULOG在向用户空间发送数据以供记录之前,要在内核里收集的包的数量(译者注:就像集装箱),如--ulog-qthreshold 10。这表示先在内核里积聚10个包,再把他们发送到用户空间里,他们会被看作同一个netlink的信息,只是由好几部分组成罢了。默认值是1,这是为了向后兼容,因为以前的版本不能处理分段的信息。 |




