🏠 ホーム › 第2部 全10レベル攻略 › Level 2 — 不正マスクの修正
Level 2 — 不正マスクの修正
⚠️ 数値は毎回ランダムに変わります
このページに書かれた IP・マスク・ルートの値は 前回プレイした時の一例 です。 あなたの画面では違う数値になっているはずなので、そのままコピペしても絶対に解けません。 真似するのは「どう考えて解くか」の手順だけ。
🎯 一言で言うと: 壊れたマスク(
255.255.255.32のような無効値)を修正し、/27と/30のブロック境界に IP を合わせる。
📖 このページは何?
サブネットマスクが 「1 が連続してから 0 が連続」 というルールに違反した値(例: .32)になっている問題を直すレベル。
小さい CIDR (/27, /30) のブロック計算にも初めて触れます。
このレベルで身につくこと:
- 無効マスク を見分ける(
.32.96などの「途中に 1 が紛れた値」) /27(= 32 ずつ) のブロック計算/30(= 4 ずつ、ルータ間リンク用) のブロック計算
📷 問題画面
🗺️ トポロジー
flowchart LR
subgraph pair1 [組 1]
A[💻 Host A<br>A1]
B[💻 Host B<br>B1]
A --- B
end
subgraph pair2 [組 2]
C[💻 Host C<br>C1]
D[💻 Host D<br>D1]
C --- D
end
style A fill:#E3F2FD
style B fill:#FFF9C4
style C fill:#E3F2FD
style D fill:#FFF9C4
📺 画面の編集できる箇所
| 場所 | 何? | 状態 | あなたが直すか? |
|---|---|---|---|
| A1 IP | A の IP | 白 | ✅ 直す |
| A1 Mask | A のマスク | 薄ピンク | ❌ そのまま |
| B1 IP | B の IP | 薄ピンク | ❌ そのまま |
| B1 Mask | B のマスク (壊れてる!) | 白 | ✅ 直す |
| C1 IP | C の IP | 白 | ❌ そのまま |
| C1 Mask | C のマスク (/30) | 薄ピンク | ❌ そのまま |
| D1 IP | D の IP | 白 | ✅ 直す |
| D1 Mask | D のマスク (/30) | 薄ピンク | ❌ そのまま |
→ 直すのは B1 Mask + A1 IP + D1 IP の 3 箇所。
🔒 固定値
| IF | IP | マスク | 編集可 |
|---|---|---|---|
| A1 | 192.168.30.1 |
255.255.255.224 (/27) |
IP のみ |
| B1 | 192.168.30.222 |
255.255.255.32 ← 不正! |
マスクのみ |
| C1 | 127.0.0.1 |
255.255.255.252 (/30) |
IP のみ |
| D1 | 127.0.0.4 |
255.255.255.252 (/30) |
IP のみ |
⚠️ 本来
127.x.x.xはループバック予約帯 で実機では NG。NetPractice では教育目的で使われている。 詳細: 04. スイッチとルータの違い
🚨 B1 のマスクが不正な理由
255.255.255.32 を 2 進数で見ると
マスクの大原則
サブネットマスクは 「先頭から 1 が連続して並び、その後 0 が続く」 形でなければならない。
.32 の 2 進は 00100000 → 0 の中に 1 が紛れている → 無効。
正しいマスクの例(参考)
| 10進 | 2進 | CIDR | 妥当? |
|---|---|---|---|
0 |
00000000 |
/24 | ✅ |
128 |
10000000 |
/25 | ✅ |
192 |
11000000 |
/26 | ✅ |
224 |
11100000 |
/27 | ✅ |
240 |
11110000 |
/28 | ✅ |
248 |
11111000 |
/29 | ✅ |
252 |
11111100 |
/30 | ✅ |
32 |
00100000 |
— | ❌ |
96 |
01100000 |
— | ❌ |
🧠 考え方
Step 1: B1 のマスクを A1 と同じ /27 に
A1 のマスクが /27 で固定 → B1 もそれに合わせるしかない。
→ B1 Mask = 255.255.255.224
Step 2: /27 で A1, B1 が同じブロックに居るか確認
/27 のブロックサイズは 32(= 256 − 224)。/24 空間を 8 ブロック に分割:
→ A1 と B1 は別ブロックに居る!
→ A1 を .192/27 ブロック (B1 と同じ街) に引っ越す必要がある。
→ 住人は .193〜.222 (.222 は B1 が使うので避ける) → A1 を .193 に。
Step 3: A1 を B1 と同じブロックに移動
A1 の IP を .193〜.222 の範囲に変更(.222 は B1 が使うので避ける)。
例: 192.168.30.193
Step 4: C1 ↔ D1 の /30 問題
/30 のブロックサイズは 4(ルータ間リンクの定番サイズ)。
| ブロック | 含む IP | 住人 |
|---|---|---|
.0/30 |
.0, .1, .2, .3 |
.1, .2 |
.4/30 |
.4, .5, .6, .7 |
.5, .6 |
.8/30 |
.8, .9, .10, .11 |
.9, .10 |
C1 .1 は .0/30、D1 .4 は .4/30 → 別ブロック。
→ D1 を .2 に変更(.0/30 の住人にする)。
- C1 =
127.0.0.1(変更不要) - D1 →
127.0.0.2
🎬 パケットの旅(A → B のゴール)
修正後の世界で、A から B に手紙を出すと…
A (.193 / 27) のサブネット計算:
.193 ÷ 32 = 6 余り 1
6 × 32 = 192
→ A の町 = 192.168.30.192/27 (.192〜.223)
B (.222) はこの町の住人? → ✅ YES
→ A は B に直接手紙を渡す → 配達完了
✅ 解答例
🔗 関連概念
- 02 サブネットマスクって何? — マスクの基本ルール
- 03 CIDR 早見表 —
/27/30のサイズ感
🎓 このレベルの抽象的な学び
形式バリデーションの感覚
マスクの「1 が連続してから 0」という形式は、プログラミングの 型・フォーマット制約 と同じ。 データの形を見て「これ変」とパッと気づけるのがエンジニアの感覚。
/30 はルータ間リンク専用
/30 は住人が 2 人しか入らないので ルータ同士を直結するリンク で多用される。 「/30 が見えたら 2 台直結」と覚える。
⚠️ よくあるミス
/27 を 224 と書くのを覚えられない
暗記するなら CIDR 早見表を見返す。/27 は「32 区切り」と覚えると 256 − 32 = 224 と導ける。
.192 や .223 を住人にする
.192 はネットワークアドレス、.223 はブロードキャスト → 住人には使えない。
範囲は .193〜.222 だけ。
/30 で .0 や .3 を使う
.0/30 のブロックでは、住人になれるのは .1 と .2 だけ。.0 (Net) と .3 (Bcast) は予約。
