많은 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 tcp
Iptables에 대해 다음과 같이 말합니다.다음 옵션은 이 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