ホームページ » の仕方 » Linuxでiptablesを使う

    Linuxでiptablesを使う

    このガイドでは、Linux上でiptablesを使い方を理解しやすい言葉で説明することを試みます。.

    内容

    [隠す]

    • 1。概要
    • 2使い方
      • 2.1単一のIPアドレスをブロックする
      • 2.2 IPアドレスからのすべてのトラフィックを許可する
      • 2.3すべてのアドレスからのポートのブロック
      • 2.4単一のIPから単一のポートを許可する
      • 2.5現在のルールを見る
      • 2.6現在のルールをクリアする
    • 3流通特有
      • 3.1 Gentoo

    概要

    iptablesはルールベースのファイアウォールで、一致するものが見つかるまで各ルールを順番に処理します。.

    Todo:ここに例を含める

    使用法

    iptablesユーティリティは通常あなたのLinuxディストリビューションにプレインストールされていますが、実際にはルールを実行していません。ほとんどのディストリビューションでこのユーティリティが見つかります。

    / sbin / iptables

    単一のIPアドレスをブロックする

    -sパラメーターを使用してIPをブロックすることができ、10.10.10.10をブロックしようとしているアドレスに置き換えます。この例では、appendの代わりに-Iパラメータ(または-insertも使用可能)を使用したことに注意してください。これは、許可規則の前にこの規則が最初に表示されるようにするためです。.

    / sbin / iptables -I入力-s 10.10.10.10 -j DROP

    IPアドレスからのすべてのトラフィックを許可する

    上記と同じコマンドを使用して、DROPをACCEPTに置き換えることで、IPアドレスからのトラフィックをすべて許可することもできます。 DROPルールの前に、このルールが最初に現れることを確認する必要があります。.

    / sbin / iptables -A入力-s 10.10.10.10 -j ACCEPT

    すべてのアドレスからのポートのブロック

    -dportスイッチを使用して、遮断したいサービスのポートを追加することで、ネットワーク上でのアクセスを完全に遮断することができます。この例では、MySQLポートをブロックします。

    / sbin / iptables -A入力-p tcp --dport 3306 -j DROP

    単一IPからの単一ポートの許可

    -sコマンドを-dportコマンドと一緒に追加して、ルールを特定のポートにさらに制限することができます。

    / sbin / iptables -A入力-p tcp -s 10.10.10.10 --dport 3306 -j ACCEPT

    現在のルールを表示する

    次のコマンドを使用して現在の規則を表示できます。

    / sbin / iptables -L

    これにより、次のような出力が得られます。

    チェーンINPUT(ポリシーACCEPT)ターゲットオプションのソースコピー先ACCEPT all  - すべての場所で192.168.1.1/24すべての場所で承認 -  10.10.10.0/24どこでもDROP tcp  - どこでもtcp dpt:ssh DROP tcp  - どこでもtcp dpt: MySQL

    実際の出力は、もう少し長くなります。.

    現在のルールをクリアする

    flushパラメーターを使用して、現在のすべての規則を消去できます。これは、ルールを正しい順序で並べる必要がある場合、またはテスト中の場合に非常に便利です。.

    / sbin / iptables --flush

    流通固有

    ほとんどのLinuxディストリビューションにはiptablesの形式が含まれていますが、その中には管理を少し簡単にするラッパーが含まれているものもあります。ほとんどの場合、これらの「アドオン」は起動時にiptablesを初期化するinitスクリプトの形式を取りますが、一般的なケースを単純化しようとする本格的なラッパーアプリケーションも含まれています。.

    Gentoo

    の iptables Gentooのinitスクリプトは、多くの一般的なシナリオを処理することができます。まず第一に、それはあなたが起動時にロードするようにiptablesを設定することを可能にします(通常あなたが望むもの):

    rc-update add iptablesのデフォルト

    initスクリプトを使うと、覚えやすいコマンドでファイアウォールをロードしてクリアすることができます。

    /etc/init.d/iptables start /etc/init.d/iptables stop

    initスクリプトは、開始/停止時に現在のファイアウォール設定を保持する詳細を処理します。したがって、あなたのファイアウォールは常にあなたがそれを去った状態にあります。手動で新しいルールを保存する必要がある場合は、initスクリプトでこれを処理できます。

    /etc/init.d/iptables save

    さらに、ファイアウォールを以前の保存状態に復元することもできます(ルールを試していて、以前の作業構成を復元したい場合)。

    /etc/init.d/iptables reload

    最後に、initスクリプトはiptablesを「パニック」モードにすることができます。このモードでは、すべての送受信トラフィックがブロックされます。私はなぜこのモードが便利なのかよくわかりませんが、すべてのLinuxファイアウォールはそれを持っているようです.

    /etc/init.d/iptablesパニック

    警告: あなたがSSH経由であなたのサーバーに接続しているならば、パニックモードを開始しないでください。君は 意志 切り離される! iptablesをパニックモードにするべきなのはあなたがいる間だけです 物理的に コンピュータの前に.