IPTABLES58 cmd
iptablesチート集
チェーン管理・NAT・フィルタ・mangle・保存復元・nftables 移行を含む iptables の運用チート。
- 更新日
- 2026-05-12
- 参照範囲
- 公式ドキュメント / man page / 主要ベンダーCLI
- 対象実装
- 主要 Linux / BSD / ネットワーク機器 CLI の一般的な実装
- 免責
- OS とバージョン差分は実環境で確認してください。
58 / 58
| Command | Description | Example | Copy |
|---|---|---|---|
iptables -L | 全ルールを一覧表示 | sudo iptables -L | |
iptables -L -n | 数値形式でルールを表示(名前解決なし) | sudo iptables -L -n | |
iptables -L -v | 詳細情報付きでルールを表示 | sudo iptables -L -v --line-numbers | |
iptables -L -t nat | NATテーブルのルールを表示 | sudo iptables -L -t nat | |
iptables -L -t mangle | mangleテーブルのルールを表示 | sudo iptables -L -t mangle | |
iptables -S | ルールをiptables-save形式で表示 | sudo iptables -S | |
iptables -F | 全ルールをフラッシュ(削除) | sudo iptables -F | |
iptables -X | ユーザー定義チェーンを全削除 | sudo iptables -X | |
iptables -Z | パケットカウンターをゼロにリセット | sudo iptables -Z | |
iptables -P | チェーンのデフォルトポリシーを設定 | sudo iptables -P INPUT DROP | |
iptables -A INPUT | INPUTチェーンにルールを追加 | sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT | |
iptables -A OUTPUT | OUTPUTチェーンにルールを追加 | sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT | |
iptables -A FORWARD | FORWARDチェーンにルールを追加 | sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT | |
iptables -I | チェーンの先頭にルールを挿入 | sudo iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT | |
iptables -D | チェーンからルールを削除 | sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT | |
iptables -D (line) | 行番号を指定してルールを削除 | sudo iptables -D INPUT 3 | |
iptables -R | チェーン内のルールを置換 | sudo iptables -R INPUT 1 -p tcp --dport 8080 -j ACCEPT | |
iptables -N | ユーザー定義チェーンを作成 | sudo iptables -N MYCHAIN | |
iptables -t nat -A POSTROUTING MASQUERADE | IPマスカレード(SNAT)を設定 | sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | |
iptables -t nat -A PREROUTING DNAT | 宛先NAT(ポートフォワード)を設定 | sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:8080 | |
iptables -t nat -A POSTROUTING SNAT | 送信元NATを設定 | sudo iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 203.0.113.1 | |
iptables -t nat -A OUTPUT REDIRECT | ローカルポートリダイレクトを設定 | sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-port 8080 | |
iptables -t nat -A PREROUTING REDIRECT | 受信トラフィックのポートリダイレクト | sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443 | |
iptables -t nat -F | NATテーブルのルールを全削除 | sudo iptables -t nat -F | |
iptables -t nat -L PREROUTING | PREROUTINGチェーンのNATルールを表示 | sudo iptables -t nat -L PREROUTING -n | |
iptables -A INPUT -s (allow IP) | 特定IPからの接続を許可 | sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT | |
iptables -A INPUT -s (deny IP) | 特定IPからの接続を拒否 | sudo iptables -A INPUT -s 10.0.0.5 -j DROP | |
iptables -A INPUT --dport (allow port) | 特定ポートへの接続を許可 | sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT | |
iptables -A INPUT -m multiport | 複数ポートへの接続を一括許可 | sudo iptables -A INPUT -p tcp -m multiport --dports 80,443,8080 -j ACCEPT | |
iptables -A INPUT -m state ESTABLISHED | 確立済み接続を許可 | sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT | |
iptables -A INPUT -i lo | ループバックインターフェースを許可 | sudo iptables -A INPUT -i lo -j ACCEPT | |
iptables -A INPUT -p icmp | ICMP(ping)を許可/拒否 | sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT | |
iptables -A INPUT -m conntrack | 接続追跡モジュールでフィルタリング | sudo iptables -A INPUT -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT | |
iptables -A INPUT -m limit | レート制限を設定 | sudo iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/min -j ACCEPT | |
iptables -A INPUT -j LOG | パケットをログに記録 | sudo iptables -A INPUT -j LOG --log-prefix 'DROPPED: ' | |
iptables -t mangle -A PREROUTING TOS | TOSフィールドを変更 | sudo iptables -t mangle -A PREROUTING -p tcp --dport 22 -j TOS --set-tos Minimize-Delay | |
iptables -t mangle -A PREROUTING TTL | TTL値を設定 | sudo iptables -t mangle -A PREROUTING -j TTL --ttl-set 64 | |
iptables -t mangle -A PREROUTING MARK | パケットにマークを付与 | sudo iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 1 | |
iptables -t mangle -A POSTROUTING MSS | TCP MSSを調整 | sudo iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu | |
iptables -t mangle -A OUTPUT DSCP | DSCPフィールドを設定 | sudo iptables -t mangle -A OUTPUT -p tcp --dport 5060 -j DSCP --set-dscp-class EF | |
iptables -t mangle -F | mangleテーブルのルールを全削除 | sudo iptables -t mangle -F | |
iptables-save | 現在のルールを標準出力に保存 | sudo iptables-save > /etc/iptables/rules.v4 | |
iptables-restore | ファイルからルールを復元 | sudo iptables-restore < /etc/iptables/rules.v4 | |
ip6tables-save | IPv6ルールを保存 | sudo ip6tables-save > /etc/iptables/rules.v6 | |
ip6tables-restore | IPv6ルールを復元 | sudo ip6tables-restore < /etc/iptables/rules.v6 | |
netfilter-persistent save | netfilter-persistentで永続化保存 | sudo netfilter-persistent save | |
netfilter-persistent reload | 保存済みルールを再読み込み | sudo netfilter-persistent reload | |
iptables-save -c | カウンター付きでルールを保存 | sudo iptables-save -c > /tmp/rules-with-counters | |
nft list ruleset | 全ルールセットを表示 | sudo nft list ruleset | |
nft list tables | テーブル一覧を表示 | sudo nft list tables | |
nft list table | 特定テーブルのルールを表示 | sudo nft list table inet filter | |
nft add table | テーブルを作成 | sudo nft add table inet myfilter | |
nft add chain | チェーンを作成 | sudo nft add chain inet myfilter input '{ type filter hook input priority 0; policy accept; }' | |
nft add rule | ルールを追加 | sudo nft add rule inet myfilter input tcp dport 22 accept | |
nft delete rule | ルールを削除 | sudo nft delete rule inet myfilter input handle 4 | |
nft flush ruleset | 全ルールセットをフラッシュ | sudo nft flush ruleset | |
nft -f | ファイルからルールセットを読み込み | sudo nft -f /etc/nftables.conf | |
iptables-translate | iptablesルールをnftablesに変換 | iptables-translate -A INPUT -p tcp --dport 22 -j ACCEPT |