iptablesでパケットフィルタリング 202

/ LPIC / Comment[0]

パケットフィルタは基本的にINPUT,OUTPUT,FORWARDの3つで行い、それぞれをチェインと呼びます。
チェインはルールセットのことで、それらチェインに新しいルールを追加して設定します。
また、チェインのセットをテーブルと呼びます。


テーブルデフォルトチェイン
filterINPUT, OUTPUT, FORWARD
natPREROUTING, POSTROUTING, OUTPUT
mangleINPUT, OUTPUT, FORWARD, PREROUTING, POSTROUTING

iptablesコマンドによるパケットフィルタリング設定


iptablesの書式
  • iptables -[AD] チェイン ルール
  • iptables -P チェイン ターゲット
  • iptables -[LFNX] [チェイン]
  • iptables -I チェイン [ルール番号] ルール
iptablesの主な引数
コマンド
-Aチェインにルールを追加
-Dチェインからルールを削除
-Pチェインのポリシーを変更
ターゲット
-L [チェイン]ルールのリストを表示
-N チェインユーザ定義チェインを作成
-X チェインユーザ定義チェインを削除
-lルールを挿入
-F チェインルールを全て削除
チェイン
INPUT入ってくるパケット
OUTPUT外へ出るパケット
FORWARD転送するパケット
PREROUTING入ってきたパケットを変換
POSTROUTING出て行くパケットを変換
ルール
-s srcaddrソースIPアドレス
-d dstaddr送信先IPアドレス
--sport numソースポート番号
--dport num送信先ポート番号
-j target指定したターゲットが適応される
-p protoプロトコル
-i interface入力インターフェイス名
-o interface出力インターフェイス名
ターゲット
ACCEPT許可
DROP破棄
REJECT拒否
MASQUERADE送信元IPアドレスとポート番号の変換
SNAT送信元IPアドレスの変換
DNAT送信元IPアドレスの変換
LOGログに出力

iptablesの設定例


デフォルトのFORWARD,INPUTポリシーをDROP
# iptables -P FORWARD DROP
# iptables -P INPUT DROP

10.0.0.0/8ネットワークからのtelnetポートを許可
# iptables -A INPUT -p tcp -s 10.0.0.0/8 --dport 23 -j ACCEPT

sshポートを許可
# iptables -A INPUT -p tcp --dport 22 -j ACCEPT

ICMPを明示的に拒否
# iptables -A INPUT -p icmp -j REJECT

25/TCPの通信のログを取る(/var/log/message)
# iptables -A INPUT -p tcp --dport 25 -j LOG --log-prefix "SMTP: "

チェイン内のルールとユーザ定義チェインを削除
# iptables -F;iptables -X

iptablesの設定を保存
# iptables-save
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可