参考
概要
ネットワーク上に流れるパケットのヘッダー情報で受取を拒否したり破棄したりするしくみ
他にもNAT(Network Address Translation)やルールによってパケット送信先を変更することができる
仕組み
- iptables 用途に応じたチェインを登録するテーブル。デフォルトはfilter
テーブル 用途 チェイン filter filtering packet INPUT/FORWARD/OUTPUT nat NAT PREROUTING/OUTPUT/POSTROUTING mangle Qos PREROUTING/INPUT/OUTPUT/POSTROUTING
- チェイン一覧 実行するルール(アクション?)の組み合わせ
チェイン 説明 INPUT 入力(受信)パケットに実行 FORWARD マシンを経由するパケットに実行 OUTPUT 出力(送信)パケットに実行 PREROUTING 受信時にパケットに実行 POSTROUTING 送信時にパケットに実行
- アクションポリシーの一覧 パケットがマッチした場合のアクション内容
アクションポリシー 説明 ACCEPT パケットの通過を許可 DROP パケットを破棄 REJECT パケットを拒否し、ICMPメッセージを返信 REDIRECT 特定ポートにリダイレクト
コマンド
- オプション一覧
オプション 説明 -A 指定チェインにルールを追加 -D 指定チェインからルールを削除 -L ルールの表示 -P 指定チェインのポリシーをターゲットに設定 -N 新しいチェインを作成 -X チェインを削除
フィルタリング
- INPUTチェイン デフォルトではポリシーはACCEPT
INVALID いままで接続していない ESTABLISHED 過去双方向のパケット通信を実施 NEW 接続開始したが、双方向通信なし RELATED 接続開始して、FTP転送などを実施
- FORWARDチェイン
転送パケットはすべてREJECTし "icmp-host-prohibited"を返す
- OUTPUTチェイン
- OUTPUTチェインルールがない
- デフォルトポリシーACCEPTで動いている
チェインの編集設定
- 編集方法にはコマンドでのCUI,GUIツールでの編集などの方法がある
- enable to access port http,https
- edit config
/etc/sysconfig/iptables
# 20131018 add ozaki -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
※commandで実施する場合は以下 iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- reboot iptables
sudo /etc/init.d/iptables restart
iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Unloading modules: [ OK ] iptables: Applying firewall rules: [ OK ]

