iptables의 출력 체인 규칙

iptables의 출력 체인 규칙

netfilterINPUT내 체인에서 거부된 트래픽이 내 체인을 통해 허용되는 것 같습니다 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캡처하고 허브 아래에서 무슨 일이 일어나고 있는지 확인하는 것이 좋습니다 .

관련 정보