iptables / nftables チートシート
iptablesとnftablesコマンドのクイックリファレンス。基本ルール、チェーン、NAT、フィルタ、mangle、保存/復元、nftables移行を網羅
58 件のコマンド
iptables -L全ルールを一覧表示
sudo iptables -Liptables -L -n数値形式でルールを表示(名前解決なし)
sudo iptables -L -niptables -L -v詳細情報付きでルールを表示
sudo iptables -L -v --line-numbersiptables -L -t natNATテーブルのルールを表示
sudo iptables -L -t natiptables -L -t manglemangleテーブルのルールを表示
sudo iptables -L -t mangleiptables -Sルールをiptables-save形式で表示
sudo iptables -Siptables -F全ルールをフラッシュ(削除)
sudo iptables -Fiptables -Xユーザー定義チェーンを全削除
sudo iptables -Xiptables -Zパケットカウンターをゼロにリセット
sudo iptables -Ziptables -Pチェーンのデフォルトポリシーを設定
sudo iptables -P INPUT DROPiptables -A INPUTINPUTチェーンにルールを追加
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTiptables -A OUTPUTOUTPUTチェーンにルールを追加
sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPTiptables -A FORWARDFORWARDチェーンにルールを追加
sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPTiptables -Iチェーンの先頭にルールを挿入
sudo iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPTiptables -Dチェーンからルールを削除
sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPTiptables -D (line)行番号を指定してルールを削除
sudo iptables -D INPUT 3iptables -Rチェーン内のルールを置換
sudo iptables -R INPUT 1 -p tcp --dport 8080 -j ACCEPTiptables -Nユーザー定義チェーンを作成
sudo iptables -N MYCHAINiptables -t nat -A POSTROUTING MASQUERADEIPマスカレード(SNAT)を設定
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEiptables -t nat -A PREROUTING DNAT宛先NAT(ポートフォワード)を設定
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:8080iptables -t nat -A POSTROUTING SNAT送信元NATを設定
sudo iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 203.0.113.1iptables -t nat -A OUTPUT REDIRECTローカルポートリダイレクトを設定
sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-port 8080iptables -t nat -A PREROUTING REDIRECT受信トラフィックのポートリダイレクト
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443iptables -t nat -FNATテーブルのルールを全削除
sudo iptables -t nat -Fiptables -t nat -L PREROUTINGPREROUTINGチェーンのNATルールを表示
sudo iptables -t nat -L PREROUTING -niptables -A INPUT -s (allow IP)特定IPからの接続を許可
sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPTiptables -A INPUT -s (deny IP)特定IPからの接続を拒否
sudo iptables -A INPUT -s 10.0.0.5 -j DROPiptables -A INPUT --dport (allow port)特定ポートへの接続を許可
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPTiptables -A INPUT -m multiport複数ポートへの接続を一括許可
sudo iptables -A INPUT -p tcp -m multiport --dports 80,443,8080 -j ACCEPTiptables -A INPUT -m state ESTABLISHED確立済み接続を許可
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A INPUT -i loループバックインターフェースを許可
sudo iptables -A INPUT -i lo -j ACCEPTiptables -A INPUT -p icmpICMP(ping)を許可/拒否
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPTiptables -A INPUT -m conntrack接続追跡モジュールでフィルタリング
sudo iptables -A INPUT -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTiptables -A INPUT -m limitレート制限を設定
sudo iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/min -j ACCEPTiptables -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-Delayiptables -t mangle -A PREROUTING TTLTTL値を設定
sudo iptables -t mangle -A PREROUTING -j TTL --ttl-set 64iptables -t mangle -A PREROUTING MARKパケットにマークを付与
sudo iptables -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 1iptables -t mangle -A POSTROUTING MSSTCP MSSを調整
sudo iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtuiptables -t mangle -A OUTPUT DSCPDSCPフィールドを設定
sudo iptables -t mangle -A OUTPUT -p tcp --dport 5060 -j DSCP --set-dscp-class EFiptables -t mangle -Fmangleテーブルのルールを全削除
sudo iptables -t mangle -Fiptables-save現在のルールを標準出力に保存
sudo iptables-save > /etc/iptables/rules.v4iptables-restoreファイルからルールを復元
sudo iptables-restore < /etc/iptables/rules.v4ip6tables-saveIPv6ルールを保存
sudo ip6tables-save > /etc/iptables/rules.v6ip6tables-restoreIPv6ルールを復元
sudo ip6tables-restore < /etc/iptables/rules.v6netfilter-persistent savenetfilter-persistentで永続化保存
sudo netfilter-persistent savenetfilter-persistent reload保存済みルールを再読み込み
sudo netfilter-persistent reloadiptables-save -cカウンター付きでルールを保存
sudo iptables-save -c > /tmp/rules-with-countersnft list ruleset全ルールセットを表示
sudo nft list rulesetnft list tablesテーブル一覧を表示
sudo nft list tablesnft list table特定テーブルのルールを表示
sudo nft list table inet filternft add tableテーブルを作成
sudo nft add table inet myfilternft 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 acceptnft delete ruleルールを削除
sudo nft delete rule inet myfilter input handle 4nft flush ruleset全ルールセットをフラッシュ
sudo nft flush rulesetnft -fファイルからルールセットを読み込み
sudo nft -f /etc/nftables.confiptables-translateiptablesルールをnftablesに変換
iptables-translate -A INPUT -p tcp --dport 22 -j ACCEPT