때때로 예제에 사용된 숫자가 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
표준 syslog 매크로를 사용하는 것 같습니다.
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 */
결국 숫자를 사용하는 것보다 니모닉을 사용하는 것이 가독성이 더 좋다고 생각합니다.