iptables(8)
パケットフィルタリングを設定する
構文
iptables [サブコマンド] [パラメータ]
サブコマンド
-A, --append CHAIN RULE | チェインCHAINにルールRULEを追加する |
-D, --delete CHAIN RULE | チェインCHAINからルールRULEを削除する |
-D, --delete CHAIN RULENUM | チェインCHAINからルール番号RULENUMを削除する |
-I, --insert CHAIN RULENUM RULE | ルールRULEをチェインCHAINのルール番号RULENUM(デフォルトは1)の次に追加する |
-R, --replace CHAIN RULENUM RULE | チェインCHAINのルール番号RULENUMをRULEで置き換える |
-L, --list [CHAIN] | チェインCHAIN(省略した場合はすべて)のルールを一覧表示する |
-S, --list-rules [CHAIN] | チェインCHAIN(省略した場合はすべて)のルールを表示する |
-F, --flush CHAIN | チェインCHAIN(省略した場合はすべて)のルールを削除する |
-Z, --zero [CHAIN [RULENUM]] | チェインCHAIN(およびルール番号RULENUM)のパケットとバイトカウントを0にする |
-N, --new CHAIN | 新しくユーザー定義チェインCHAINを作成する |
-X, --delete-chain [CHAIN] | ユーザー定義チェインCHAINを削除する |
-P, --policy CHAIN TARGET | チェインCHAINのポリシーをTARGETとする |
-E, --rename-chain OLDCHAIN NEWCHAIN | ユーザー定義チェインの名前をOLDCHAINからNEWCHAINに変更する |
主なパラメータ
! | 先頭に付けると「指定したパラメータ以外」となる |
[!] -p, --proto PROTOCOL | プロトコルPROTOCOLを指定する(tcp, udp, udplite, icmp, esp, ah, sctp, all) |
[!] -s, --source ADDR[/MASK] | 送信元のアドレスADDR(およびネットマスクMASK)を指定する |
[!] --sport PORT | 送信元のポートPORTを指定する |
[!] -d, --destination ADDR[/MASK] | 宛先のアドレスADDR(およびネットマスクMASK)を指定する |
[!] --dport PORT | 宛先のポートPORTを指定する |
-j, --jump TARGET | ルールにマッチした場合の移動先をターゲットTARGETとする |
-g, --goto CHAIN | チェインCHAINに移動する(戻りなし) |
[!] -i, --in-interface INT | 入力ネットワークインターフェースINTを指定する(NAME+とするとワイルドカードとなる) |
[!] -o, --out-interface INT | 出力ネットワークインターフェースINTを指定する(NAME+とするとワイルドカードとなる) |
[!] -f, --fragment | 2つめ以降のフラグメントにのみマッチする |
-c, --set-counters PACKETS BYTES | パケットとバイトカウントをパケットPACKETS、バイトBYTESとして初期化する |
-v, --verbose | 詳細に出力する |
-n, --numeric | 名前解決せずIPアドレスやポートを数値で出力する |
-t, --table TABLE | 操作するテーブルTABLEを指定する(デフォルトはfilter) |
--line-numbers | ルールをリスト表示する際にルール番号で表示する |
-m, --match | マッチングモジュールを利用する |
-m, --match --state STATE | 接続状態STATE(INVALID, ESTABLISHED, NEW, RELATED)にマッチする |
-x, --exact | 正確な数値を表示する |
説明
カーネルの機能を利用してパケットフィルタリングを行う。パケットが通過する場所(チェイン)にルールを設定し、ルールにマッチしたパケットはターゲットに送られる。ターゲットには、ユーザー定義チェインの他、ACCEPT(許可)、DROP(破棄)、REJECT(拒否)、LOG(ログに出力)などがある。チェインのセットであるテーブルには、デフォルトのfilterテーブルの他、natテーブル、mangleテーブルがある。設定したルールを保存するにはiptables-saveコマンド、保存したルールを呼び出すにはiptables-restoreコマンドが利用できる。
使用例
INPUTチェインのポリシーをDROPに設定する。
# iptables -P INPUT DROP
送信元アドレスが10.0.0.1からのパケットを許可する。
# iptables -A INPUT -p tcp -s 10.0.0.1 -j ACCEPT
宛先ポート番号が80番ポートのパケットを許可する。
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT