サブネット計算ツール
192.168.1.128/26プライベート(RFC 1918)- ネットワークアドレス
- 192.168.1.128
- ブロードキャストアドレス
- 192.168.1.191
- 利用可能範囲
- 192.168.1.129 – 192.168.1.190
- 利用可能アドレス数
- 62
- アドレス総数
- 64
- サブネットマスク
- 255.255.255.192
- ワイルドカードマスク
- 0.0.0.63
- プレフィックス
- /26 · 6 ホストビット
11000000.10101000.00000001.10000010ブラウザ内で計算され、どこにも送信されず、名前解決も行いません。RFC 3021により/31は両方のアドレスを使用でき、/32は利用可能ホストが1つ、IPv6はネットワークアドレスもブロードキャストアドレスも予約しません。
入力した内容が保存・記録・共有されることはありません。
CIDR表記でアドレスを入力すると、ネットワークアドレスとブロードキャストアドレス、利用可能なホスト範囲、サブネットマスク、ワイルドカードマスク、アドレス数を表示します。IPv4とIPv6の両方に対応し、すべてブラウザ内で計算され、名前解決も行いません。
使い方
- 192.168.1.130/26のように、アドレスとプレフィックスを入力します。
- ネットワーク、ブロードキャスト、利用可能範囲、ホスト数を確認します。
- 必要に応じて、より小さい等分のサブネットに分割します。
プレフィックスとは何か
IPv4アドレスは32ビットです。スラッシュの後ろのプレフィックス長は、そのうち何ビットがネットワークを表すかを示し、残りのビットがネットワーク内のホストを表します。/24なら先頭24ビットが固定され、ホスト用に8ビット、つまり256アドレスが残ります。プレフィックスを1つ小さくするごとにブロックは2倍になるため、/23は512アドレス、/16は65,536アドレスです。
サブネットマスクは同じ情報をアドレスの形で書いたものです。1が24個、0が8個並ぶと255.255.255.0になります。マスクは1が途切れなく連続していなければなりません。境界が1か所に引かれるのはそのためで、255.255.0.255はそもそもマスクではありません。これを最も近い正しいマスクに黙って丸める計算ツールは、まさに探していた設定ミスを覆い隠してしまいます。
ワイルドカードマスクはサブネットマスクを反転したものです。CiscoのアクセスリストやOSPFが、固定されるビットではなく変化してよいビットで書く仕様になっているために存在します。/24のワイルドカードは0.0.0.255です。どちらが必要かは設定対象によって決まるので、ここでは両方を表示しています。
2進数の行は一度は読んでみる価値があります。サブネット化とは32ビットに境界線を1本引くことであり、その線を目で見るほうが、ドット区切りの10進数で考えるより速いことがほとんどです。
見てわかるようにしておきたいアドレス範囲
RFC 1918は、インターネット上でルーティングされないプライベート用途のIPv4ブロックを3つ定めています。10.0.0.0/8、172.16.0.0/12(172全体ではなく172.16〜172.31である点に注意)、そして192.168.0.0/16です。社内ネットワークのほとんどは、このいずれかから切り出されています。
ほかにも、見た瞬間にわかるようにしておきたい範囲がいくつかあります。100.64.0.0/10はキャリアグレードNATで、ISPの顧客とISP自身のルーターの間で使われ、家庭のネットワークでも意外とよく目にします。169.254.0.0/16はリンクローカルで、DHCPに失敗したときに自動で割り当てられるため、この範囲のアドレスは設定というより症状であることがほとんどです。127.0.0.0/8はループバックで、127.0.0.1だけでなく/8全体が該当します。224.0.0.0/4はマルチキャスト、255.255.255.255は限定ブロードキャストアドレスです。
ドキュメントやサンプル用には、RFC 5737が192.0.2.0/24、198.51.100.0/24、203.0.113.0/24の3ブロックを予約しています。図やブログ記事では、誰かが実際に使っているアドレスを適当に選ぶのではなく、これらを使いましょう。
ネットワークを分割する
ブロックを分割するとは、境界を右へずらすことです。/24を4つに分けると64アドレスずつの/26が4つ、2つに分けると128アドレスずつの/25が2つになります。プレフィックスは常に2のべき乗なので計算はいつも同じで、それが制約にもなります。100アドレスのサブネットは作れず、64か128のどちらかです。
可変長サブネットマスク(VLSM)は、すべてを同じ大きさで切るのではなく、中身に合わせて各サブネットの大きさを決める手法です。ルーター同士のポイントツーポイント接続に必要なのは2アドレスなので/31か/30、60台の端末があるユーザーVLANには/26、今後の増加が見込まれるサーバーセグメントには/24を割り当てます。うまくやるコツはほぼ余裕を残すことに尽きます。プレフィックスが足りなくなったサブネットの番号を振り直すには、すべての機器、すべてのファイアウォールルール、それを参照するすべての静的設定に手を入れる必要があるからです。
集約しやすい境界で割り当てるのも効果的です。ある拠点のすべてが1つの/20に収まっていれば、ネットワークの他の部分からは16本ではなく1本の経路で到達でき、その差は大規模な環境ほど積み重なっていきます。
IPv6は桁の多いIPv4ではない
計算方法は同じでも設計の前提が異なるため、IPv4の習慣をそのまま持ち込むと扱いにくいIPv6ネットワークになりがちです。
標準のサブネットサイズは、ホスト数にかかわらず常に/64です。ステートレスアドレス自動設定(SLAAC)は64ビットのホスト部を前提としているため、/64より細かく分割すると機能しなくなります。それを承知のうえでポイントツーポイント接続に使う場合を除き、避けるべきです。拠点には通常/48か/56が割り当てられ、それぞれ65,536個、256個のサブネットになります。アドレスの節約を二度と考えずに済み、VLANごとに数えることなく/64を割り当てられる、というのが意図です。
ブロードキャストアドレスは存在せず、その役割はマルチキャストが担います。プレフィックス内に予約されたアドレスもないため、/64には本当に18,446,744,073,709,551,616個の使用可能なアドレスがあり、「2を引く」習慣は当てはまりません。そしてNATはモデルに含まれていません。ホストはグローバルにルーティング可能なアドレスを持ち、到達できるかどうかはファイアウォールで決めます。これは計算の違いではなく、考え方の転換です。
小規模オフィス向けに /24 を分割する
たとえば 192.168.10.0/24 が手元にあり、収容したいものが4種類あるとします。約50台の社員端末、10数台のサーバー、数台のプリンターとカメラ、そして支社ルーターへの2本のポイントツーポイント回線です。とっさに思いつくのはブロックを均等な /26 4つに分ける方法ですが、これでは大半が無駄になり、本当に余裕が必要なところに余裕が残りません。
可変長サブネット化ならもっとうまくやれます。社員用 VLAN には 192.168.10.0/26 を割り当てます。使用可能アドレスは62個です。サーバーには 192.168.10.64/27 を割り当て、使用可能30個で、台数が倍になっても収まります。プリンターとカメラは 192.168.10.96/27 に置きます。ユーザーのネットワークから分離しておくとファイアウォールのルールが簡単になるからです。ここまでで 192.168.10.128/25 がまるごと空いたままになり、2本の回線はその上端から /30 を取って 192.168.10.252/30 と 192.168.10.248/30 とし、真ん中は空けておけます。
詰めて割り当てずに隙間を残す理由は、後から番号を振り直すとなると、すべての機器、すべての DHCP スコープ、すべてのファイアウォールルール、すべての静的エントリに手を入れることになるからです。プライベートレンジの中のアドレス空間はタダですが、番号の振り直しでつぶれる週末はタダではありません。
ルーターはこれらのプレフィックスをどう扱うか
ルーティングテーブルはプレフィックスとネクストホップの一覧で、その中から選ぶときのルールがロンゲストプレフィックスマッチです。宛先を含むルートのうち、最も具体的なものが勝ちます。テーブルに 10.0.0.0/8 と 10.1.0.0/16 のルートがある状態で 10.1.2.3 宛てのパケットが来れば、ルートを追加した順序に関係なく /16 が使われます。
デフォルトルートの 0.0.0.0/0 は、単に取り得る中で最も具体性の低いプレフィックスにすぎません。だからこそ、他に何も一致しないときだけ使われます。この一つの仕組みだけで、より具体的なルートを追加すると一般的なルートが黙って上書きされる件を含め、意外に思われがちなルーティングの挙動のほとんどが説明できます。
集約(サマライゼーション)は、同じ考え方を意図的に使うものです。ある拠点のサブネットがすべて一つの /20 の中に収まっていれば、ネットワークの他の部分はエントリを16個ではなく1個持てば済みます。テーブルは小さく保たれ、拠点内でリンクがフラッピングしてもその変動が外へ伝播しません。集約を無視した割り当てをすると、誰かが VLAN を作るたびにルーティングテーブルが線形に増えていきます。
サブネットを使えるものにするサービス
サブネットはそれ単体ではたいしたものではありません。DHCP はその中のプールからアドレスを配りますが、プールはレンジ全体ではなく一部にして、固定アドレスが必要なサーバー、プリンター、ネットワーク機器のための空きを確保しておくべきです。MAC アドレスによる予約を使えば、機器側に設定を入れなくても安定したアドレスを与えられます。たいていはこちらのほうが良い選択です。
ゲートウェイは慣習的に使用可能アドレスの最初か最後に置きます。どちらを選ぶかよりも、拠点をまたいで統一されていることのほうが重要です。ゲートウェイは必ず .1 だと分かっている技術者のほうが、切り分けを速く進められます。
プライベートレンジがインターネットに出られるのは NAT のおかげであり、同時にそれが、10.0.0.0/8 や 192.168.0.0/16 のアドレスがネットワークの外の人にとって何の意味も持たない理由でもあります。ログの送信元にプライベートアドレスが出ていたら、それは NAT の内側を見ているということで、実際のホストを特定するには変換テーブルが必要です。100.64.0.0/10 のキャリアグレード NAT は ISP の規模で同じことをしているもので、加入者の特定にアドレスだけでなくポート番号まで必要になりつつあるのはこのためです。
クラウドネットワークのサブネット設計
AWS、Azure、Google Cloud では用語は同じでも制約が違います。どのプロバイダーもサブネットごとにいくつかのアドレスを予約します。AWS は5つ、つまりネットワークアドレス、ゲートウェイ、DNS 用と将来用の2つ、そしてブロードキャストアドレスを取るので、/28 の使用可能アドレスは14個ではなく11個になります。
VPC の CIDR はたいてい一度決めたら変更が大変なので、ピアリングを見据えて選ぶ価値があります。レンジが重複する2つのネットワークは変換なしには接続できず、その最もよくある原因が、全員そろって 10.0.0.0/16 を既定のまま使うことです。環境ごと、リージョンごとに別々のレンジを確保しておけば、打つ手のない類の移行を避けられます。
サブネットは通常アベイラビリティゾーンごとに作り、各ゾーンのレンジをパブリックとプライベートの層に分けるのが標準的なパターンです。層と層のあいだに3つ目の層、たとえばデータ層や将来のゾーンのための余地を空けておくのは、設計時にはコストゼロです。そうしておかないと1年半後に出てくる、連続していない不格好な割り当てを避けられます。
トラブルシューティング時に計算結果をどう読むか
実務で最もよく問われるのは、2つのアドレスが同じサブネットにいるかどうかです。同じでなければホストはパケットを直接ではなくゲートウェイに送るので、ファイアウォールやルーティングの問題が絡んできます。それぞれのネットワークアドレスを比べればすぐ分かります。同じマスクでネットワークアドレスが同じなら、同じサブネットです。
マスクの不一致は典型的な設定ミスで、非対称な症状、つまり片方のホストからはもう一方に届くのに逆は届かないという症状を生みます。宛先がローカルかどうかについて、両者の認識が食い違うからです。2つのネットワークを並べて見れば、設定ファイルを2つ読み比べてもなかなか気づけないことが一目で分かります。
もう一つすぐ答えが出るのが、スコープの表示です。169.254.0.0/16 のアドレスは DHCP が失敗したことを意味し、127.0.0.0/8 のアドレスは何かがインターフェースではなくループバックにバインドされていることを意味します。そして 100.64.0.0/10 のアドレスが想定外に出てきたら、たいていはパブリックアドレスがあると思っていた場所で、ISP のルーターがキャリアグレード NAT をしているということです。
よくある質問
- なぜ/31の利用可能ホスト数を0と表示するツールがあるのですか?
- ネットワークアドレスとブロードキャストアドレスを無条件に差し引いているためです。RFC 3021はポイントツーポイントリンクについてこれを変更しました。/31はちょうど2つのアドレスを持ち、その両方が割り当て可能です。だからこそ、/30を無駄にせずルーター間リンクをこの形で構成することが一般的なのです。/32も同様に単一ホストとして利用可能であり、マイナス1にはなりません。このツールはどちらも正しく扱います。
- なぜ/24の利用可能ホスト数は256ではなく254なのですか?
- ブロック内の最初のアドレスはネットワーク自体を表し、最後のアドレスはブロードキャストアドレスであるため、どちらもホストに割り当てられないからです。よく言われる「2を引く」はここから来ています。これはIPv4の/30以上のブロックに当てはまります。それより小さい場合は前の項目をご覧ください。
- IPv6でもサブネットごとに2アドレス失われますか?
- いいえ。IPv6にはブロードキャストアドレス自体が存在せず(相当する機能はマルチキャストが担います)、IPv4のようにプレフィックス内のオールゼロアドレスを予約することもありません。IPv6プレフィックス内のすべてのアドレスが割り当て可能であり、そのため/64では18,446,744,073,709,551,616と表示されます。
- 2進数の行は何を表していますか?
- アドレスを2進数で表し、プレフィックス境界でちょうど分割したものです。左側の色が付いた部分がマスクの覆うネットワーク部で、残りがホスト部です。この境界こそがサブネット化そのものであり、ドット付き10進数のマスクから考えるより速く把握できます。
- サブネットマスクが拒否されたのはなぜですか?
- サブネットマスクは1が連続したあとに0が連続する形でなければなりません。255.255.255.192は有効ですが、255.255.0.255は無効です。連続していないマスクを黙って近い有効値に丸めるツールもありますが、それではまさに見つけたい設定ミスを隠してしまいます。このツールは拒否し、その理由を表示します。
- サーバーに何か送信されますか?
- いいえ。これは単なる計算であり、ブラウザ内で完結します。DNS解決もWHOIS問い合わせも、いかなる照会も行いません。入力したアドレスは、多くの場合公開したくない内部レンジですが、どこにも送信されることはありません。
最終更新:
操作手順、期待した結果、実際の結果を記載してください。秘密情報や個人情報は削除してください。
