dmesg가 방화벽 로그를 넘치게 합니다.

dmesg가 방화벽 로그를 넘치게 합니다.

내 iptables에는 삭제된 패킷을 기록하는 규칙이 있습니다.

-A INPUT -i eth0       -j   LOG  --log-prefix "FW: " --log-level 7
-A INPUT -i eth0       -j   DROP

에는 /etc/rsyslog.conf이러한 로그를 전용 파일로 보내는 또 다른 규칙이 있습니다 /var/log/firewall.log.

:msg, contains, "FW: "                    -/var/log/firewall.log
& ~

다른 로그 파일이 & ~넘치거나 넘치지 않도록 로그를 즉시 삭제하십시오 .syslog

dmesg이는 이러한 방화벽 로그( /var/log/dmesg명령의 출력이 아님 dmesg) 가 넘치게 된다는 점을 제외하면 훌륭하게 작동합니다 .

이러한 로그가 표시되지 않도록 하는 방법이 있습니까 dmesg?

답변1

NFLOG대신 대상을 사용할 수 있습니다 LOG.

NFLOG
    This target provides logging of matching packets. When this  target  is  set  for  a
    rule, the Linux kernel will pass the packet to the loaded logging backend to log the
    packet. This is usually used in combination with nfnetlink_log as  logging  backend,
    which  will multicast the packet through a netlink socket to the specified multicast
    group. One or more userspace processes may subscribe to the  group  to  receive  the
    packets.  Like  LOG, this is a non-terminating target, i.e. rule traversal continues
    at the next rule.

필요한 것은 nfnetlink_log강력한 로깅 프로그램뿐입니다. 메시지가 그곳으로 전송되고 사용자 공간 프로세스가 패킷을 기록할지 여부를 결정합니다.

시도해 볼 수 있는 또 다른 방법은 LOG규칙을 특정 임계값으로 제한하는 것입니다.

-A INPUT -i eth0 -m limit --limit 10/minutes -j LOG --log-prefix "FW: " --log-level 7
-A INPUT -i eth0 -j DROP

이는 분당 평균 10개의 패킷을 기록합니다. 물론 필요에 따라 조정할 수도 있습니다.

답변2

다음 명령을 사용하여 로그 수준을 7로 설정하는 경우:

-A INPUT -i eth0       -j   LOG  --log-prefix "FW: " --log-level 7

그런 다음 레벨 임계값을 dmesg에 전달하여 이러한 메시지를 간단히 필터링할 수 있습니다.

dmesg --level=err,warn

답변3

이는 iptables에서 사용하는 로그 수준과 관련이 있을 수 있습니다. rsyslog 문서 로그 수준에서 내가 이해한 한, 우선 순위는 오름차순으로 다음 키워드 중 하나입니다: debug, info, 통지, 경고, 경고(경고와 동일), 오류, 오류(err과 동일), 중요, 경보, 비상, 공황(및 비상). "iptables에서 로그 수준을 지정하기 위해 "notice"라는 이름을 사용하는 것은 어떻습니까? 지금은 전혀 문제가 되지 않는다고 생각하므로 확인하지 않고 게시하는 것은 제 권리입니다. 위와 비슷한 방식을 구현했지만 또한 같은 질문입니다. 내 centos 7 커널은 v3.10.0입니다. v3.5부터 커널 로깅은 /dev/kmsg를 사용하여 수행되는 것 같습니다. dmesg가 어떻게든 거기에서 입력을 받는 것 같습니다.

답변4

왜 신경쓰나요? dmesg최근 커널 메시지를 인쇄하는 저수준 도구이며 실제로 커널에 삭제된 패킷을 기록하도록 요청합니다.

다른 커널 메시지와 다른 로그 파일에 iptables 메시지를 기록하도록 시스템의 syslog 시스템을 구성하고 dmesg.

관련 정보