如何将助记符映射到“iptables”“log-level”选项中的数字?

如何将助记符映射到“iptables”“log-level”选项中的数字?

我发现示例中有时使用的数字log-level不明确,没有明确的方法仅从文档中进行映射。

如何从日志级别映射到日志级别数字(枚举值)?

http://manpages.ubuntu.com/manpages/trusty/man8/iptables-extensions.8.html

https://www.linuxtopia.org/Linux_Firewall_iptables/x4238.html

答案1

iptables 还支持文本格式。

这可能有用(在 Bionic 上测试):

iptables -A INPUT -j LOG --log-level debug --log-prefix INBOUND:

答案2

我找到了该iptables项目的一些来源https://www.netfilter.org/downloads.html

在 中iptables/extensions/libebt_log.c,它似乎使用标准的系统日志宏:

static struct code eight_priority[] = {
  { "emerg", LOG_EMERG },
  { "alert", LOG_ALERT },
  { "crit", LOG_CRIT },
  { "error", LOG_ERR },
  { "warning", LOG_WARNING },
  { "notice", LOG_NOTICE },
  { "info", LOG_INFO },
  { "debug", LOG_DEBUG }
};

在大多数实现中sys/syslog.h

#define LOG_EMERG 0 /* system is unusable */
#define LOG_ALERT 1 /* action must be taken immediately */
#define LOG_CRIT  2 /* critical conditions */
#define LOG_ERR   3 /* error conditions */
#define LOG_WARNING 4 /* warning conditions */
#define LOG_NOTICE  5 /* normal but significant condition */
#define LOG_INFO  6 /* informational */
#define LOG_DEBUG 7 /* debug-level messages */

毕竟,我认为使用助记符比使用数字更好地提高可读性。

相关内容