Linuxでファイアウォールがどのように機能するかを理解しようとしています...ドキュメントを読んでいますが、いくつかのことについてはわかりません...
Netfiltersは最新のカーネルに含まれており、フックを使用してコンテンツを変更せずにパッケージを監視できます。
iptablesはnetfilterとip_tablesモジュールを使用するソフトウェアです
。
- IPTablesユーザースペースソフトウェアはフックを登録しますか?
- ip_tableモジュールは何をしますか?
- iptableやモジュールは誰が処理しますか?
- IPtableは何をしますか? (単にメモリのルールを管理していますか、それともフックがあり、トラフィックを処理しますか?)
ベストアンサー1
Webフィルタ
netfilterはカーネルのネットワーキングコード全体に分散されたフックセットです。これは、コードスニペットが重要なタスク(Xと呼びます)を実行したい場合は、「Xを実行します」という関数を呼び出すことを意味します。その後、この関数は登録されたコールバックを通じて他の関心のある当事者に通知します。 IPVSなどの他の(iptables以外の)システムでも使用されます。
netfilterには、ユーザー空間プログラムにパケットを転送するメカニズムも含まれています。 iptables は、QUEUE および ULOG 宛先に使用して、ユーザーがユーザー空間でパケットを処理できるようにします。
ip_tables (カーネルモジュール)
ip_tablesは、netfilterを使用してこれらの通知を受け取るモジュールです。関連するパケットを識別して実行するように指示します。これは、ユーザーが提供したルールに基づいて、どのパケットが関連していてそのパケットで何をすべきかを知っており、これらのルールをテーブルに格納します。実際には、ip_tablesで使用されるより一般的なモジュールxtablesを使用してください。
拡張モジュール
拡張モジュールは、一致基準とターゲット操作を提供するほとんどのタスクを実行します。拡張モジュールのいくつかの例は、IP_NF_TARGET_LOGおよびNF_NATである。
iptables(ユーザースペースツール)
iptablesは、ip_tablesモジュールでこれらのルールを設定するために使用されるユーザースペースツールです。このツールには、コマンドラインオプションを解析してルールを登録するための複数のプラグインも付属しています。
iptablesの内部の詳細
内部原則についてもっと知りたい場合は、以下を参照してください。素晴らしい本それについて。 iptablesのアドオンを作成したい場合は、この本が必要なものをすべて提供していますが、iptablesの使い方をより深く理解するのには役立ちません。
iptablesの使い方の詳細
iptablesの使い方をよりよく理解するために、いくつかの異なるドキュメントを読んで、iptablesがどのように異なる方法で説明されているかを見てください。さらに重要なのは、iptablesを自分で遊ぶ。私は特にLOG宛先を使用して、テーブルとチェーンを通るパケットの流れとそれに対する規則の影響を確認するのが好きです。また、テーブルを通るパケットフロー図とても便利です。最後に、iptablesで何かをしようとしましたが、期待どおりに機能しない場合は、サイトで具体的な質問をしてください。 iptablesについてよく知っている人がよく質問に答えます。