問題解説:心肺停止~ましろ色ルート情報~

問題文

我が社では事業拡大に向けて、これまで別々に活躍していた2つの会社を統合することにした。

事務所を新たに開設したのだが、ネットワーク設計がまだ途中のため、
暫くの間は本社で余ったルーター1台を間に挟んで通信をすることにした。

しかし、エンジニアは既に設計の方に出払ってしまっているため本社にいる手の空いている人間に構築をさせた。

本人から完成しましたと連絡を受けネットワークを使ってみたのだが2つの事務所から疎通が全く取れず、困っている状況である。

早急に担当したエンジニアに設計をやり直せといったのだが本人は「めとりっく?の値とかワケワカンナイ…無理っしょ」なんてブツブツつぶやき

「ユ○バで彼女とデートがあるんで。」

と言い残して帰ってしまった。

こちらでは君たちだけが頼りである。すまないが早急に対応をお願いしたい。
帰った部下にはきついお灸を据えたいので原因の報告も合わせて頼みたい。

それからエンジニアの数人には連絡が取れるので、もし何か必要なことがあれば彼らに聞いてくれ。

本社から持ち込んだルーターは892jである。

制約

  • 禁止事項
    • 892jを除くルーターへのアクセス全般(設定変更、コンフィグ参照など)
    • ルーティングプロトコルの変更
    • IPアドレス、サブネットマスクの変更

スタート

  • 各拠点のルーターから892jに疎通が取れない
  • 892jを超えて拠点間で通信ができない

ゴール

  • 892jと隣接が結べていること
  • 892jを超えて各拠点で通信ができること
    • 対向拠点ルーターに192.168.12.1/26が存在します。疎通確認に使用してください。
  • 報告事項
    • 疎通が出来なかった原因(複数ある場合は全て)
    • 上記にともない追加、削除、変更を行ったコマンド全て
    • 892jのshow run結果 ## 情報 (任意)

トラブルの概要

この問題は、これまで別々に活躍していた支社を統合し新たな事務所への移行作業を行っている最中を想定しました。

ネットワークのトポロジは次のようになっています。

トポ図

問題の初期状態では参加者の手元PCからLoopBackに疎通がとれません。

解説 (必須)

まずはshow run の結果を見てみます。
するとと下記のようになっているはずです。

!
router ospf 721 vrf vrf12
    router-id 2.2.2.2
    network 192.168.12.0 0.0.0.3 area 12
    exit
!
!
router eigrp 406
    address-family ipv4 vrf vrf12 autonomous-system 406
      eigrp router-id 2.2.2.2
      network 192.168.12.0 0.0.0.3
      exit

ちなみですが、参加者から設定できるルータ間ではEIGRPが動作しています。
ですのでまずは、EIGRPのルーティングの設定部分を見てみます

892j#show run | begin eigrp
router eigrp 406
    address-family ipv4 vrf vrf12 autonomous-system 406
      eigrp router-id 2.2.2.2
      network 192.168.12.0 0.0.0.3
~(後略)~

次にインターフェイスのIPを見てみます

892J#show run | begin interface

interface FastEthernet8.0.{$team_id}39
 encapsulation dot1Q 0.{$team_id}39
 ip vrf forwarding vrf12
 ip address 192.168.12.65 255.255.255.192
!
interface GigabitEthernet0
 no ip address
 duplex auto
 speed auto
!
interface GigabitEthernet0.0.{$team_id}40
 encapsulation dot1Q 0.{$team_id}40
 ip vrf forwarding vrf12
 ip address 192.168.12.129 255.255.255.192

2つを抜き出して比較します

 network 192.168.12.0 0.0.0.3
 ip address 192.168.12.129 255.255.255.192

ネットワークアドレスとサブネット(ワイルドカードマスク)が一致していません。

動的においてはマスク値が一致していないと経路情報の交換が出来ず、
互いに隣接を結ぶことは出来ません。

まずはこの部分から書き換えます。
問題文の制約としてIPアドレス、サブネットマスクの変更を設けてあるので
変更するのはEIGRPの設定部分になります。

892j#conf t
892J(config)#router eigrp 406
892J(config-router)#no network 192.168.12.0 0.0.0.3 
892J(config-router)network 192.168.12.128 0.0.0.63

これでEIGRPの隣接問題が解消します。

しかし、まだこの状態ではLoopBackの経路情報が来ていません。

今回、この問題ではトポロジ図上ではこのようになっています。

BlackBoxは今回参加者の皆さんが触ることの出来ない装置になっています。
中ではVRFが稼働しています。このVRFを問題に関係する部分だけ抜き出してみると
下記のようなトポロジに変化します

LoopBackと892jの間はOSPFが動作しているのです。
今回参加者の一部から「二種類のルーティングプロトコルが動作しているがどちらが正しいのか?」
という質問を受けたことがありますがこの問題においてはどちらも動作するのが正常な動きとしています。

892jに入っているOSPFのコンフィグを見てみます。
(この問題に関係する部分だけを抜き出します)

892j#show run | begin ospf

router ospf 721 vrf vrf12
 router-id 2.2.2.2
 network 192.168.12.0 0.0.0.3 area 12

先程と同じくインターフェイスも見てみます。

892j#show run | begin interface 

interface FastEthernet8.0.{$team_id}39
 encapsulation dot1Q 0.{$team_id}39
 ip vrf forwarding vrf12
 ip address 192.168.12.65 255.255.255.192

