Linux iptablesの基礎知識と規則原理の説明
iptablesはLinuxの下で機能する強力なアプリケーション層ファイアウォールツールですが、そのルールの原理と基礎を理解した後、構成も非常に簡単です。
Netfilterとは?iptablesといえばNetfilter、iptablesはアプリケーション層であり、本質的にはルールを定義する構成ツールであり、コアのパケットブロックと転送はNetfilerである。
NetfilterはLinuxオペレーティングシステムのコア層内部のパケット処理モジュールです。
iptablesとNetfilterの関係図:
この図から分かるように、Netfilterはネットワーク層に作用し、パケットはネットワーク層を通じてNetfilterの5つのマウントポイント(Hook point):PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING。
いずれのパケットも、本機を通過すれば、必ずこの5つのマウントポイントのうちの1つを通過します。
iptablesルールの原理iptablesのルール構成は、4つのテーブル5チェーンとも呼ばれます。
4つのテーブル+5つのマウントポイント+ルール
4枚のテーブル:filterテーブル、natテーブル、mangleテーブル、rawテーブル
5つのマウントポイント:PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING具体的には、iptablesの許可/拒否または転送などのルールごとに、テーブルを関連付けるマウントポイントを選択する必要があります。
ルールはパケットの具体的な操作を表し、マウントポイントは操作の位置を表し、テーブルは役割の目的を表します。
iptablesの4枚の表
現在使用されている多くのテーブルは、最初の2つです。
1、フィルターを濾過する;
2、natはアドレス変換に用いる。
3、mangleはパケットを修正する;
4、rawは一般的にiptablesにパケットのリンク追跡処理をさせないため、他のテーブルをスキップし、性能を高める。
ルール・テーブル、マウント・ポイントにおけるパケットのマッチング・フローチャート
次の図は、パケットがマウントポイントを通過するフローチャートです。各マウントポイントでルールを定義するために使用できるテーブルが表示されます。