iptables -p proto -m proto는 중복됩니까?

iptables -p proto -m proto는 중복됩니까?

어디에서나 "-p tcp -m tcp"가 표시되지만 중복되는 것 같습니다.

"-p"가 이미 프로토콜과 일치하는 경우 "-m"이 필요한 이유는 무엇입니까?

답변1

iptables가 이미 일부 모듈을 자동으로 로드하기 때문에 처음에는 이것이 중복된 것처럼 보입니다. TCP 패킷의 특정 속성을 확인하기 위해 일치 매개변수를 생성할 -p프로토콜을 지정할 수 있습니다 .-m

설명서에서는 프로토콜( -p)을 사용하면 일치하는 모든 콘텐츠를 로드하기에 충분하다고 명시하고 있습니다.원천그리고 인용하자면:

...이러한 일치 항목은 UDP 및 ICMP 일치 항목이 암시적으로 로드되는 것과 동일한 의미로 암시적으로 로드됩니다. 다른 일치 항목은 이 섹션의 뒷부분(TCP 일치 섹션 이후)에서 살펴보겠습니다.

multiport여러 포트를 필터링해야 하고 일치 항목이 일치 항목과 동일한 방식으로 로드되지 않는다는 것을 알고 있는 경우 이 일치 항목을 사용하는 것이 좋습니다 tcp. 예:

# iptables -I INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

간단히 말해서:중복되지 않습니다. -t filter모든 규칙에 대해 기본 table()을 선언 할 필요가 없으므로 이는 단지 간략한 표현일 뿐입니다 .

관련 정보