iptables
Linuxカーネルのパケットフィルタリング機能(Netfilter)を操作するためのツール
より新しいnftablesや、iptablesを楽に操作するfirewalldがある
コマンド例
$ iptables -A INPUT -s 192.168.0.1 -j DROP
関連
iptables アクセス遮断
table:テーブル指定
オプション 説明
-t filter デフォルトのテーブル。フィルタリング用(INPUT, FORWARD, OUTPUT)
-t nat NAT 用。アドレス変換(PREROUTING, OUTPUT, POSTROUTING)
-t mangle パケットのヘッダ変更など特殊用途
-t raw コネクショントラッキング前にルール適用
-t security SELinux 連携用の特殊用途
table:操作(ルール管理)
オプション 説明
-A (Append) チェインにルールを追加
-I (Insert) チェインの指定位置に挿入(例: -I INPUT 1)
-D (Delete) チェインからルールを削除
-R (Replace) 指定した位置のルールを置き換え
-L (List) ルールを一覧表示
-F (Flush) チェイン内のルールを全削除
-Z (Zero) パケットカウンタのリセット
-N (New) 新しいユーザ定義チェインを作成
-X (Delete chain) ユーザ定義チェインを削除
-P (Policy) チェインのデフォルトポリシー設定(例: DROP, ACCEPT)
table:マッチ条件
オプション 説明
-s (source) 送信元アドレス(例: -s 192.168.1.0/24)
-d (destination) 宛先アドレス
-p (protocol) プロトコル(tcp, udp, icmp など)
-i (in-interface) 入力インタフェース
-o (out-interface) 出力インタフェース
--dport 宛先ポート(TCP/UDP用、例: --dport 80)
--sport 送信元ポート
table:ターゲット
ターゲット 説明
ACCEPT パケットを許可
DROP パケットを破棄(応答なし)
REJECT パケットを拒否(エラーメッセージ返す)
LOG syslog に記録
SNAT 送信元アドレス変換(NAT)
DNAT 宛先アドレス変換(NAT)
MASQUERADE 動的 SNAT(主に PPPoE, DHCP 環境)
RETURN 現在のチェイン処理を終了し呼び出し元へ戻る