"iptables" "로그 수준" 옵션의 숫자에 니모닉을 매핑하는 방법은 무엇입니까?

"iptables" "로그 수준" 옵션의 숫자에 니모닉을 매핑하는 방법은 무엇입니까?

때때로 예제에 사용된 숫자가 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 */

결국 숫자를 사용하는 것보다 니모닉을 사용하는 것이 가독성이 더 좋다고 생각합니다.

관련 정보