🏠 ホーム › はじめに › 🧭 共通の解き方 (どこから手を付けるか)
🧭 NetPractice 共通の解き方 — どこから手を付けるか
💡 このページの位置付け
Level 4 以降の 複雑なレベル(ルータが出てくる問題)で 「どこから手を付ければいいか分からない」と固まるあなたへ。 どのレベルでも使える 「決まった解き方」 を 1 ページにまとめました。
📖 結論
NetPractice は 「穴埋めパズル」 です。固定値(薄ピンク)が 答えへの矢印 になっているので、その矢印を辿るだけで解けます。
順番は 5 つの Phase:
flowchart LR
P0["📋 Phase 0<br/>固定値マップ"] --> P1["🔗 Phase 1<br/>連鎖を辿る"]
P1 --> P2["🏘️ Phase 2<br/>街を作る"]
P2 --> P3["🛤️ Phase 3<br/>routes を書く"]
P3 --> P4["✅ Phase 4<br/>双方向検算"]
classDef phase fill:#FFE082,stroke:#F57F17,color:#000
class P0,P1,P2,P3,P4 phase
📋 Phase 0 — 固定値マップを作る (絶対最初にやる)
やること
画面を見渡して 動かせない値(薄ピンクの欄) を全部リストアップ。 白い欄は無視 して、まずは固定値だけに集中。
なぜ最初にやる?
固定値は 「動かせない手がかり」。これを軸にしないと、白い欄を埋めても後で矛盾が出ます。
チェックリスト
□ 画面の各 IF (interface) を見て、IP/Mask が固定 (薄ピンク) か確認
□ 各 router の routes 欄を見て、route/gate が固定か確認
□ 各 host の routes/gate を確認
□ 固定値だけを紙に書き出す
例: Level 8 の固定値
| 場所 | 固定値 |
|---|---|
| D1 IP | 7.9.10.11 |
| D1 Mask | /28 |
| R12 | 163.178.250.12/28 |
| R2r1 gate | 161.138.113.62 |
| Ir1 route | 161.138.113.0/26 |
→ この 5 個 が全ての出発点。
🔗 Phase 1 — 固定値の "連鎖" を辿る
やること
固定値同士は 「A だから B、B だから C」 と連鎖します。 1 つの固定値から 何が決まるか を順に書き出す。
連鎖パターン (頻出)
パターン A: gate が固定 → 隣のルータの IP が決まる
例: R2r1 gate = .62 (固定) → R13 IP は 必ず .62
パターン B: route の左側 (CIDR) が固定 → リンクのマスクが決まる
例: Ir1 route = .0/26 (固定) → R13 と R21 の Mask は 必ず /26
パターン C: ホストの IP/Mask 固定 → 街と街の住人が決まる
例: D1 = .11/28 固定 → 街 = .0/28 → R23 (= D の玄関) は .1 など
Phase 1 のゴール
固定値の連鎖だけで埋まる 編集可能欄 をすべて埋め切る。
🏘️ Phase 2 — 残りの街 (サブネット) を設計する
やること
連鎖だけで決まらなかった部分(自由度の高いホストや街)を設計する。
設計のコツ
- サブネットの空き範囲を地図化 (🗺️ 占有マップ参照)
- R1 などのルータで routes が制限される なら、ホストの街を 隣接配置 して ルート集約 で乗り切る
- プライベート IP 帯 (
10.x,172.16.x,192.168.x) を使う
例: Level 8 の C の街
R1 で書ける routes は 1 本のみ。 → C を D の隣 (
.16/28) に置けば、/27で 2 街を 1 本に集約できる
🛤️ Phase 3 — routes (経路) を埋める
やること
各ルータとホストの routes 欄 を埋める。
routes の書き方ルール
| 書く欄 | 何を書く? |
|---|---|
| 左 (route) | 宛先サブネットのネットワークアドレス + マスク (例: .64/26) |
| 右 (gate) | 次に渡す相手の IP (= 自分と同じ街の住人) |
詳細: 06. ルーティングテーブル — .0/26 や .64/26 の数字って何?
順番
1. ホストの default route + gate (= 自分の街の玄関)
2. 各ルータの「向こう側の街への routes」
3. Internet 側の「自分の LAN への戻り道」(双方向通信のため)
よくある失敗
- ❌ ホストの IP (
.66) を route に書く → ✅ 街の住所 (.64/26) を書く - ❌ 別の街のルータ IP を gate に書く → ✅ 同じ街の住人 を書く
- ❌ Internet からの戻り道 routes を忘れる → ✅ Internet 側にも書く
✅ Phase 4 — 双方向で検算
やること
各ゴール(A↔B、A↔Internet など)について、行き と 帰り の両方を頭の中で追跡。
検算の手順
ゴール: X ↔ Y
─────────────────
🚀 行き:
X → 自分のサブネット内? Yes → 直接 / No → default → ルータへ
ルータ → routes 確認 → 該当行 → next hop へ
... 続ける ...
Y に到達 ✅
📬 帰り:
Y → 自分のサブネット内? Yes → 直接 / No → default → ルータへ
... 同じ作業を逆方向で ...
X に到達 ✅
両方 ✅ ならゴール緑になる
エラーメッセージとの対応
| エラー | 意味 | 確認すべきこと |
|---|---|---|
No forward way |
行きの routes が見つからない | 各ルータの routes に該当エントリがあるか |
No reverse way |
帰りの routes が見つからない | Internet 側 / 上流 routes に LAN の戻り道があるか |
loop detected |
ぐるぐる回ってる | gate がお互いを指してないか |
🎯 解いた順を「絵」で見たい場合
レベル 8 で 8 段階の Mermaid 図 で進捗を見える化しています。 ぜひ参照してください: 🎬 Level 8 を解く順 (絵で順番に追跡)
📋 「埋める順」共通テンプレート
どのレベルでもこの順で攻めれば OK:
| Phase | やること | 出力 |
|---|---|---|
| 0 | 固定値(薄ピンク)を全部マーク | 固定値リスト |
| 1 | 固定 gate / route から連鎖で IF の値を決定 | 一部 IF が確定 |
| 2 | 残りのホストの街を設計(必要なら集約も意識) | 全 IF の IP/Mask 確定 |
| 3 | routes と gate を埋める (ホスト → ルータ → Internet 側) | 全 route 確定 |
| 4 | 各ゴールを行き・帰り両方で検算 → Check again | 全 Goal 緑 ✅ |
🆘 詰まった時のチェックリスト
□ 固定値を全部書き出した? (Phase 0 をスキップしてない?)
□ 固定 gate が指している IP と、隣のルータの IP は一致してる?
□ 固定 route の左側 CIDR と、そのリンクのマスクは一致してる?
□ ホストの IP がその街の住人 (.0 や .ブロードキャスト じゃない) に入ってる?
□ ホストの gate は自分の街の住人 (= 直結ルータ IF) を指してる?
□ Internet 側の routes に、自分の LAN への戻り道 (.X/N) が書いてある?
□ default route (0.0.0.0/0) は最後に評価されるよう、具体的な route の下に書いてある?
📚 各レベルの突破ポイント早見表
| Level | 鍵となる固定値 | 学ぶこと |
|---|---|---|
| 1-2 | A1/B1 IP and Mask | 同じサブネット = 同じ街 |
| 3 | スイッチ配下の固定マスク | スイッチ = 全員同じ街 |
| 4 | R2/R3 の固定 IP/Mask | 占有されてない範囲を探す |
| 5 | R1/R2 の IP | ホストを街に入れて gate 設定 |
| 6 | A1 IP, R1 Mask | Internet 側 routes (帰り道) |
| 7 | R11 .1 と R12 .254 | /24 を /26 で 4 等分 |
| 8 | R2r1 gate, Ir1 route, D1 IP | ⭐ ルート集約 |
| 9 | 多数 (連鎖) | 分割統治、複数 routes |
| 10 | ほぼ全部固定 | 0.0.0.0/0 で全戻り経路カバー |
▶️ 次に読むページ
🗺️ 全 10 レベル攻略 (第 2 部) — 各レベルの詳細解説