「PC0からPC2にpingが通りません」とだけ言われたら、あなたはどの順番で、どのshowコマンドを使って原因を絞り込みますか?
STAGE04の最後で学んだトラブルシューティングの型「下位レイヤーから順番に確認する」を、いよいよ実践投入します。今回はあらかじめ3つの設定ミスが仕込まれた状態からスタートし、それぞれを自分の手で見つけて直します。
この演習でできるようになること
show ip interface brief・show running-config・show ip ospf neighborを組み合わせて障害箇所を切り分けられるようになる- サブネットマスク不一致、
no shutdown忘れ、OSPFエリア不一致という3種類の典型的な設定ミスを見分け、修正できるようになる - 「一部は正常に見えても全体が正常とは限らない」という視点で、思い込みを排して確認する姿勢を身につける
使用トポロジ
Router 2911を3台(R1・R2・R3)用意し、R1-R2、R2-R3をリンクで接続します。各ルーター配下にPCを1台ずつ接続し、シングルエリアOSPF(エリア0)で全ネットワークが疎通する設計です。今回はあらかじめ3箇所の設定ミスが仕込まれた状態の完成済みパケットトレーサーファイル(または講師配布のキャプチャ)から作業を始めます。
準備
- 講師配布の壊れた構成ファイルを開く(自作する場合は、pt-4-2と同じPC3台・ルーター3台・OSPFエリア0構成をベースに、以下3つのミスをわざと仕込む)
- 仕込むミスは次の3つ
- サブネットマスク不一致:R2のGigabitEthernet0/1(R1向けリンク)を
255.255.255.252(/30)のまま、R1側の対向インターフェースだけ255.255.255.0(/24)にしてしまっている - no shutdownの実行忘れ:R3のGigabitEthernet0/0(PC2向け)が
shutdownのまま放置されている - OSPFエリア番号の不一致:R3の
networkコマンドがarea 1になっており、R1・R2のarea 0と食い違っている
- 各PCのIPアドレスは正しく設定済みとする(PC0=192.168.1.10、PC1=192.168.2.10、PC2=192.168.3.10、各/24)
手順
- まず現状を把握するため、PC0からPC1、PC0からPC2へそれぞれpingを打ち、どこが失敗しているかを記録する
C:\> ping 192.168.2.10
C:\> ping 192.168.3.10
- 物理層・IP層から確認する。全ルーターで
show ip interface briefを実行する
R1# show ip interface brief
R2# show ip interface brief
R3# show ip interface brief
R3のGigabitEthernet0/0がadministratively downになっていないか確認します。見つかった場合はここで1つ目のミスを修正します。
R3(config)# interface GigabitEthernet0/0
R3(config-if)# no shutdown
- 次にR1-R2間のリンクを疑い、両端のインターフェース設定を
show running-configで見比べる
R1# show running-config interface GigabitEthernet0/1
R2# show running-config interface GigabitEthernet0/1
サブネットマスクの桁数が両端で食い違っていないかを確認します。見つかった場合は、正しいマスクに統一します。
R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip address 10.0.12.1 255.255.255.252
- ここまで直した上で、
show ip ospf neighborを全ルーターで確認する
R1# show ip ospf neighbor
R2# show ip ospf neighbor
R3# show ip ospf neighbor
R2-R3間のネイバーが一向に成立しない場合、show ip protocolsやshow running-configでエリア番号を比較する
R3# show ip protocols
R3側だけarea 1になっていないかを確認します。見つかった場合は、area 0に修正します。
R3(config)# router ospf 1
R3(config-router)# no network 192.168.3.0 0.0.0.255 area 1
R3(config-router)# network 192.168.3.0 0.0.0.255 area 0
- 3つすべてを修正したら、再度PC0からPC1・PC2へpingを打ち、すべて成功することを確認する
確認
R1# show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 1 FULL/DR 00:00:32 10.0.12.2 GigabitEthernet0/1
R1# show ip route
O 192.168.2.0/24 [110/2] via 10.0.12.2, 00:01:10, GigabitEthernet0/1
O 192.168.3.0/24 [110/3] via 10.0.12.2, 00:01:05, GigabitEthernet0/1
C:\> ping 192.168.3.10
Reply from 192.168.3.10: bytes=32 time=4ms TTL=125
3区間すべてでpingが成功し、show ip routeに3つのネットワークすべてがO(OSPF)として正しく学習されていれば、3つの設定ミスがすべて解消されています。
合格チェックリスト
- R3のGigabitEthernet0/0の
shutdown忘れを発見し、no shutdownで修正した - R1-R2間のサブネットマスク不一致を発見し、両端を同じマスク(/30)に統一した
- R3のOSPFエリア番号の誤り(area 1)を発見し、area 0に修正した
- 修正後、
show ip ospf neighborで全区間のネイバーがFULLになっている - PC0からPC1・PC2への両方のpingが成功する
- 修正のたびに1つずつ
showコマンドで検証し、まとめて直してから確認する、という進め方をしなかった(1つ直すごとに確認する癖がついている)
つまずきポイント
- 3つを同時に疑って混乱する:一度に3箇所すべてを探そうとすると収拾がつかなくなります。「物理層→IP層→ルーティングプロトコル」という下位レイヤーからの順番を崩さずに、1つずつ確認・修正していくのが近道です
- マスク不一致に気づかず「ネイバーもFULLだから大丈夫」と思い込む:本編のトラブル体験談でも触れた通り、OSPFのネイバー自体は別の理由で成立していても、肝心のリンクのマスクがずれていると通信が正しく流れないことがあります。ネイバー状態とインターフェース設定は別々に確認しましょう
- OSPFのエリア変更時に古い
network文を消し忘れる:network ... area 1をno networkで削除せずにarea 0の行だけ追加すると、同じネットワークが2つのエリアに二重登録されて余計に混乱します。まずno networkで古い設定を消してから、正しいエリアで登録し直しましょう
R2-R3間でshow ip ospf neighborにお互いが一切表示されません。両インターフェースともup/upで、IPアドレスとマスクも一致しています。次に確認すべきなのは何でしょうか?
答えを見る
OSPFのエリア番号の一致です。物理層・IP層に問題がない状態でネイバーが成立しない場合、networkコマンドで指定しているエリア番号が両ルーターで食い違っている可能性が高いです。show ip protocolsやshow running-configでエリア番号を比較しましょう。
マスク不一致、no shutdown忘れ、OSPFエリア不一致——この3つは、私も含めて誰もが一度はハマる定番の落とし穴だよ。焦らず下位レイヤーから1つずつ、show コマンドを根拠にしながら潰していけば必ず直せる。STAGE04お疲れさま、次はいよいよSTAGE05、セキュリティの世界に入っていくよ。