conntrack
マッチモジュール--ctstate
引数はRELATED
パケット状態をサポートします。 Netfilterは、たとえばアクティブなFTPの場合、FTPサーバーのデータポート(TCPポート20)からクライアントが以前に指定した非特権データポートへの接続がRELATED
接続であることをどのように認識しますか? Netfilterには、RELATED
でサポートされている各プロトコルが記述されているモジュールがいくつかありますか?最後になりましたが、このRELATED
状態でサポートされているプロトコルのリストはありますか?
さまざまなインターネット制御メッセージプロトコル(ICMP)パケットは、一部のプロトコルの接続(またはその試み)に「関連」している可能性がありますが、これらのICMPパケットは、それらを引き起こしたプロトコルとは異なるため、「関連」の概念です。これは、ホストまたはファイアウォールが宛先到達不能ICMPパケットとのTCPまたはUDP接続の試行を拒否した場合に発生する可能性があります。RELATED
を許可すると、関連するICMPパケットが通過します(TCPにはRSTなので、関連するICMP応答を発行する場合としない場合があり、ファイアウォール管理者はICMP応答を許可する場合と許可しない場合があります...)
アプリケーションレベルのプロトコル(FTPなど)には、それぞれカスタムモジュールが必要です。これは、パケットを掘り下げて、netfilterが認識している他のものとどのように関連しているかを把握するために、カスタムコードが必要だからです。これらのモジュールは、どのアプリケーションでも誰でも作成できますが、使用可能なnf_conntrack_*
ファイルを調べることは、リストを開始するのに適した場所です。
% print -l /lib/modules/3.10.0-327.13.1.el7.x86_64/kernel/net/netfilter/nf_conntrack_*(:t)
nf_conntrack_amanda.ko
nf_conntrack_broadcast.ko
nf_conntrack_ftp.ko
...