Linuxでiptablesを使う
このガイドでは、Linux上でiptablesを使い方を理解しやすい言葉で説明することを試みます。.
内容[隠す]
|
概要
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をパニックモードにするべきなのはあなたがいる間だけです 物理的に コンピュータの前に.