何も知らないなら IPTABLESについて、私はあなたに勧めます IPTABLESの最初の紹介記事を読む Linuxカーネルのこの素晴らしい要素のテーブルの主題を説明し始める前に基礎を取り、強力で効果的なファイアウォールまたはファイアウォールとしてフィルタリングおよび機能するため。 そして、セキュリティはますます心配になっているということですが、Linuxは、脅威と戦うために見つけることができる最高のツールのXNUMXつを実装しているので、幸運です。
すでにご存知のとおり、IPTABLESはLinuxカーネル自体に統合されています、およびnetfilterプロジェクトの一部であり、iptablesに加えて、ip6tables、ebtables、arptables、およびipsetで構成されています。 これは、ほとんどのLinux要素と同様に高度に構成可能で柔軟なファイアウォールであり、ある程度の脆弱性はありますが、それでも特に強力です。 カーネル内にあるため、システムから開始し、常にアクティブであり、カーネルレベルでパケットを受信します。これらは、iptablesルールを参照して受け入れまたは拒否されます。
XNUMX種類のテーブル:
しかし iptablesは多くのテーブルタイプのおかげで機能します これがこの記事のメイントピックです。
マングルテーブル
ラス マングルテーブル 彼らはパッケージの変更を担当しており、このためのオプションがあります。
-
咳: Type Of Serviceは、パケットのサービスタイプを定義するために使用され、インターネットに送信されるパケットではなく、パケットのルーティング方法を定義するために使用する必要があります。 ほとんどのルーターは、このフィールドの値を無視するか、インターネット出力に使用すると不完全に動作する可能性があります。
-
TTL: パッケージの有効期間フィールドを変更します。 その頭字語はTimeTo Liveの略で、たとえば、詮索しすぎている特定のインターネットサービスプロバイダー(ISP)に発見されたくない場合に使用できます。
-
マーク: パケットを特定の値でマークし、帯域幅を制限し、CBQ(クラスベースのキューイング)を介してキューを生成するために使用されます。 後で、iproute2などのプログラムによって認識され、これらのパケットのブランドに応じて異なるルーティングが実行されます。
おそらく、これらのオプションは、最初の記事からはなじみのないものに聞こえるかもしれません。
NATテーブル:PREROUTING、POSTROUTING
ラス NAT(ネットワークアドレス変換)テーブルつまり、パケットが新しい接続を作成するときに、ネットワークアドレス変換が参照されます。 これらは、パブリックIPを多くのコンピューター間で共有できるようにするため、IPv4プロトコルに不可欠です。 これらを使用して、パケットのIPアドレスを変更するルールを追加できます。ルールには、送信元アドレスのSNAT(IPマスカレード)と宛先アドレスのDNAT(ポート転送)のXNUMXつのルールが含まれています。
へ 変更を加える, XNUMXつのオプションが可能です 私たちはすでに最初のiptablesの記事でそれらのいくつかを見ました:
- 事前ルーティング: パッケージがコンピュータに到着したらすぐに変更します。
- OUTPUT: ローカルで生成され、出力用にルーティングされるパケットの出力用。
- ポストルーティング: コンピューターを離れる準備ができているパッケージを変更します。
フィルタリングテーブル:
ラス フィルタテーブル これらはデフォルトでデータパケットを管理するために使用されます。 これらは最も使用されており、ファイアウォールまたはフィルターが構成されているため、パケットのフィルター処理を担当します。 すべてのパッケージはこの表を通過します。変更については、紹介記事でも見たXNUMXつの事前定義されたオプションがあります。
- 入力: 入力の場合、つまり、システムに入る予定のすべてのパケットは、このチェーンを通過する必要があります。
- OUTPUT: 出力については、システムによって作成され、別のデバイスに残されるすべてのパッケージ。
- フォワード: ご存知かもしれませんが、リダイレクトは単にそれらを新しい宛先にリダイレクトし、このチェーンを通過するすべてのパケットに影響を与えます。
最後に、Linuxシステムで送受信される各ネットワークパケットは、これらのテーブルのXNUMXつ、少なくともXNUMXつ、または同時に複数のテーブルの対象となる必要があります。 また、複数のテーブルルールに従う必要があります。 たとえば、ACCEPTを使用すると、途中で続行でき、DROPアクセスは拒否されるか送信されません。また、REJECTを使用すると、パケットを送信したサーバーまたはコンピューターにエラーを送信せずに、単に破棄されます。 ご覧のとおり、 各テーブルには、ターゲットまたはポリシーがあります 上記のオプションまたはチェーンのそれぞれについて。 これらは、ここでACCEPT、DROP、およびREJECTとして言及されているものですが、QUEUEのような別のものがあります。後者は、アドレスに関係なく、特定のプロセスを介して到着するパケットを処理するために使用されます。
ご覧のとおり、iptablesをXNUMXつの記事で詳細に説明するのは少し難しいです。最初の記事で、いくつかの例でiptablesを使用する基本的なアイデアが得られることを願っています。理論。 コメント、疑問、貢献を残してください、彼らは大歓迎です.