ネットワーク中級編 第2章 実践演習|ルーティング・OSPFを構築して障害を切り分ける

当ページのリンクには広告が含まれています。
ネットワーク中級編|第2章 実践演習

この演習では、 「ネットワーク中級編|構築・検証・障害切り分けを身につける」 の第2章で学んだルーティング技術をまとめて実践します。

単に設定コマンドを入力するだけではなく、 ルーティングテーブルを読み、通信経路を予測し、設定し、障害原因を根拠付きで説明する ところまで取り組みます。

第2章 実践演習|ルーティング・OSPFを構築して障害を切り分ける

3台のルーターと2つのLANを使い、スタティックルート、デフォルトルート、 OSPF、経路選択、IPv6の確認までを段階的に実践します。 最後は意図的に設定ミスを含んだネットワークを調査し、 障害報告まで作成します。

対象レベル Level 2・中級
想定時間 約60〜90分
身につく成果 経路構築・確認・障害切り分け
対象範囲 第11〜20記事
演習環境 Packet Tracer推奨

ルーティングを理解するうえで重要なのは、 「コマンドを覚えているか」ではなく「この宛先ならどの経路が選ばれるかを説明できるか」 です。

演習では、設定する前に通信経路を予測し、設定後に show ip routeshow ip ospf neighborで 予測どおりになっているか確認してください。

この演習でできるようになること

  • ルーティングテーブルから通信経路を判断できる
  • 最長一致で選ばれる経路を判断できる
  • スタティックルートとデフォルトルートを設定できる
  • 戻り経路を含めて通信を設計できる
  • OSPFネイバーと学習経路を確認できる
  • OSPFコストから経路選択を判断できる
  • IPv4とIPv6の通信を分けて確認できる
  • 調査結果を障害報告としてまとめられる

第2章の復習範囲

この実践演習は、次の10記事を学習したことを前提としています。

  1. 11. ルーティングテーブルの読み方
  2. 12. 最長一致の考え方
  3. 13. スタティックルーティング
  4. 14. デフォルトルート
  5. 15. 動的ルーティングの考え方
  6. 16. OSPFの基本
  7. 17. OSPFネイバーが確立するまで
  8. 18. OSPFのコストと経路選択
  9. 19. IPv6の基礎
  10. 20. IPv4とIPv6の共存

すべてのコマンドを暗記してから始める必要はありません。

分からなくなったら該当記事へ戻り、 「何を確認するためのコマンドなのか」を考えながら進めてください。

演習構成とIPアドレス

基本演習では、次の構成を使用します。

基本構成

💻 PC-A 192.168.10.10/24 GW 192.168.10.1
📡 R1 LAN:192.168.10.1 R2側:10.0.12.1
📡 R2 R1側:10.0.12.2 R3側:10.0.23.1
📡 R3 R2側:10.0.23.2 LAN:192.168.30.1
🖥️ Server-A 192.168.30.10/24 GW 192.168.30.1
機器 インターフェース 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で追加します。 一度にすべて設定せず、段階ごとに正常性を確認することが重要です。

演習1

ルーティングテーブルを読み取る

まず、設定を変更せずにルーティングテーブルから 「どの経路が利用されるか」を判断します。

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やメトリックだけを見て判断しないようにしてください。

演習2

スタティックルートとデフォルトルートを構築する

次に、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・R2・R3へ投入するip routeコマンドを自分で考えてください。
設定例を見る

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は成功しません。 「戻り経路」を必ず確認してください。

演習3

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
192.168.30.0/24は、どのルーターから学習していますか? 経路コード、AD、メトリック、ネクストホップを記録してください。

OSPFを設定しただけでは完了ではありません。

ネイバーがFullになっていること、 必要な経路がルーティングテーブルへ登録されていること、 実通信が成功することの3段階で確認します。

演習4

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 routeshow 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

設定変更前後のルーティングテーブルを保存して比較してください。

「コストを変更した結果、どのネクストホップへ変化したか」を 説明できれば、この演習の目的を達成しています。

演習5

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:原因候補を絞る

次の順番で確認してください。

  1. インターフェースはup/upか
  2. 相手IPへ直接pingできるか
  3. OSPFプロセスは動作しているか
  4. 対象インターフェースでOSPFが有効か
  5. Area番号は一致しているか
  6. 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到達性 → ネイバー → 経路 → 実通信の順に確認すると、 原因を効率よく絞り込めます。

演習6

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します。

障害切り分けで確認したい順序

  1. 端末のIPアドレス・サブネットマスク・デフォルトゲートウェイ
  2. 直接接続しているゲートウェイまでの通信
  3. 各ルーターのインターフェース状態
  4. 各ルーターのルーティングテーブル
  5. 宛先方向の経路
  6. 戻り方向の経路
  7. 必要に応じてtracerouteで停止位置を確認

成果物:障害調査報告書を作成する

最後に、調査内容を「直った」で終わらせず、 他のエンジニアが読んでも状況を理解できる文章へまとめます。

障害調査報告書テンプレート

1.事象

例:PC-AからServer-A(192.168.30.10)へ通信できない。

2.影響範囲

どの端末・ネットワーク・通信が影響を受けているか。

3.確認結果

ping、show ip interface brief、show ip routeなどの確認結果を書く。

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、ネットワーク監視へ進みます。

ネットワーク中級編|第2章 実践演習

中級編では、VLAN・STP・ルーティング・OSPF・ACL・VPN・ パケット解析・障害切り分けを、構成・設定・確認・報告まで含めて学びます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次