iptables
로그 출력을 다른 시스템 로그와 혼합하고 싶지 않습니다 . iptables
LOG 체인 출력을 위한 전용 로그 파일을 지정하는 방법은 무엇입니까 ?
답변1
이를 수행하는 방법은 사용하는 로깅 데몬 syslog
또는 syslog-ng
.
그리고시스템 로그, 메시지 만 포함하도록 특정 로그 수준을 조정하면 iptables
됩니다 .
존재하다 /etc/syslog.conf
:
kern.warning /var/log/iptables
iptables
다음 로그 수준 설정을 사용하십시오.
iptables -A INPUT -j LOG --log-level 4
당신 과 함께 syslog-ng
라면 당신은 좀 더 멋질 수 있을 것입니다. 로그 수준을 깨는 대신 콘텐츠를 필터링하고 해당 콘텐츠를 특정 로그 파일로 보낼 수 있습니다.
존재하다 /etc/syslog-ng/syslog-ng.conf
:
destination d_iptables { file("/var/log/iptables"); };
filter f_iptables { match("IN=[A-Za-z0-9\.]* OUT=[A-Za-z0-9\.]*" value("MESSAGE")); };
log { source(s_sys); filter(f_iptables); destination(d_iptables); }
답변2
다음과 같이 사용할 수 있습니다.
:msg,contains,"IPTABLES:" /var/log/iptables
& stop
이는 다른 규칙 앞에 추가되어야 합니다. 예를 들면 다음과 같습니다.
:msg,contains,"IPTABLES:" /var/log/iptables
& stop
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
...
LOG 타겟에 설정 한 대로 IPTABLES:
변경하기 . 하나를 사용하지 않으면 & stop
메시지는 표준 /var/log/syslog
파일과 /var/log/iptables
.
이는 모든 kern.warning 메시지를 리디렉션하는 것보다 더 나은 솔루션입니다. 이 경우 원하는 정보뿐만 아니라 다른 정보도 리디렉션할 수 있기 때문입니다.