ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
iptables と nftables は、Linux カーネルに組み込まれたパケットフィルタ機構 netfilter を設定するためのコマンドラインツールです。前章のファイアウォールを Linux 上で実際に構築する道具がこれにあたります。iptables は長年の定番でしたが、現在は後継の nftables への移行が進んでおり、多くのディストリビューションで標準になっています。ufw や firewalld といった使いやすいフロントエンドも、内部ではこれらを呼び出しています。
ここでは仕組みを理解するため、生の iptables/nftables を扱います。内部構造を知っておくと、フロントエンドが意図通り動かないときの調査や、細かい制御が必要な場面で役立ちます。
仕組み
iptables は テーブルとチェーンという 2 階層で構成されます。主なテーブルは、フィルタリングを行う filter、アドレス変換を行う nat、パケットの改変を行う mangle です。各テーブルの中に、処理タイミングごとのチェーンがあります。filter テーブルの代表的なチェーンは次の 3 つです。
- INPUT:このホスト「宛て」のパケット(外から自分へ)
- OUTPUT:このホスト「発」のパケット(自分から外へ)
- FORWARD:このホストを「通過」するパケット(ルーターやゲートウェイとして転送する場合)
パケットは該当するチェーンのルールを上から順に評価し、最初に一致したルールのターゲット(ACCEPT=許可、DROP=破棄、REJECT=拒否応答を返す)が適用されます。どのルールにも一致しなければ、チェーンのポリシー(既定動作)が適用されます。セキュリティの基本は「ポリシーを DROP にし、許可するものだけ明示する」ことです。
nftables は iptables・ip6tables・arptables・ebtables という乱立したツール群を 1 つに統合した後継です。構文が一貫し、IPv4 と IPv6 を 1 つのルールセットで扱え、ルール評価も効率化されました。新規構築では nftables を選ぶのが推奨です。
設定・実用例
iptables で「SSH・HTTP・HTTPS と、確立済み接続の応答だけを許可し、他は破棄」する基本構成です。--dport 22 のようなオプションはそのまま記述します。
# 既存ルールをクリア
iptables -F
# ループバックと確立済み接続を許可
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# SSH(22)・HTTP(80)・HTTPS(443) を許可
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# それ以外の受信はすべて破棄(デフォルト拒否)
iptables -P INPUT DROPnftables で同等の構成を書くと次のようになります。1 ファイルにまとめて宣言的に書けるのが特徴です。
nft add table inet filter
nft add chain inet filter input { type filter hook input priority 0 \; policy drop \; }
nft add rule inet filter input ct state established,related accept
nft add rule inet filter input iif lo accept
nft add rule inet filter input tcp dport { 22, 80, 443 } acceptルールはメモリ上にしかなく、再起動で消えます。永続化はディストリビューションのツールで行います。
# Debian/Ubuntu 系(iptables の保存)
apt install iptables-persistent
netfilter-persistent save
# nftables の永続化
nft list ruleset > /etc/nftables.conf
systemctl enable --now nftables主な用途
- サーバーのホスト型ファイアウォール:不要ポートを閉じる
- NAT/ポートフォワーディング:内部ホストへの転送やマスカレード
- レート制限:同一 IP からの接続数を絞り DoS を緩和
- コンテナ基盤:Docker や Kubernetes が内部で大量に利用
比較テーブル
| 項目 | iptables | nftables |
|---|---|---|
| 位置づけ | 従来の定番 | 後継・推奨 |
| IPv4/IPv6 | iptables / ip6tables に分離 | inet で一括管理 |
| 構文 | コマンド逐次・冗長 | 宣言的・統一的 |
| 集合(set) | ipset で別途 | ネイティブ対応 |
| 性能 | ルール増で線形に低下しやすい | map/set で効率的 |
注意点
- SSH ルールを書く前にポリシーを DROP にすると締め出される。許可ルールを先に入れる
- リモート作業時は「数分後に全ルールをリセットする予約コマンド」を仕込んでおくと安全
- iptables と nftables を同時併用すると挙動が混乱する。どちらかに統一する
- 永続化を忘れると再起動でルールが消え、無防備になる
関連リンク
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- TLS/SSLの仕組み
- 証明書と認証局(CA)
- ファイアウォール
- iptables/nftables
- VPN
- IPsec
- WireGuard
- ゼロトラストネットワーク
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?