netfilter
INPUT
내 체인에서 거부된 트래픽이 내 체인을 통해 허용되는 것 같습니다 OUTPUT
. INPUT
관련 패킷 체인에 적용되는 규칙은 다음과 같습니다 .
LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "ICATCH:"
REJECT-PKT all -- * * 0.0.0.0/0 0.0.0.0/0
사용자 정의 REJECT-PKT
체인 및 관련 규칙:
REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp reject-with tcp-reset
기록된 결과는 다음과 같습니다.
May 15 06:41:51 li51-144 kernel: ICATCH:IN=eth0 OUT= MAC=f2:3c:91:1f:61:44:84:78:ac:0d:97:c1:08:00 SRC=188.138.135.9 DST=<my IP> LEN=40 TOS=0x00 PREC=0x00 TTL=46 ID=46841 PROTO=TCP SPT=8838 DPT=23 WINDOW=22014 RES=0x00 SYN URGP=0
May 15 06:41:51 li51-144 kernel: OCATCH:IN= OUT=eth0 SRC=<my IP> DST=188.138.135.9 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=23 DPT=8838 WINDOW=0 RES=0x00 ACK RST URGP=0
두 번째 행은 테이블의 다음(마지막에서 두 번째) 규칙에 따라 생성됩니다 OUTPUT
.
LOG all -- 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6 prefix "OCATCH:"
내 생각에 거부된 패킷은 커널에 의해 표시되고 규칙 RST
에 의해 iptables
생성된 플래그가 있는 TCP 트래픽은 방화벽에 의해 처리되지 않는다는 것입니다.
내가 뭘 잘못 이해했나요?
답변1
@Aaron이 말했듯이 이것은 정상입니다.
들어오는 패킷이 REJECT
규칙에 도달하면 netfilter에 의해 처리되고 RST
패킷과 메시지로 보낸 사람에게 응답합니다.
하지만 반대로 설정하면 DROP
해당 소스에서는 아무런 메시지도 수신되지 않습니다.
이 링크를 확인하세요: DROP과 REJECT의 차이점
tcpdump
출력을 실행 하거나 wireshark
캡처하고 허브 아래에서 무슨 일이 일어나고 있는지 확인하는 것이 좋습니다 .