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

方法:基本的なIPTablesファイル構成

はじめに

この記事では、/ etc / sysconfig / iptablesファイルを介したiptablesの構成について説明します。これは、追跡する複雑なルールセットがある場合、または関連するすべてのフラグとオプションを処理する必要がない場合に役立ちます。コマンドラインからiptablesを設定します。

前提条件

CentOS 6.5以前(または同様のディストリビューション)を実行しているサーバー

IPTablesをインストールする必要があります

基本的なIPTablesファイルの構成

iptablesファイルを手動で構成する主な利点の1つは、コメントです。一致モジュール(「-mcomment –comment」)を介してコメントを利用できますが、「」を使用して、iptablesファイル自体のコメントをより広範囲に使用できます。 行頭の‘文字:

# This is a comment and will be ignored when iptables is loaded

比較のポイントがあります。sudoserviceiptables save を使用して保存した場合、iptablesファイルがどのように表示されるかを見てみましょう。 コマンド。

sudo service iptables save

サンプル:サービスiptablesの保存

このように少数のルールがある場合は問題ないかもしれませんが、追跡するルールが数百ある場合を想像してみてください。そもそもこれらのルールを作成する意図が何であったかを思い出すのに役立つ少しの解説なしに、これらのルールを解析するのは難しいかもしれません。それでは、少し解説を追加しましょう。選択したテキストエディタを使用して、iptablesファイルの編集可能なコピーを開きます(次のスクリーンショットはvimから取得したものですが、新しい学習者が簡単に使用できるように、コマンドエントリにnanoを含めます):

sudo nano /etc/sysconfig/iptables

コメント付きのIptablesファイル

これは(1つの例外を除いて)上記のコメントのないファイルと同じファイルです。たくさんのiptablesルールを読むことに慣れていない場合、このファイルはそれほど威圧的ではない可能性があります(コメントが十分に明確であれば、特に複雑なルールがどのように機能するかを思い出させることもできます!) 。

鋭い目は、このiptablesファイルのsshルールが少し薄っぺらであることに気付いたかもしれません。2行目(すべてのsshトラフィックを許可する)は、1つの特定のIPがsshを許可されることを指定する最初の行のポイントを本質的に無効にします。これらのルールは、いくつかの基本的なルール形式を示すように構成されています。本番環境では、より制限の厳しい一連のルールが設定されている可能性があります。

2つのiptablesルールセットの間に注意すべきルールの変更が1つあります。コメント文字の別の使用法を示すために、「」を追加しました 」入力の前 上記のルールのいずれにも一致しないトラフィックを拒否することを指定するルールと、このチェーンのデフォルトのアクションを実行する前にすべてのトラフィックをログに記録する必要があるという新しいルールを追加しました( DROP )。 (iptablesアクティビティのログ記録の詳細については、iptablesの基本的なトラブルシューティングに関するこの記事を参照してください)。コメントアウトしたのは拒否だけなので ルール、必要に応じて、「」を削除できます 」文字を使用して、ルールを再入力する代わりに、そのルールを復元します。これは、さまざまなルールをテストするとき、または将来または期間限定でアクティブ化する可能性のあるルールを含めるときに役立ちます。

/ etc / sysconfig/iptablesファイルの各ルールは「-A」で始まることに注意してください ' 指図。コマンドラインでiptablesを使用して追加することに慣れている場合は、これらのルールが sudo iptablesに続くものと非常によく似ていることに気付くかもしれません。 CLIを介してiptablesを変更するときのコマンドの一部。 「-A ‘コマンドは、指定されたチェーンの最後にルールを追加する必要があることを示します。行番号は必要ないことに注意してください(「 -I 」の場合のように) ‘または -R ‘)‘ -A以降 ‘は、定義上、そのチェーン内のルールのリストの最後にルールを追加します。これが、ルールの順序が重要である理由です。iptablesは、これらのルールをチェーン内の順序で解析することによってトラフィックをフィルタリングするためです。

このファイルに対して行う編集を完了して保存したら、新しいルールを読み込む必要があります。すべての変更が確実に読み込まれるようにする最も簡単な方法は、iptablesサービスを再起動することです。このアクションにより、実行中の現在のすべてのiptablesルールがフラッシュされ、/ etc / sysconfig/iptablesファイルに現在存在するルールが再ロードされます。

sudo service iptables restart

サービスiptablesは出力を再開します

次に、新しいルールを追加します。エラーを含めて、iptablesサービスを再起動したときに何が起こるかを確認します。

再起動の失敗の例

はい、「tco」は確かに未知のプロトコルです。この出力は、エラーが発生したファイルの行番号とエラーの簡単な説明を提供するのに十分親切なので、これは1つの利点です。ただし、この出力は、/ etc / sysconfig / iptablesファイルを介してファイアウォールルールを変更し、サービス全体を再起動することの1つの欠点も示しています。出力の最初の行は、すべてのチェーンが ACCEPTに設定されていることを示していることに注意してください。 。次の行は、括弧で囲まれた「OK」で示されているように、すべてのルールをフラッシュし、すべてのモジュールをアンロードします。これらはすべて正常に完了します。リロード中にiptablesサービスでエラーが発生すると、iptablesファイル全体のロードに失敗します。つまり、サーバーはフィルタリングを行わずに残され、すべてのチェーンはデフォルトで ACCEPTになります。 。

IPtablesのステータス

NATもお持ちの場合 またはMANGLE iptablesファイルにルールを設定すると、そこでアドレス変換も失われるため、ファイルに変更を加えてサービスを大規模に再開することの大きな欠点の1つになる可能性があります。

理想的には、iptablesルールセットがより複雑になるにつれて、/ etc / sysconfig / iptablesファイルに(説明コメント付きで)変更を加えてから、特にコマンドラインから手動で新しいルールを追加するのが最善の策です。これらの変更が実動サーバーで実行されている場合。マイレージはニーズによって異なる場合があります。


Linux
  1. Iptables ルールを表示および削除する方法 – リストとフラッシュ

  2. auditd ルールからファイル/ディレクトリを除外する方法

  3. CentOS / RHEL 6 :iptables ルールを保存する方法

  1. CentOS / RHEL :iptable ルールを追加する方法

  2. ファイル内で \n を grep する方法

  3. iptables ルールを期限切れにする方法は?

  1. iptablesルールをフラッシュする方法

  2. iptablesルールをフラッシュする方法

  3. Linux –再起動せずに70-persistent-net.rulesを再生成する方法は?