IPレンジ⇔CIDR相互変換ツール

開始IPと終了IPを入力すると、そのレンジを過不足なくカバーする最小個数のCIDRブロックに自動分割します。逆にCIDR表記(例: 192.168.1.0/24)からブロックの先頭・末尾IPとアドレス総数を計算することも可能です。ファイアウォールやACLのルール作成に活用できます。

単一のIP・サブネットマスクを調べたい場合は サブネット計算ツール 、プレフィックス長ごとの一覧は CIDR早見表 もあわせてご覧ください。

IPレンジとCIDR表記を相互に変換する

開始IPと終了IPを入れると、そのレンジを過不足なく覆う最小個数の CIDR ブロックへ分割します。逆に `192.168.1.0/24` のような CIDR 表記から、先頭・末尾のIPとアドレス総数を求めることもできます。ファイアウォールや ACL の規則を書くときに使えます。

**ここで意外に思われるのが、任意のレンジが必ずしも1つの CIDR では表せないという点です。** CIDR ブロックには**「大きさが2のべき乗であること」と「先頭アドレスがその大きさの境界に揃っていること」**という2つの制約があります。たとえば `192.168.1.5` から `192.168.1.10` までの6個は、どちらの条件も満たさないため1つのブロックにはならず、**`/32`・`/31`・`/30` といった複数のブロックへ分けるしかありません。** このツールはその分割を最小個数で行います。規則の本数が増えるのを避けたい場合は、**レンジの端を境界に合わせて設計し直すほうが結局は簡潔になります。**

使い方

  1. 開始IPと終了IPを入れる 分割された CIDR ブロックの一覧が得られます。
  2. ブロックの個数を見る **多くのブロックに分かれる場合、レンジの端が境界に揃っていません。**
  3. 逆にCIDRから範囲を求める `/24` のような表記を入れると、先頭・末尾とアドレス総数が分かります。
  4. 規則へ書き写す ファイアウォールや ACL の設定へそのまま使えます。

使いこなすためのヒント

  • ファイアウォールやACLで「192.168.1.1〜192.168.1.254」のようなIPレンジ指定をルーター設定用のCIDR表記に変換したいときに便利です。
  • IPレンジ→CIDR変換の結果は、境界のアドレスがきれいな2の冪に揃っていない限り複数のCIDRブロックに分割されます。ブロック数が多い場合はレンジの区切り方を見直すとACLがシンプルになります。
  • CIDR→IPレンジ変換では、入力したIPがブロックの先頭アドレスでなくても、そのIPが属するブロックのネットワークアドレスとブロードキャストアドレスに自動的に丸めて計算します。
  • 単一のIPアドレスとサブネットマスクだけを調べたい場合はサブネット計算ツール、プレフィックス長ごとの早見表が欲しい場合はCIDR早見表もあわせてご活用ください。

活用シーン

ファイアウォールの規則を書く

**「この範囲だけ許可したい」を CIDR の並びへ落とし込めます。**

アクセス制御リストを整理する

複数の規則をまとめられないか、境界を見ながら検討できます。

割り当てられた範囲を確かめる

事業者から渡された CIDR に何個のアドレスが含まれるかを数えられます。

サブネットの設計を見直す

**端を境界に揃えるだけで、必要な規則の本数が大きく減ることがあります。**

IPアドレスの用語

CIDR
`192.168.1.0/24` のように、アドレスと接頭長でまとまりを表す記法です。
接頭長
スラッシュの後ろの数値です。**この値が1増えるごとに、含まれるアドレス数は半分になります。**
ネットワークアドレス
ブロックの先頭のアドレスです。**この値が境界に揃っていないと、そのブロックは成立しません。**
ブロードキャストアドレス
ブロックの末尾のアドレスです。IPv4 のサブネットでは、通常ホストには割り当てません。
サブネットマスク
`255.255.255.0` のような表記で、CIDR の接頭長と同じことを表します。
2のべき乗の制約
**CIDR ブロックの大きさは2のべき乗に限られます。** これが任意のレンジを1つで表せない理由です。

よくある質問

CIDR表記は必ず2の冪個(1, 2, 4, 8...)の連続したアドレスを、アドレス境界が揃った形で表す必要があります。指定したレンジがちょうど1つのCIDRブロックの範囲と一致しない場合、境界の揃った複数の小さなブロックの組み合わせでレンジ全体を過不足なく表現することになります。

/24は末尾8ビットがホスト部のブロックで、192.168.1.0〜192.168.1.255の256個のアドレスを含みます。先頭の192.168.1.0はネットワークアドレス、末尾の192.168.1.255はブロードキャストアドレスとして予約されるのが一般的です。

多くのルーターやファイアウォール製品のACL構文は、CIDR表記(またはサブネットマスク+ワイルドカードマスク)でしかネットワーク範囲を指定できない仕様になっています。任意の開始・終了IPで区切られたレンジをそのまま使えないため、本ツールのようにCIDRブロックへ変換してから設定に反映する必要があります。

IPレンジは単に「開始IP〜終了IP」という連続したアドレスの範囲を表す表現方法です。一方CIDRブロックは、アドレス境界がプレフィックス長に応じた2の冪の位置に揃っている特殊なIPレンジのみを指します。すべてのCIDRブロックはIPレンジですが、すべてのIPレンジがCIDRブロックとは限りません。
ツールくん

余談ですが ― IPレンジからCIDRへの変換アルゴリズム

IPレンジをCIDRブロックに分割するアルゴリズムは、コンピュータサイエンスの「貪欲法(グリーディアルゴリズム)」の分かりやすい実例としてもよく引き合いに出されます。手順は単純で、レンジの先頭から見て「その位置が何ビット分の2の冪境界に整列しているか」と「残りのレンジの大きさ」の両方を満たす最大のブロックを毎回選び取り、そのブロック分だけ位置を進める、という操作を終端に到達するまで繰り返すだけです。この方法で得られるブロック数は、理論的に必要な最小個数と一致することが証明されています。

実務では、クラウドのセキュリティグループやオンプレミスのルーターACLなど「IPレンジではなくCIDR表記でしか範囲指定できない」システムに遭遇する場面が多くあります。特にクラウド事業者から払い出された割り当て範囲や、社内の管理台帳上「10.1.0.10〜10.1.0.50」のように運用されてきたレンジをルーター設定に落とし込む際、この変換作業は避けて通れません。手作業でビット演算を行うのは煩雑でミスも起きやすいため、こうした変換ツールが重宝されます。

逆にCIDR表記からIPレンジを求める作業は、割り当てられたブロックの範囲を人間にとって直感的な「開始〜終了」の形式で把握したいときによく行われます。たとえばプロバイダから「203.0.113.0/28」というブロックを割り当てられた際、実際に使えるアドレスの範囲が203.0.113.0〜203.0.113.15であることを即座に確認できれば、ファイアウォールの許可リストやDHCPの払い出し範囲設定を誤りなく行えます。