比較します。

network 192.168.12.0 0.0.0.3 area 12
ip address 192.168.12.65 255.255.255.192

ここでも値が一致していません。
同じように修正を行います。

892j#conf t
892J(config)#router ospf 721 vrf vrf12
892J(config-router)#no network 192.168.12.0 0.0.0.3 area 12
892J(config-router)#network 192.168.12.64 0.0.0.63 area 12

これで値が一致します。
ですが、まだ隣接を結びません。

OSPFが隣接を結ぶ条件として大まかですが

  • IP、ワイルドカードマスクの一致。
  • hello-time,hold-timeの一致

となります。
BlackBoxの一部を抜き出すと設定には以下が投入されています。

!
!
interface fa 0/1.{$team_id}9
    ip vrf forwarding vrf12-ospf
    encapsulation dot1Q {$team_id}9
    ip address 192.168.12.126 255.255.255.192
    no shut
    ip ospf hello-interval 15
    exit
!
!

OSPFのHello-intervalはデフォルト設定で10秒になっています。
しかし今回の設定では15秒に設定しているのでこのままでは対向と設定が合いません。
設定を15秒に合わせなければなりませんがそもそもBlackBoxは設定も参照もできません。
では、15秒感覚で送信されていることを突き止めるのか。

892jで下記のコマンドを叩けば何秒で送信されているのか確認することが出来ます。

892j# debug ip ospf hello

これを叩いて数秒待つと対向からHelloパケットが送信されている様子を確認する事ができます。
今回は15秒ですのでおおよそ15秒感覚で受信をします。

確認したら設定を変更します。

892j#no debug all
892j#conf t
892j(config)#interface fa 8.139
892j(config-if)#ip ospf hello-interval 15
892j(config-if)#exit

これでやっとOSPFとEIGRP両方の設定が完了し隣接を結ぶことが出来ます。
ですが、この状態で疎通確認をしても疎通はできません。

今回、参加者側とLoopBack側ではルーティングプロトコルが使用されているため
境目となる892jでは特殊な設定が必要になってきます。

ここで使われるのがルート再配送と呼ばれるものです。

ルート再配送とは
http://www.infraexpert.com/study/routecontrol01.html

こちらを参考にするとわかりやすいかと思われます。

まずはOSPFから設定を加えます。

892j#conf t
892J(config)#router ospf 721 vrf vrf12 
892J(config-router)#Redistribute eigrp 406 subnets
892J(config-router)#exit

今回のOSPF再配送設定ではサブネット化されたネットワークをEIGRPにも含む形になるので
subnetsコマンドが必要になってきます。

上記を加えるとOSPFの設定は完了です。

同様にEIGRP側の設定も行います。

892j#conf t
892J(config)#router eigrp 406
892J(config-router)#Redistribute ospf 721 
892J(config-router)#default-metric 100000 100 255 1 1500
892J(config-router)#exit

先程とは違いコマンドが一行増えています。
EIGRPでは、OSPFで再配布されたネットワークはメトリック値がデフォルトで
∞(無限大)に設定されているので、メトリック値の値を適切にしなければ
到達不能のネットワークになってしまいます。
そのため、default-metricコマンドで値を詳細に設定する事により
値を適切なものに変更し、到達性のあるネットワークにします。

サブコマンドの意味は次の通りになっています。

892J(config-router)#default-metric <bandwidth> <delay> <reliability> <load> <MTU>

以上ですべての設定が完了です。

解答例

ちなみにですが、最後のに記載されてあるdefault-metric 100000 100 255 1 1500については
数値全指定なので運営へ質問をしなければ満点を獲得することが出来ない状況でした。

router ospf 721 vrf vrf12

    router-id 2.2.2.2
    network 192.168.12.64 0.0.0.63 area 12
    Redistribute eigrp 406 subnets
    default-metric 64 ←(なくてもOK。)
    exit
!
!
interface fa 8.{$team_id}9
    ip ospf hello-interval 15
    exit

!
!

router eigrp 406
  address-family ipv4 vrf vrf12 autonomous-system 406
    eigrp router-id 2.2.2.2
    network 192.168.12.128 0.0.0.63
    Redistribute ospf 721 
    default-metric 100000 100 255 1 1500 
    exit
  exit

採点基準(任意)

  • EIGRPのワイルドカードマスクが間違っているのを指摘&修正
  • OSPFのワイルドカードマスクが間違っていることを指摘&修正
  • OSPFのHELLOタイマーが隣接と一致していない事の指摘&修正
  • ルート再配送EIGRPにデフォルトメトリックの設定が入っている(運営側指定の値以外)
    • 指定の値以外を指定した場合は満点を与えない
  • ルート再配送EIGRPにデフォルトメトリックの設定が入っている(運営側指定の値)
    • 指定の値は運営に質問が来た場合に答えるものとする

講評(任意)

最後の方に出題されるライスボス問題でした。
2日目の午後付近で回答可能になった問題だった&問題が複雑過ぎた為か
回答できたチームはいませんでした。
個人的には意外と解いてくれるチームが出るのかな。と思っていたので少し残念な気分です。
とはいえ、私が参加者でもこの問題は意地悪すぎる部分が多いと感じるところもありますので
その辺は反省してます…。

この問題解説で参加者の皆さんが少しでも理解をしていただけたら
出題者としても嬉しい限りです。