iptables를 사용하면 특정 패킷을 기록할 수 있다는 것을 알았습니다. Linux에서 로깅은 어디에서 발생합니까? 어떤 파일의 로그를 확인해야 합니까?
iptables -A INPUT -i wlan0 -p tcp --syn -s 10.0.0.1 -j ACCEPT
답변1
귀하의 질문에 있는 명령은 iptables -A INPUT -i wlan0 -p tcp --syn -s 10.0.0.1 -j ACCEPT
로깅을 지정하지 않습니다. 그러나 각 iptables 규칙 iptables -L -vn
에는 일치하는 패킷에 대한 패킷 및 바이트 카운터가 포함되어 있으므로 이 명령을 실행한 후 규칙이 생성되었거나 마지막으로 재설정된 이후 소스 IP 주소 10.0.0.1을 통해 들어오는 트래픽 수를 실행하고 확인할 수 있습니다. 인터페이스에 도착하는 SYN 패킷 wlan0
수(최신 항목)
iptables 대상을 사용하는 경우 -j LOG
일치하는 패킷이 커널 로그에 기록됩니다. 다음 명령을 사용하여 최신 커널 로그 메시지를 볼 수 있습니다 dmesg
. 일반적으로 커널 로그 메시지는 Linux 배포판에서 사용하는 로깅 시스템에 의해서도 기록됩니다.
클래식 스타일 로깅을 사용하면 일반적으로 (RHEL 스타일 syslog 구성) 또는 (Debian 스타일 syslog 구성) syslog
에서 커널 로그 메시지를 볼 수 있을 것으로 예상됩니다 ./var/log/messages
/var/log/kern.log
기본 로깅 시스템 으로 사용되는 systemd-journald
배포판에서는 journalctl _TRANSPORT=kernel
현재 저장된 모든 커널 로그 메시지가 출력되어야 합니다 journald
.
--log-prefix
선택적으로 with 옵션을 사용하여 최대 29자까지 사용자 정의 메시지 접두어를 지정할 수 있습니다 iptables ... -j LOG
. 로그 메시지는 상당히 긴 줄이며 다음과 같습니다( \
읽기 쉽도록 여러 줄로 구분).
<timestamp> <hostname> kernel: [optional-prefix]IN=<incoming-interface> OUT=<outgoing-interface> \
MAC=<destination MAC address>:<source MAC address>:<ethertype/length> \
SRC=<source IP address> DST=<destination IP address> LEN=<packet length> \
TOS=<type-of-service value> PREC=<precedence value> TTL=<packet time-to-live value> \
ID=<ID field value/fragment ID> PROTO=<protocol> <protocol-specific information...>
IN=
및 필드가 OUT=
있지만 적용할 수 없는 경우 비어 있습니다. INPUT
필터 체인에 기록된 패킷에는 IN=
지정된 인터페이스 만 있고 각각 OUTPUT
체인에만 있습니다 OUT=
. 체인에 기록된 패킷에는 FORWARD
두 필드가 모두 채워집니다.
예를 들어 들어오는 TCP SYN 패킷을 기록하는 로그 줄은 -j LOG --log-prefix "custom-prefix:"
다음과 같습니다.
Dec 08 12:00:00 hostname.example kernel: custom-prefix:IN=eth0 OUT= \
MAC=11:22:33:44:55:66:aa:bb:cc:dd:ee:ff:08:00 SRC=192.0.2.2 DST=192.168.0.1 LEN=40 TOS=0x00 \
PREC=0x00 TTL=232 ID=12345 PROTO=TCP SPT=54321 DPT=22 WINDOW=1023 RES=0x00 SYN URGP=0
iptables 로그를 다른 커널 로그 메시지와 분리하려면 ulogd
버전 2.x 이상을 설정한 다음 를 사용할 수 있습니다 iptables ... -j NFLOG
. 아주 오래된 커널에서는 여전히 이 메시지가 표시될 수 있지만 -j ULOG
이는 더 이상 사용되지 않습니다. 이제 고대 역사여야 합니다. .