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使用して1つ以上を有効にします。拡張パケットマッチングモジュール与えられた名前を使用してください。モジュールを例にしてみましょうconnbytes。これは、接続が送信するバイト数に一致するルールを作成するために使用できます。

マニュアルページには、iptablesこれについての良い説明が記載されています。

iptablesは拡張パケットマッチングモジュールを使用できます。これは2つの方法でロードされます。暗黙的に、-p または --protocol が指定されている場合、または -m または --match オプションと一致するモジュール名が続く場合、および後で特定のモジュールに応じてさまざまな追加のコマンドラインがロードされます。オプションが利用可能になります。 1行に複数の拡張一致モジュールを指定できます。モジュールを指定した後、-hまたは--helpオプションを使用してそのモジュールに関するヘルプを入手できます。

iptables-extensions私は標準のディストリビューションに含まれているiptablesモジュールを文書化したマニュアルページを読むことを強くお勧めします。

$ man iptables-extensions

おすすめ記事