サブネット重複判定ツール - 2つのCIDRが重なっていないかチェック【無料】
2つのIPv4 CIDR表記(例: 192.168.1.0/24)を入力し、両者のアドレス範囲が完全一致・包含・重複なしのいずれの関係かを自動判定。ファイアウォールルールやVPCのサブネット設計時の重複チェックに。
サブネット重複関係の種類一覧
2つのCIDRブロックが取り得る関係を整理した早見表です。
| 関係の種類 | 例 | 説明 |
|---|---|---|
| 完全に一致 | 192.168.1.0/24 = 192.168.1.0/24 | 2つのCIDRはまったく同じアドレス範囲を指しています。同一のサブネットとして扱われます。 |
| AがBを包含 | 192.168.0.0/16 ⊃ 192.168.1.0/24 | CIDR Aのアドレス範囲がCIDR Bの範囲を完全に含んでいます。BはAのサブネットの一部です。 |
| BがAを包含 | 192.168.1.0/24 ⊂ 192.168.0.0/16 | CIDR Bのアドレス範囲がCIDR Aの範囲を完全に含んでいます。AはBのサブネットの一部です。 |
| 部分的に重複 | — | 本来この状態は発生しません。CIDRブロックは2のべき乗単位で整列されているため、2つのブロックが重複する場合は必ず完全一致か一方が他方を包含する関係になります(詳しくは下記FAQを参照)。 |
| 重複なし | 192.168.1.0/24 ∩ 192.168.2.0/24 = ∅ | 2つのCIDRのアドレス範囲はまったく重なっていません。同時に使用しても競合しません。 |
1つのIPアドレスとサブネットマスクからネットワーク・ブロードキャストアドレスを求めたい場合は サブネット計算ツール 、IPレンジとCIDRを相互変換したい場合は IPレンジ⇔CIDR変換ツール をご利用ください。
サブネットの重複判定とは
CIDR 表記で書かれた2つのネットワークが、アドレス範囲として重なっているかどうかを調べるのがこのツールです。`192.168.1.0/24` と `192.168.1.128/25` のように、**表記が違うだけで実際には片方がもう片方に完全に含まれている**ケースは目視では見落としやすく、ファイアウォールのルールやルーティングテーブルで思わぬ挙動の原因になります。
判定は、それぞれの CIDR をネットワークアドレスとブロードキャストアドレスに展開し、2つの区間が交わるかどうかで行います。結果は「完全一致」「一方が他方を包含」「一部重複」「重複なし」に分かれます。VPC やオンプレミスのアドレス設計では、**将来の拡張を見越して重複しない範囲を割り当てることが要**になるため、設計段階での確認に向いています。処理はすべてブラウザー内で完結します。
重複を判定する手順
- CIDR A を入力する `192.168.1.0/24` のような形式で入力します。サンプルボタンで例を読み込むこともできます。
- CIDR B を入力する 比較したいもう一方のネットワークを同じ形式で入力します。
- 判定を実行する 両者のアドレス範囲が展開され、関係が判定されます。
- 範囲を見比べる 各 CIDR の開始・終了アドレスが表示されるため、どこで重なっているかを目で確かめられます。
使いこなすためのヒント
- ファイアウォールのACLルールやVPCのサブネット設計で「意図せず同じアドレス範囲を2回定義していないか」を確認するのに便利です。
- AがBを包含する関係は、大きな割り当て(例: /16)の中に小さなサブネット(例: /24)を切り出した場合によく見られる正常な構成です。異常ではありません。
- クラウド環境でVPCピアリングやVPN接続を設定する際、双方のCIDRが重複していると経路があいまいになりルーティングエラーの原因になります。接続前に必ずこのツールで確認しましょう。
- 判定結果の「Aの範囲」「Bの範囲」は、入力したIPアドレスがそのプレフィックス長のネットワークアドレスちょうどでなくても、該当するブロックのネットワーク・ブロードキャストアドレスに自動的に丸めて表示します。
こんなときに使えます
VPC のサブネット設計
クラウド上に複数の VPC を作るとき、後から VPC ピアリングで接続できるよう、範囲が重ならないことを確認できます。
拠点間 VPN の設計
本社と支社で同じプライベートアドレス帯を使っていると VPN 接続後に通信できません。接続前に確かめられます。
ファイアウォールルールの棚卸し
複数のルールが同じ範囲を対象にしていないか、想定より広い範囲を許可していないかを点検できます。
ルーティングテーブルの確認
より長いプレフィックスが優先されるため、包含関係にある経路があると挙動が変わります。関係を把握しておけます。
ネットワークの用語
- CIDR 表記
- `192.168.1.0/24` のように、ネットワークアドレスとプレフィックス長をスラッシュで区切って書く記法です。
- プレフィックス長
- 先頭から何ビットをネットワーク部とするかを表す数字です。**数が大きいほど範囲は狭くなります。**
- ネットワークアドレス
- その範囲の先頭アドレスです。ホストには割り当てません。
- ブロードキャストアドレス
- その範囲の末尾アドレスで、同一ネットワーク全体への送信に使われます。
- 包含関係
- 一方の範囲がもう一方に完全に含まれる状態です。`/24` と `/25` の組み合わせで起こりやすくなります。
- プライベートアドレス
- `10.0.0.0/8`・`172.16.0.0/12`・`192.168.0.0/16` の3つの範囲で、組織内で自由に使えます。**自由だからこそ拠点間で衝突しやすくなります。**
よくある質問
余談ですが ― なぜCIDRブロック同士は「部分的に重なる」ことがないのか
2つのCIDRブロックを比較すると「完全一致」「一方が他方を包含」「重複なし」の3パターンしか起こらず、一般的な意味での「一部だけ重なる」状態は数学的に発生しません。これはCIDRブロックが必ず2のべき乗のサイズで、かつそのサイズの倍数の位置(アライメント境界)にしか置けないという制約から導かれる性質です。
直感的に理解するには、CIDRブロックの集合を二分木として捉えるとわかりやすくなります。/0を根とし、各ノードがプレフィックス長を1増やすごとに2つの子ノード(前半・後半)に分岐していくと考えると、どの2つのブロックも「同じノード」「片方がもう片方の祖先ノード」「まったく別系統の枝」のいずれかの関係にしかなれません。木構造上、枝の途中だけ交差するということが起こり得ないのと同じ理屈です。
この性質のおかげで、ルーティングテーブルの経路集約(サマライズ)は常に明確に定義できます。もし部分重複が起こり得るなら「このパケットはどちらの経路を優先すべきか」が本質的にあいまいになってしまいますが、CIDRの設計上そのような事態は原理的に排除されているのです。実務でルーティングが破綻する原因の多くは、この整列前提を無視して手動でIPレンジを切った結果、意図せず境界がずれてしまうことにあります。