Linuxなどのメモ書き

iptablesによるフィルタ設定


Rev.6を表示中。最新版はこちら

1.iptablesとは

iptablesコマンドを使用することでLinuxカーネルのIPフィルタやNATを設定できる。

2.テーブルとチェーン

iptablesにはテーブルとチェーンと呼ばれるものがある。IPフィルタ、NATなどの各用途に応じてfilter,nat,mangleのテーブルがある(表-1。カーネルのconfigにも依存する)。各テーブルの中にチェーンがありチェーンの中にフィルタなどのルールが連なっている。チェーンは複数ありパケットの種類によってどのチェーンが使用されるかは異なる。例えばfilterテーブルのINPUTチェーンは自システム宛のパケットに対して適用され、OUTPUTチェーンは自システムが送信するパケットについて適用される(表-2)。

図-1 テーブルとチェーンの概要

     表-1 各テーブルの用途
No.
テーブル
用途
1
filterIPフィルタの設定を行う
2
nat
IPマスカレードの設定を行う
3
mangle
TOSフィールドの書き換えなどパケットの
書き換えルールを設定する。QoSをするのに使う。


表-2 filterテーブルのチェーン
No.
チェーン 適用パケット
1INPUT
自システム宛の受信パケット
(中継パケットは含まない)
2OUTPUT
自システムからの送信パケット
(中継パケットは含まない)
3
FORWARD
中継パケット


3.テーブル情報の表示

現在のfilterテーブルの情報を表示する場合
(FedoraCoreでファイアウォール設定を有効にしてインストールした場合はいっぱい表示されるはず)
# /sbin/iptables -L
NATテーブルの情報を表示する場合
# /sbin/iptables -t nat -L

4.テーブル情報のファイルへの保存

全テーブルの内容をファイルに出力
# /sbin/iptables-save > iptables.txt

ファイルの内容をテーブルに反映させる
# /sbin/iptables-restore  < iptables.txt

5.現在の設定の保存

iptablesで設定した内容は保存しておかないと、システムをリスタートすると消えてしまう。以下のようにスタートアップスクリプトにsave引数を指定して実行することで現在のテーブルの内容がファイルに保存され、起動時に読み込まれるようになる。
# /etc/init.d/iptables save
[捕捉]
FedoraCoreの場合は起動時に/etc/sysconfig/iptablesの内容を読み込んでiptablesを初期化している。上記のコマンドを実行することで現在のテーブル内容がこのファイルに保存される。

iptablesをいろいろ設定したが、一旦初期状態に戻したい場合は以下のようにすれば、/etc/sysconfig/iptablesが読み込まれて起動時の状態に戻せる。
# /etc/init.d/iptables restart



最終更新 2006/05/17 12:22:47 - kztomita
(2006/05/17 11:25:18 作成)
添付ファイル
iptables.png - kztomita


リンク

その他のWiki
Linuxメモ
Xnuメモ

会社
(有)ビットハイブ
受託開発やってます。

よくやる仕事

・Webシステム開発(LAMP環境)
・Linuxサーバー設定関連
サーバー移転作業代行

開発事例にデジタルカタログ/マンガビューワーを追加しました。

draggable.jsのスマホ対応版デモページを追加しました。説明はこちら

検索

Adsense
最近のコメント