InfraLab
IPTABLES58 cmd

iptablesチート集

チェーン管理・NAT・フィルタ・mangle・保存復元・nftables 移行を含む iptables の運用チート。

更新日
2026-05-12
参照範囲
公式ドキュメント / man page / 主要ベンダーCLI
対象実装
主要 Linux / BSD / ネットワーク機器 CLI の一般的な実装
免責
OS とバージョン差分は実環境で確認してください。

58 / 58

CommandDescriptionExampleCopy
iptables -L全ルールを一覧表示sudo iptables -L
iptables -L -n数値形式でルールを表示(名前解決なし)sudo iptables -L -n
iptables -L -v詳細情報付きでルールを表示sudo iptables -L -v --line-numbers
iptables -L -t natNATテーブルのルールを表示sudo iptables -L -t nat
iptables -L -t manglemangleテーブルのルールを表示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 INPUTINPUTチェーンにルールを追加sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUTOUTPUTチェーンにルールを追加sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -A FORWARDFORWARDチェーンにルールを追加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 MASQUERADEIPマスカレード(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 -FNATテーブルのルールを全削除sudo iptables -t nat -F
iptables -t nat -L PREROUTINGPREROUTINGチェーンの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 icmpICMP(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 TOSTOSフィールドを変更sudo iptables -t mangle -A PREROUTING -p tcp --dport 22 -j TOS --set-tos Minimize-Delay
iptables -t mangle -A PREROUTING TTLTTL値を設定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 MSSTCP 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 DSCPDSCPフィールドを設定sudo iptables -t mangle -A OUTPUT -p tcp --dport 5060 -j DSCP --set-dscp-class EF
iptables -t mangle -Fmangleテーブルのルールを全削除sudo iptables -t mangle -F
iptables-save現在のルールを標準出力に保存sudo iptables-save > /etc/iptables/rules.v4
iptables-restoreファイルからルールを復元sudo iptables-restore < /etc/iptables/rules.v4
ip6tables-saveIPv6ルールを保存sudo ip6tables-save > /etc/iptables/rules.v6
ip6tables-restoreIPv6ルールを復元sudo ip6tables-restore < /etc/iptables/rules.v6
netfilter-persistent savenetfilter-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-translateiptablesルールをnftablesに変換iptables-translate -A INPUT -p tcp --dport 22 -j ACCEPT
Related