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

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

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

Tips

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

よくある質問

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の払い出し範囲設定を誤りなく行えます。

→ すべての余談を見る