iptables의 컨텍스트에서 새 TCP 연결을 일치시키려면 다음을 사용할 수 있습니다.
-A INPUT -p tcp --syn -m conntrack --ctstate NEW -j ACCEPT
하지만 플래그가 이미 존재하는 --ctstate NEW
한 여전히 필요합니까? --syn
즉, --syn
패킷은 정의상 항상 새로운 것이 아닌가? 그러면 상태 확인이 중복됩니까, 아니면 그렇게 하면 어떤 이점이 있습니까? 데이터 패키지가 --syn
새 것이 아닐 수 있나요?
때때로 상태 확인이 제거되는 많은 예를 읽었지만 다른 (대부분의) 텍스트에서는 여전히 존재합니다. 또한 다음과 같은 관련 질문을 찾았지만 특정 질문에 대한 정확한 답변을 찾을 수 없습니다.
새로운 TCP 연결을 일치시키기 위해 "--syn"을 사용할 때의 이점
https://serverfault.com/q/338553
감사합니다.
답변1
나는 모든 종속 체인을 첫 번째 규칙으로 만들기 때문에 항상 그것을 발견 --syn
하고 중복됩니다.--ctstate NEW
-m state --state INVALID -j DROP
아이디어는 아마도 당신이 순수주의자가 되고 싶고 TCP/IP 스택을 엄격하게 따르기를 원한다는 것입니다. 즉, 새로운 연결은 하나만 있어야 함을 의미합니다. --syn
즉, 설정된 연결 내에서 SYN 패킷을 보낼 수 없습니다. 연결을 종료하려면 다음을 사용해야 하기 때문입니다. FIN
.