Iptables 규칙에서 -m, --match의 목적은 무엇입니까?

Iptables 규칙에서 -m, --match의 목적은 무엇입니까?

많은 Iptables 규칙에는 이 -m또는 --match옵션이 포함되어 있습니다. 예를 들어

-I INPUT -p tcp -m state --state NEW -m limit --limit 30/minute --limit-burst 5 -j ACCEPT
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p icmp -m conntrack --ctstate NEW -j ICMP

이것은 "특별" 옵션입니까 -m, 아니면 --match"일반" 옵션의 전조입니까?
예를 들어 다음 규칙을 사용하세요.

-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP

이 용어는 -m tcpIptables에 대해 다음과 같이 말합니다.다음 옵션은 이 tcp모듈 에 대한 것입니다- 그럼 그 --tcp-flags FIN,SYN,RST,ACK SYN용어는 그런 맥락으로 해석되는 건가요?
즉, -m tcp이 옵션이 Iptables 규칙에서 단독으로 지정되면 의미가 없습니까?

답변1

-m또는 옵션을 --match사용하여 하나 이상을 활성화합니다.확장된 패킷 매칭 모듈주어진 이름을 사용하십시오. 모듈을 예로 들어 보겠습니다 connbytes. 이는 연결이 전송하는 바이트 수와 일치하는 규칙을 만드는 데 사용할 수 있습니다.

매뉴얼 페이지에는 iptables이에 대한 좋은 설명이 나와 있습니다.

iptables는 확장 패킷 매칭 모듈을 사용할 수 있습니다. 이는 두 가지 방법으로 로드됩니다. 암시적으로, -p 또는 --protocol이 지정된 경우, 또는 -m 또는 --match 옵션과 일치하는 모듈 이름이 뒤따르는 경우, 그리고 나중에 특정 모듈에 따라 다양한 추가 명령줄이 로드됩니다. 옵션을 사용할 수 있게 됩니다. 한 줄에 여러 개의 확장 일치 모듈을 지정할 수 있으며, 모듈을 지정한 후 -h 또는 --help 옵션을 사용하여 해당 모듈과 관련된 도움말을 받을 수 있습니다.

iptables-extensions나는 표준 배포판에 포함된 iptables 모듈을 문서화한 매뉴얼 페이지를 읽어볼 것을 적극 권장합니다 :

$ man iptables-extensions

관련 정보