GNU/Linux >> Linux の 問題 >  >> Linux

初心者向けのIptablesチュートリアル–重要な概念

すべてのシステムにとって、ファイアウォールはセキュリティのためになくてはならないものです。 Linuxシステムでは、ファイアウォールはiptablesコマンドラインユーティリティを使用して実装できます。これは、セキュリティを強化するためのファイアウォールルールを設定するのに非常に強力です。内部的には、iptablesは、Netfilter(http://www.netfilter.org/)フレームワークと呼ばれるカーネルのネットワークスタックのパケットフィルタリングフックと相互作用します。パケットフィルタリングとNATルールを管理できます。

注:実際には、iptablesはIPv4ルールを処理し、ip6tableshttp://linux.die.net/man/8/ip6tablesはIPv6ルールを処理します。

iptables入門

iptablesユーティリティは、テーブルの概念を使用してファイアウォールルールを整理します。次に、テーブルにはチェーンのセットが含まれます。また、チェーンには一連のルールが含まれています。

テーブルには4つのタイプがあります。

1.フィルターテーブル
2。 NATテーブル
3。マングルテーブル
4。生のテーブル
5。セキュリティテーブル

フィルターテーブル

これはデフォルトのiptableです。このテーブルは、パケットが宛先に許可されるかどうかを決定します。フィルタテーブルに到達した一般的なパケットは、次の3つのチェーンのいずれかを通過します。

1.入力チェーン–パケットがサーバーに送信される場合、入力チェーンを通過します。
2。出力–パケットソースがサーバーの場合、出力チェーンを通過します。
3。転送–送信元も宛先もサーバーに属していないパケットの場合、転送チェーンを通過します。これは、サーバーの別のNICからのパケットがルーティングされていることを意味します。これは通常、Linuxシステムがルーターとして機能する場合に発生します。

次のコマンドを使用して、システムのフィルターテーブルを表示できます。

sudo iptables -t filter --list
NATテーブル

NATテーブルには次のチェーンが含まれています。

1. PREROUTINGチェーン–このチェーンは主にDNAT(宛先NAT)用です

2. POSTROUTINGチェーン–このチェーンは主にSNAT(ソースNAT)用です

注:ここの例を使用して、DNATとSNATについてお読みください。

3. OUTPUTチェーン–パケットがローカルに配信される場合、このチェーンが使用されます。

次のコマンドを使用してNATテーブルを表示できます。

sudo iptables -t filter --list
マングルテーブル

このテーブルは、主にIPヘッダーを変更するために使用されます。次のチェーンがあります。

1.事前ルーティング
2。出力
3。フォワード
4。入力
5。ポストルーティング

次のコマンドを使用して、マングルテーブルのリストを表示します。

sudo iptables -t mangle --list
生のテーブル

このテーブルは、接続追跡をオプトアウトするためにパケットをマークするメカニズムを提供します。 http://people.netfilter.org/pablo/docs/login.pdf

マングルテーブルには次のチェーンがあります

1.事前ルーティング
2。出力チェーン

次のコマンドを使用して、生のテーブルリストを表示します。

sudo iptables -t raw --list
セキュリティテーブル

このテーブルはSELINUXに関連しています。パケットにSELINUXコンテキストを設定します。具体的には、強制アクセス制御https://en.wikipedia.org/wiki/Mandatory_access_control

に使用されます。

次のコマンドを使用して、セキュリティテーブルリストを表示します。

sudo iptables -t security --list

Linux
  1. 初心者向けのLinuxcdコマンドチュートリアル(8例)

  2. 初心者向けのLinux通信コマンドチュートリアル(5例)

  3. 初心者向けのLinux日付コマンドチュートリアル(8例)

  1. 初心者向けのLinuxdfコマンドチュートリアル(8例)

  2. 初心者向けのLinuxduコマンドチュートリアル(10例)

  3. 初心者向けのLinuxechoコマンドチュートリアル(5つの例)

  1. 初心者向けのLinuxenvコマンドチュートリアル(5つの例)

  2. 初心者向けのLinuxサイズのコマンドチュートリアル(6つの例)

  3. 初心者向けのLinuxkillコマンドチュートリアル(5つの例)