iptables
새로운 연결을 일치시키는 여러 예에서 비슷한 기술을 보았습니다.
-A INPUT -p tcp -m tcp --dport 443 --syn -m conntrack --ctstate NEW -j SSH
위 그림과 같이 tcp
모듈 외에 TCP 플래그(SYN은 1이어야 하고, RST, ACK, FIN은 0)를 기준으로 TCP 연결을 확인한다. 이것에 비해 어떤 이점을 제공합니까?--ctstate NEW
conntrack
-A INPUT -p tcp -m tcp --dport 443 -m conntrack --ctstate NEW -j SSH
내 가정은 일치하는 모듈이 규칙에 지정된 순서대로 평가되고 --syn
,모두포트 443으로 전송된 TCP 패킷은 한 모듈에서 다른 tcp
모듈로 전달됩니다 . conntrack
즉, --syn
이러한 빠른 실패 패러다임이 제공되어야 합니다.
답변1
즉,
--syn
이러한 빠른 실패 패러다임이 제공되어야 합니다.
거의 그 정도입니다. 실제로 확장 메커니즘은 단락됩니다.맨페이지설명하다
일치 항목은 명령줄에 지정된 대로 처음부터 끝까지 평가되며 단락 방식으로 작동합니다. 즉, 확장 프로그램에서 오류가 발생하면 평가가 중지됩니다.
위의 경우 규칙은 두 가지 확장, 즉 tcp
및 를 처리하는 확장과 를 --dport
처리 --syn
하는 conntrack
확장을 사용합니다 --ctstate
. tcp
확장자가 일치할 수 없는 경우 conntrack
확장자는 완전히 건너뜁니다.