テーブル |
-t filter | フィルタルール(デフォルト) |
-t nat | NATルール |
-t mangle | パケット改変ルール |
チェイン |
-A [チェイン名] | ルールを追加 |
デフォルトチェイン(INPUT、OUTPUT、FOWORD、PREROTING、POSTROUTING)や、ユーザー定義チェインを指定する |
-N [チェイン名] | ユーザー定義チェイン作成 |
-D [チェイン名] | ルールを削除 |
-F [チェイン名] | チェインの内容を全削除 |
-Z [チェイン名] | パケットカウンタ、バイトカウンタをゼロクリア |
-X [チェイン名] | ユーザー定義チェインを削除 |
条件 |
-p [tcp, udp, icmp, all] | プロトコル |
-s [送信元] | ネットワークIPアドレス(192.168.50.0/24)やIPアドレス(192.168.50.1) |
-d [送信先] | ネットワークIPアドレス(192.168.50.0/24)やIPアドレス(192.168.50.1) |
-i [受信インターフェイス名] | 受信インターフェイス(eth0) |
-o [送信先インターフェイス名] | 送信先インターフェイス(eth1) |
ターゲット |
-j ACCEPT | 許可 |
-j DROP | 破棄 |
-j RETURN | 呼び元のチェインへ戻る |
-j [チェイン] | 条件にマッチした際に飛ぶ先となるチェイン |
よく使いそうなマッチ用拡張 |
-p icmp --icmp-type [数値or名前] | ICMPタイプ(iptables -p icmp -hで確認できる) |
-m limit --limit 10/s --limit-burst 20 | 単位時間当たり制限された回数だけマッチする |
この場合は、1秒間あたり10回までかつ、持ち点20以内に収まっている場合にマッチする。(持ち点は徐々に回復する) |
-m state --state [INVALID,ESTABLISHED,NEW,RELATED] | パケットの接続追跡状態 |
-p tcp --sport [送信元ポート番号] | [ポート番号]:[ポート番号]で範囲指定も可能 |
-p tcp --dport [送信先ポート番号] | [ポート番号]:[ポート番号]で範囲指定も可能 |
-p tcp --tcp-flags [評価対象] [設定されていなければならないフラグ] | いずれも指定可能なのはSYN ACK FIN RST URG PSH ALL NONE |
-p tcp --syn | SYNビットが設定され、ACKとRSTビットがクリアされているパケットにマッチ |
よく使いそうなターゲット用拡張 |
-j LOG --log-level [レベル] --log-prefix [プレフィックス] | ログ出力 |
レベル:emerg(0)、alert(1)、crit(2)、err(3)、warning(4)=デフォルト、notice(5)、info(6)、debug(7) |
-j REJECT | エラーを応答して破棄 |