この演習では、 「ネットワーク中級編|構築・検証・障害切り分けを身につける」 の第2章で学んだルーティング技術をまとめて実践します。
単に設定コマンドを入力するだけではなく、 ルーティングテーブルを読み、通信経路を予測し、設定し、障害原因を根拠付きで説明する ところまで取り組みます。
第2章 実践演習|ルーティング・OSPFを構築して障害を切り分ける
3台のルーターと2つのLANを使い、スタティックルート、デフォルトルート、 OSPF、経路選択、IPv6の確認までを段階的に実践します。 最後は意図的に設定ミスを含んだネットワークを調査し、 障害報告まで作成します。
ルーティングを理解するうえで重要なのは、 「コマンドを覚えているか」ではなく「この宛先ならどの経路が選ばれるかを説明できるか」 です。
演習では、設定する前に通信経路を予測し、設定後に
show ip routeやshow ip ospf neighborで
予測どおりになっているか確認してください。
この演習でできるようになること
- ルーティングテーブルから通信経路を判断できる
- 最長一致で選ばれる経路を判断できる
- スタティックルートとデフォルトルートを設定できる
- 戻り経路を含めて通信を設計できる
- OSPFネイバーと学習経路を確認できる
- OSPFコストから経路選択を判断できる
- IPv4とIPv6の通信を分けて確認できる
- 調査結果を障害報告としてまとめられる
第2章の復習範囲
この実践演習は、次の10記事を学習したことを前提としています。
- 11. ルーティングテーブルの読み方
- 12. 最長一致の考え方
- 13. スタティックルーティング
- 14. デフォルトルート
- 15. 動的ルーティングの考え方
- 16. OSPFの基本
- 17. OSPFネイバーが確立するまで
- 18. OSPFのコストと経路選択
- 19. IPv6の基礎
- 20. IPv4とIPv6の共存
すべてのコマンドを暗記してから始める必要はありません。
分からなくなったら該当記事へ戻り、 「何を確認するためのコマンドなのか」を考えながら進めてください。
演習構成とIPアドレス
基本演習では、次の構成を使用します。
基本構成
| 機器 | インターフェース | IPv4アドレス | IPv6アドレス |
|---|---|---|---|
| PC-A | NIC | 192.168.10.10/24 | 2001:db8:10::10/64 |
| R1 | G0/0 | 192.168.10.1/24 | 2001:db8:10::1/64 |
| R1 | G0/1 | 10.0.12.1/30 | 2001:db8:12::1/64 |
| R2 | G0/0 | 10.0.12.2/30 | 2001:db8:12::2/64 |
| R2 | G0/1 | 10.0.23.1/30 | 2001:db8:23::1/64 |
| R3 | G0/0 | 10.0.23.2/30 | 2001:db8:23::2/64 |
| R3 | G0/1 | 192.168.30.1/24 | 2001:db8:30::1/64 |
| Server-A | NIC | 192.168.30.10/24 | 2001:db8:30::10/64 |
最初はIPv4だけ設定してください。
IPv6は演習6で追加します。 一度にすべて設定せず、段階ごとに正常性を確認することが重要です。
ルーティングテーブルを読み取る
まず、設定を変更せずにルーティングテーブルから 「どの経路が利用されるか」を判断します。
R1# show ip route
Gateway of last resort is 10.0.12.2 to network 0.0.0.0
C 192.168.10.0/24 is directly connected, GigabitEthernet0/0
C 10.0.12.0/30 is directly connected, GigabitEthernet0/1
O 192.168.30.0/24 [110/20] via 10.0.12.2
S 192.168.40.0/24 [1/0] via 10.0.12.2
S 192.168.40.128/25 [1/0] via 10.0.12.2
S* 0.0.0.0/0 [1/0] via 10.0.12.2
課題1
192.168.30.10宛てのパケットは、どの経路を利用しますか。
解答を見る
OSPFで学習した192.168.30.0/24を使用します。
ネクストホップは10.0.12.2です。
課題2
192.168.40.200宛てでは、どちらの経路が選ばれますか。
- 192.168.40.0/24
- 192.168.40.128/25
解答を見る
192.168.40.128/25です。
両方の経路に一致しますが、よりプレフィックス長が長い
/25が最長一致によって選択されます。
課題3
8.8.8.8宛てでは、どの経路が選ばれますか。
解答を見る
個別に一致する経路がないため、 0.0.0.0/0のデフォルトルートを利用します。
経路選択では、まず宛先に一致する経路を探し、その中で最長一致を確認します。
ADやメトリックだけを見て判断しないようにしてください。
スタティックルートとデフォルトルートを構築する
次に、R1・R2・R3へIPv4アドレスを設定し、 PC-AとServer-Aを通信させます。
課題1:インターフェースを設定する
R1の設定例です。
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip address 192.168.10.1 255.255.255.0
R1(config-if)# no shutdown
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip address 10.0.12.1 255.255.255.252
R1(config-if)# no shutdown
R2とR3もアドレス表を見ながら自分で設定してください。
課題2:経路を設計する
今回は、両端のR1とR3を「出口が1つしかないルーター」と考え、 デフォルトルートを利用します。
- R1:不明な宛先はR2へ送る
- R2:192.168.10.0/24と192.168.30.0/24への経路を持つ
- R3:不明な宛先はR2へ送る
設定例を見る
R1
R1(config)# ip route 0.0.0.0 0.0.0.0 10.0.12.2
R2
R2(config)# ip route 192.168.10.0 255.255.255.0 10.0.12.1
R2(config)# ip route 192.168.30.0 255.255.255.0 10.0.23.2
R3
R3(config)# ip route 0.0.0.0 0.0.0.0 10.0.23.1
課題3:通信確認
- PC-Aから192.168.10.1へpingできる
- R1から10.0.12.2へpingできる
- R2から10.0.23.2へpingできる
- R3から192.168.30.10へpingできる
- PC-Aから192.168.30.10へpingできる
show ip interface brief
show ip route
ping
traceroute
行きの経路だけでは通信は成立しません。
PC-AからServer-Aへパケットが届いても、 Server-A側からPC-Aへ戻る経路がなければpingは成功しません。 「戻り経路」を必ず確認してください。
OSPFを構築する
次は、スタティックルートを削除し、 ルーター同士が自動的に経路情報を交換する構成へ変更します。
課題1:スタティックルートを削除する
show running-config | include ip routeなどで
現在のスタティックルートを確認してから削除してください。
課題2:OSPFを設定する
すべてのネットワークをArea 0へ参加させます。
OSPF設定例を見る
R1
R1(config)# router ospf 1
R1(config-router)# router-id 1.1.1.1
R1(config-router)# network 192.168.10.0 0.0.0.255 area 0
R1(config-router)# network 10.0.12.0 0.0.0.3 area 0
R2
R2(config)# router ospf 1
R2(config-router)# router-id 2.2.2.2
R2(config-router)# network 10.0.12.0 0.0.0.3 area 0
R2(config-router)# network 10.0.23.0 0.0.0.3 area 0
R3
R3(config)# router ospf 1
R3(config-router)# router-id 3.3.3.3
R3(config-router)# network 10.0.23.0 0.0.0.3 area 0
R3(config-router)# network 192.168.30.0 0.0.0.255 area 0
課題3:OSPFの状態を確認する
R2# show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
1.1.1.1 1 FULL/DR 00:00:36 10.0.12.1 GigabitEthernet0/0
3.3.3.3 1 FULL/BDR 00:00:38 10.0.23.2 GigabitEthernet0/1
次の3点を確認してください。
- R1とR2がネイバーになっている
- R2とR3がネイバーになっている
- PC-AからServer-Aまで再び通信できる
課題4:ルーティングテーブルを確認する
R1で次のコマンドを実行してください。
R1# show ip route ospf
OSPFを設定しただけでは完了ではありません。
ネイバーがFullになっていること、 必要な経路がルーティングテーブルへ登録されていること、 実通信が成功することの3段階で確認します。
OSPFのコストと経路選択を確認する
R1とR3の間に新しい直接リンクを追加します。
| 機器 | インターフェース | IPアドレス |
|---|---|---|
| R1 | G0/2 | 10.0.13.1/30 |
| R3 | G0/2 | 10.0.13.2/30 |
R1-R3間もOSPF Area 0へ参加させます。
経路を2本用意する
R1からR3までの2つの候補経路
経路A: R1 → R2 → R3
経路B: R1 → R3
課題1:コストを設定する
まず次のように設定します。
- R1 → R2:OSPF Cost 10
- R2 → R3:OSPF Cost 10
- R1 → R3:OSPF Cost 50
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip ospf cost 10
R2(config)# interface GigabitEthernet0/1
R2(config-if)# ip ospf cost 10
R1(config)# interface GigabitEthernet0/2
R1(config-if)# ip ospf cost 50
課題2
この状態でR1から192.168.30.0/24へ通信するとき、 R2経由とR3直接のどちらが選ばれると予想しますか。
考え方を見る
R2を経由する経路が優先されると予想できます。
OSPFは宛先までの累積コストが小さい経路を優先します。
実際の値はshow ip routeと
show ip ospf interfaceで確認してください。
課題3:直接経路を優先させる
R1のG0/2のOSPF Costを5へ変更してください。
R1(config)# interface GigabitEthernet0/2
R1(config-if)# ip ospf cost 5
その後、以下を確認します。
R1# show ip route 192.168.30.0
R1# traceroute 192.168.30.10
設定変更前後のルーティングテーブルを保存して比較してください。
「コストを変更した結果、どのネクストホップへ変化したか」を 説明できれば、この演習の目的を達成しています。
OSPFネイバー障害を切り分ける
ここからは正常構成を意図的に壊します。
障害シナリオ: R1とR2のOSPFネイバーが確立しなくなりました。
故障設定
R2のR1側インターフェースだけArea 1へ変更した状態を想定します。
R2(config)# interface GigabitEthernet0/0
R2(config-if)# ip ospf 1 area 1
この演習では、R1-R3の直接リンクはいったん
shutdownしておきます。
課題1:症状を確認する
R1# show ip ospf neighbor
R1# show ip route
R1# ping 192.168.30.10
課題2:原因候補を絞る
次の順番で確認してください。
- インターフェースはup/upか
- 相手IPへ直接pingできるか
- OSPFプロセスは動作しているか
- 対象インターフェースでOSPFが有効か
- Area番号は一致しているか
- Hello/Dead Timerなどの条件は一致しているか
R1# show ip interface brief
R1# show ip ospf neighbor
R1# show ip ospf interface GigabitEthernet0/1
R1# show ip protocols
R2# show ip ospf interface GigabitEthernet0/0
R2# show running-config | section ospf
原因と修正例を見る
原因はR1-R2間のOSPF Area不一致です。
R2(config)# interface GigabitEthernet0/0
R2(config-if)# ip ospf 1 area 0
修正後はネイバーがFullになること、 OSPF経路が再学習されること、 PC-AからServer-Aへの通信が復旧することを確認します。
pingが通らないからといって、いきなりOSPF設定だけを見るのは避けます。
物理状態 → IP到達性 → ネイバー → 経路 → 実通信の順に確認すると、 原因を効率よく絞り込めます。
IPv4とIPv6を同じ構成で確認する
最後に、IPv4で動作している構成へIPv6を追加します。 IPv4を削除せず、両方を設定してください。
課題1:IPv6ルーティングを有効化する
R1(config)# ipv6 unicast-routing
R2(config)# ipv6 unicast-routing
R3(config)# ipv6 unicast-routing
課題2:IPv6アドレスを設定する
例としてR1は次のように設定します。
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ipv6 address 2001:db8:10::1/64
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ipv6 address 2001:db8:12::1/64
R2、R3、PC-A、Server-Aもアドレス表を見ながら設定してください。
課題3:IPv4とIPv6を別々に確認する
R1# show ip interface brief
R1# show ipv6 interface brief
R1# show ip route
R1# show ipv6 route
確認問題
IPv6通信に障害が発生していても、 IPv4通信は正常という状態はあり得るでしょうか。
解答を見る
あり得ます。
デュアルスタックではIPv4とIPv6をそれぞれ扱うため、 片方のアドレス・経路・設定だけに問題があれば、 もう片方は正常に通信できる場合があります。
IPv6を追加したら、 「IPv4のpingが通るからネットワーク全体が正常」と判断せず、 IPv4とIPv6をそれぞれ確認してください。
最終演習:通信障害を自力で切り分ける
最後は、答えを見る前に自分で調査してください。
利用者からの申告
「PC-AからServer-Aへ通信できません。 PC-Aからデフォルトゲートウェイへのpingは成功します。」
現在確認できている情報
PC-A> ping 192.168.10.1
Reply from 192.168.10.1
PC-A> ping 192.168.30.10
Request timed out.
R1:
R1# show ip route
C 192.168.10.0/24 is directly connected, GigabitEthernet0/0
C 10.0.12.0/30 is directly connected, GigabitEthernet0/1
S* 0.0.0.0/0 [1/0] via 10.0.12.2
R2:
R2# show ip route
C 10.0.12.0/30 is directly connected, GigabitEthernet0/0
C 10.0.23.0/30 is directly connected, GigabitEthernet0/1
S 192.168.10.0/24 [1/0] via 10.0.12.1
S 192.168.30.0/24 [1/0] via 10.0.23.2
R3:
R3# show ip route
C 10.0.23.0/30 is directly connected, GigabitEthernet0/0
C 192.168.30.0/24 is directly connected, GigabitEthernet0/1
課題1:どこまで通信できているか整理する
- PC-A → R1
- R1 → R2
- R2 → R3
- R3 → Server-A
- Server-A → PC-Aの戻り方向
課題2:不足している経路を特定する
3台のルーティングテーブルを比較してください。
解答を見る
R3に192.168.10.0/24へ戻る経路がありません。
PC-AからServer-Aへの要求はR3まで届いても、 Server-Aの応答をPC-A側へ戻すための経路がR3に存在しません。
今回の設計であれば、例えば次のデフォルトルートを追加できます。
R3(config)# ip route 0.0.0.0 0.0.0.0 10.0.23.1
追加後、show ip routeで経路を確認し、
PC-AからServer-Aへ再度pingします。
障害切り分けで確認したい順序
- 端末のIPアドレス・サブネットマスク・デフォルトゲートウェイ
- 直接接続しているゲートウェイまでの通信
- 各ルーターのインターフェース状態
- 各ルーターのルーティングテーブル
- 宛先方向の経路
- 戻り方向の経路
- 必要に応じてtracerouteで停止位置を確認
成果物:障害調査報告書を作成する
最後に、調査内容を「直った」で終わらせず、 他のエンジニアが読んでも状況を理解できる文章へまとめます。
1.事象
2.影響範囲
3.確認結果
4.原因
5.対応内容
6.復旧確認
報告例を見る
事象:
PC-A(192.168.10.10)からServer-A(192.168.30.10)への
ICMP通信が失敗していました。
確認結果:
PC-AからR1へのpingは成功しました。
R1、R2にはServer-A側への経路が存在し、
R3からServer-Aへの直接通信も正常でした。
一方、R3のルーティングテーブルには
192.168.10.0/24への経路が存在しませんでした。
原因:
R3にPC-A側ネットワークへの戻り経路が設定されていなかったため、
Server-AからPC-Aへ応答パケットを返せない状態でした。
対応:
R3へR2をネクストホップとするデフォルトルートを追加しました。
復旧確認:
設定追加後にR3のルーティングテーブルへデフォルトルートが
登録されていることを確認し、
PC-AからServer-Aへのpingが成功することを確認しました。
第2章 修了チェック
次の項目を、資料を見ずに説明・実施できるか確認してください。
- ルーティングテーブルのC・S・Oなどの経路を読み取れる
- 最長一致によって選択される経路を判断できる
- スタティックルートを設定できる
- デフォルトルートを設定できる
- 戻り経路が必要な理由を説明できる
- OSPFネイバーの状態を確認できる
- OSPFで学習した経路をルーティングテーブルから確認できる
- OSPF Costの変更による経路変化を確認できる
- OSPFネイバーが確立しない場合の確認順序を説明できる
- IPv4とIPv6を別々に確認できる
- 障害原因を根拠付きで文章にまとめられる
9項目以上できれば、第2章の内容は十分に身についています。
特に「設定できる」だけでなく、 なぜその経路が選ばれたのか、なぜ通信できなかったのかを説明できること を重視してください。
まとめ
- ルーティングでは、最初にルーティングテーブルから経路を判断する
- 複数経路が一致する場合は最長一致を確認する
- スタティックルートでは宛先とネクストホップを明確にする
- 出口が1つのネットワークではデフォルトルートを利用できる
- 通信確認では行きだけでなく戻り経路も確認する
- OSPFではネイバー・経路学習・実通信の順に正常性を確認する
- OSPF Costを変更すると利用される経路が変化する場合がある
- OSPF障害では物理・IP・ネイバー・経路の順に切り分ける
- IPv4とIPv6はそれぞれ個別に通信状態を確認する
- 調査結果は原因と根拠をセットで報告する
第2章のゴールは、ルーティングコマンドを暗記することではありません。 宛先までの経路を読み、設定し、問題が起きたときに 「どこで通信が止まっているか」を自力で説明できる状態です。
次は第3章:ネットワークサービスとセキュリティ
第2章では、ルーターが宛先ネットワークまでパケットを届ける仕組みを学びました。
第3章では、DHCPリレー、DNS、NAT、ACL、ファイアウォール、VPN、 NTP、Syslog、SNMP、ネットワーク監視へ進みます。
中級編では、VLAN・STP・ルーティング・OSPF・ACL・VPN・ パケット解析・障害切り分けを、構成・設定・確認・報告まで含めて学びます。

コメント