FIRST CH TOOLS / 開発 / 49 CIDR CALCULATOR
IPアドレス・CIDR計算機
192.168.1.0/24 のようなCIDR表記を入れるだけで、ネットワークアドレス・ブロードキャスト・使えるホストの範囲と数をその場で計算します。ネットワークの分割、許可リストに載せるIPが範囲に入っているかの確認、IPの範囲から最小のCIDR集合を求める逆算まで1ページで。IPv4とIPv6の両対応です。
1 — CIDR / サブネットマスク
2 — 計算結果
プレフィックス長は「左から何ビットがネットワークの番地か」を表します。太字の部分が同じアドレスどうしが同じネットワークにいます。
3 — このネットワークに含まれるか
4 — サブネットに分割する
1つのネットワークを同じ大きさのサブネットへ均等に割ります。VLANや部署ごとにアドレスを配るときの割り当て表になります(先頭128件まで表示)。
5 — IPの範囲 → 最小のCIDR集合(逆算)
入力したアドレスがブラウザの外へ出ることはありません(計算はすべてこのページの中だけで動いています)。URLパラメータで渡せます: /cidr/?cidr=10.0.0.0/16&split=20 / /cidr/?cidr=192.168.1.0/24&ips=192.168.1.77,10.0.0.1 / /cidr/?range=10.0.0.5-10.0.0.200;10.0.1.0/24(; で行を区切る)
How to Use
- CIDRを入れるルーターやクラウドのコンソールに書いてある 10.0.0.0/16 のような表記を貼り付けます。255.255.255.0 のようなサブネットマスクや、ACLで使うワイルドカードマスクのままでも読み取ります。
- 範囲と数を読むネットワークアドレス・ブロードキャスト・使えるホストの範囲が出ます。「+1 bit」で分割の目安を、「−1 bit」で束ねたときの広さをその場で見比べられます。
- 設定へ写すサブネットの割り当て表や、許可リストに載せるCIDRをコピーします。IPの範囲しか分からないときは一番下の逆算で、最小の個数のCIDRに直してから書きます。
About This Tool
/24 の「24」は、左から24ビットがネットワークの番地だという意味です。IPv4のアドレスは32ビットの数字で、前半がネットワーク、後半がその中のホスト(機器)の番号です。区切りの位置を1ビット動かすだけで、入るホストの数は倍か半分になります。/24 なら256個(使えるのは254台)、/25 なら128個(126台)です。この「何ビット目で切るか」がサブネットマスクで、255.255.255.0 と /24 は同じことを違う書き方で言っています。
先頭と末尾の2つは、ふつうホストに使えません。先頭はネットワークそのものを指す番地、末尾はそのネットワーク全体への呼びかけ(ブロードキャスト)に予約されています。だから /24 の使える台数は256ではなく254です。例外が2つあり、/31 はルーター同士を1本の線で結ぶときのために2アドレスとも使えることになっていて(RFC 3021)、/32 は1台だけを指す書き方として許可リストでよく使います。IPv6にはブロードキャストという考え方自体がありません。
逆算(範囲 → CIDR)は手では合わせにくい計算です。「192.168.1.5 から 192.168.1.200 まで許可したい」と言われても、ファイアウォールやクラウドのセキュリティグループはCIDRでしか書けないことがあります。この範囲はきりのいい1つのブロックにならないので、/32 から /26 までを組み合わせて過不足なく覆う必要があります。多めに書けば関係ないアドレスまで通してしまい、少なく書けば通したい相手が弾かれます。このツールは重なった範囲を先にまとめてから、最小の個数のブロックに分解します。
プライベートアドレス(10.0.0.0/8・172.16.0.0/12・192.168.0.0/16)やループバック、文書用に予約された 203.0.113.0/24 など、特別な用途のアドレス帯に入っていれば種別として表示します。関連して、サーバー設定まわりでは UNIXタイムスタンプ⇄日時変換・Cron式ビジュアル解説・MD5 / SHA-256 ハッシュ生成 もあわせてどうぞ。
プレフィックス早見表(IPv4)
| CIDR | サブネットマスク | アドレス数 | ホスト数 | よくある使い方 |
|---|---|---|---|---|
| /8 | 255.0.0.0 | 16,777,216 | 16,777,214 | 10.0.0.0/8 の全体 |
| /16 | 255.255.0.0 | 65,536 | 65,534 | VPC・拠点ごとの大枠 |
| /20 | 255.255.240.0 | 4,096 | 4,094 | クラウドのサブネット |
| /24 | 255.255.255.0 | 256 | 254 | 1フロア・1セグメント |
| /26 | 255.255.255.192 | 64 | 62 | 小さな部署・VLAN |
| /28 | 255.255.255.240 | 16 | 14 | サーバーの一群 |
| /29 | 255.255.255.248 | 8 | 6 | 固定IPの契約でよく出る |
| /30 | 255.255.255.252 | 4 | 2 | ルーター間の接続 |
| /31 | 255.255.255.254 | 2 | 2 | 点対点(RFC 3021) |
| /32 | 255.255.255.255 | 1 | 1 | 1台だけの許可リスト |
サブネット計算の落とし穴
ホスト部にビットが立ったまま設定に書く
192.168.1.130/24 ← 「/24 のネットワーク」としては 192.168.1.0/24 のこと
許可リストやルーティングの設定にこの形で書くと、実装によっては黙って 192.168.1.0/24 として扱われ、1台だけを通すつもりが254台に開いてしまいます(逆に構文エラーで弾く実装もあり、挙動が揃っていません)。1台だけなら /32、ネットワーク全体ならネットワークアドレスで書きます。このツールは入力がネットワークアドレスでないとき、その旨と本来のCIDRを表示します。
プライベートアドレスの範囲を勘違いする
172.16.0.0 – 172.31.255.255 ← 172.16.0.0/12(172.16〜172.31 まで) 172.16.0.0/16 ← ここだけだと思っているとぶつかる
10系と192.168系は分かりやすいのですが、172系だけは /12 で、第2オクテットが16〜31の範囲です。拠点間VPNやクラウドのVPCピアリングでアドレスがぶつかる事故は、たいていこの16ブロックの読み違いから起きます。新しく設計するときは、将来つなぐ相手と重ならない場所をあらかじめ決めておきます。
サブネットは「きりのいい位置」でしか切れない
192.168.1.0/26 0 – 63 ← 64個ずつの境界に必ず揃う 192.168.1.64/26 64 – 127 192.168.1.100/26 ← こういう始まり方はできない
ブロックの先頭アドレスは、そのブロックの大きさの倍数でなければなりません。/26(64個)なら 0・64・128・192 から始まります。「100番から60台ぶん」のような区切り方はCIDRでは表現できず、複数のブロックに割れます。設計のときは必要な台数を先に2のべき乗へ切り上げてから場所を決めると破綻しません。
数字が大きいほど範囲は狭い
/16 > /24 > /28 ← 数字が大きいほうが「細かい=狭い」
プレフィックス長は「固定するビット数」なので、数字が大きいほど自由に使えるホスト部が減ります。ルーティングではより長い(狭い)ほうが優先される(ロンゲストマッチ)ため、広い経路を残したまま細かい経路を足すと、細かいほうだけが効きます。意図せず全体に効かせたつもりの設定が一部でだけ上書きされる、という事故の原因になります。
IPv6を「IPv4の桁が増えただけ」と考える
2001:db8:abcd::/48 → /64 を 65,536 個ぶん配れる /64 より細かく切らない(SLAAC が動かなくなる)
IPv6ではホストが自分でアドレスを作る仕組み(SLAAC)が /64 を前提にしているため、LANのセグメントは /64 で固定するのが原則です。節約する発想は要らず、ISPから /48 や /56 を受け取ったら、その中を /64 単位で配ります。ブロードキャストは無く、代わりにマルチキャスト(ff00::/8)が使われます。
許可リストにプライベートアドレスを書いてしまう
192.168.1.0/24 ← 社内では正しいが、外部のサービスから見ると別物
SaaSやAPIの接続元制限に登録するのはインターネットから見たグローバルIPです。社内で使っているプライベートアドレスを登録しても、相手には届きません(NATで別のアドレスに変換されているためです)。このツールは入力されたアドレス帯の種別を表示するので、「プライベート」と出たものを外向けの許可リストへ書こうとしていないか確認してください。
Other Tools
- 01画像→WebP一括変換WebP Converter
- 02白背景の透過White BG Remover
- 03コントラスト比チェッカーContrast Checker
- 04文字数カウントCharacter Counter
- 05llms.txt ジェネレーターllms.txt Generator
- 06JSON-LD構造化データ生成JSON-LD Generator
- 07Markdown→PDF変換MD → PDF
- 08OGPメタタグ生成ウィザードOGP Wizard
- 09faviconジェネレーターFavicon Generator
- 10TikTok投稿ツールTikTok Publisher
- 11文字コード・改行コード変換Encoding Converter
- 12画像→AVIF変換+picture生成AVIF Converter
- 13テストデータ生成Test Data Generator
- 14Marp Markdown→スライドMarp Slides
- 15テキスト・コード差分チェッカーDiff Checker
- 16Cron式ビジュアル解説&発火日時Cron Explainer
- 17Base64 & Data URI変換Base64 & Data URI
- 18URLパラメータ分解・UTMタグ編集URL Parameters
- 19HTMLエンティティ・特殊文字エスケープHTML Escape
- 20JSON ⇄ YAML 相互変換&整形JSON ⇄ YAML
- 21PX ⇄ REM / EM 単位変換&スケール表PX ⇄ REM / EM
- 22Colorコード変換&アルファ透過Color Converter
- 23MD5 / SHA-256 ハッシュ生成Hash Generator
- 24JWTデコーダー&有効期限チェッカーJWT Decoder
- 25User-Agent解析&デバイス判定User-Agent Parser
- 26UUID (v4) & ULID 一括生成UUID & ULID Generator
- 27アスペクト比計算&レスポンシブサイズAspect Ratio Calculator
- 28Markdownテーブル整形&CSV/TSV変換Markdown Table
- 29SQLクエリフォーマッター&整形SQL Formatter
- 30QRコード生成QR Code Generator
- 31正規表現テスターRegex Tester
- 32UNIXタイムスタンプ⇄日時変換Unix Time Converter
- 33新規タブメモ帳New Tab Memo
- 34画像リサイズ&クロップImage Resizer
- 35EXIF情報の確認&除去EXIF Viewer
- 36robots.txt ジェネレーターrobots.txt Generator
- 37安全なパスワード生成Password Generator
- 38文字列ケース変換Case Converter
- 39CSV/TSV ⇄ JSON 相互変換CSV ⇄ JSON
- 40PDF結合・分割・ページ抽出PDF Merge & Split
- 41全角⇄半角変換&テキストクリーナーZenkaku ⇄ Hankaku
- 42X(Twitter)投稿の文字ウェイト計算X Post Counter
- 43CSS clamp() フルイドタイポグラフィ計算機CSS clamp() Calculator
- 44CSSグラデーションジェネレーターCSS Gradient Generator
- 45画像からカラーパレット抽出Palette Extractor
- 46QRコード読み取りQR Code Reader
- 47SVG最適化&data URI化SVG Optimizer
- 48リダイレクトルール ジェネレーターRedirect Generator