CCIE勉強Tips2:L2の問題発生時の効率的な切り分け方

この記事は約11分で読めます。
スポンサーリンク

当カテゴリのポストは、独自の勉強で既にCCIE Blueprintをそれなりに網羅している事が前提の説明が多々含まれています。分からない用語等が出てきた場合は、Workbook等を勉強して戻ってきてください。

 

L2の勉強はCCIEラボ試験に合格する為には必須です。ある意味では、最重要課題です。

なぜか?

L2は全てのトポロジのベースとなります。TshootもConfigもL2が期待通りの動作をして初めてL3に移る事が出来ます。いくらIGPに精通していたとしても、L2の設定が完璧でなければそもそもIGPに進めないのです。

TshootではL2の切り分け、ConfigではL2の設定完了をいかに早くするか、が合格の鍵を握っていると言っても過言ではありません。

今日の結論先出し:L2を疑う際には、まずはSWの「show spanning-tree」をチェックする。

L2の切り分けが必要な例

例えば、以下の様な簡単なトポロジがあったとします。

GNS3 Project - GNS3_u0xzwn 2015-07-05 21-20-34

 

R1/R2/R3の各インターフェースのIPは各セグメントの第4オクテットをRouter番号に置き換えてください。例えばR2のSwitch側は192.168.1.2です。

また、前提として以下が成立するとします。(今回はL2の話なので)

  • 物理結線は正しい
  • L3のレベルの設定は正しい。パケットのフィルタリングもされていない。

このトポロジでR1からR2へ、またR1からR3へPINGが飛ばないとします。

R1#ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
R1#ping 192.168.1.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.3, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
R1#

前提を信じると、L2が問題の可能性が高いですね。皆さんは何をチェックしますか?

  1. 各機器のsh runでインターフェースの設定を確認する。
  2. SWでsh vlan/sh int trunk当たりを実施してvlanの状態を確認する。

いずれも、間違いではありませんね。1でも2でも間違いを見つける事が出来る可能性があります。でも、仮に接続されているルーターが、今回の例みたいに3つではなく30台とか非常に多い場合はどうでしょう?30のルーターに対してsh runして確認をしていると時間がいくらあっても足りません。

そんな時はまずはSWでsh spanning-treeです

なぜか?

仮にSW側が正常に各インターフェースに対してL2通信を許可していると、sh spanning-treeで必ず該当インターフェースが表示されるはずだからです。Access/Trunkどちらでもです。仮にSWの対向ルータのインターフェースがダウンしていてもです。

例えば今回はこんな感じです。

SW1#sh span vlan 100

VLAN0100
  Spanning tree enabled protocol ieee
  Root ID    Priority    32868
             Address     aabb.cc00.1500
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32868  (priority 32768 sys-id-ext 100)
             Address     aabb.cc00.1500
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  300 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0               Desg FWD 100       128.1    Shr


SW1#

どうでしょう?この時点でもう変ですよね?e0/1,e0/2が表示されていません。これだけで、少なくともSW1の設定がおかしいことに気づくはずです。SW1のe0/1,e0/2を直さないと、絶対に通信出来ません。

sh runはこの後で良いのです。やってみましょう。まずはR2側のインターフェースです。

SW1#sh run int e0/1
Building configuration...

Current configuration : 93 bytes
!
interface Ethernet0/1
 switchport access vlan 10
 switchport mode access
 duplex auto
end

SW1#

アクセスポートのVLANが「100」ではなく「10」になっていますね。これを直す必要がある訳です。

(実は前のコマンドを「sh span vlan 100」ではなく「単純にsh span」としたら、vlan10の箇所にe0/1が見つかるのですが、今回はsh span関連の説明がしたかったので、あえて「sh span vlan 100」としました)

直します。

SW1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
SW1(config)#int e0/1
SW1(config-if)#switch acc vlan 100
SW1(config-if)#do sh run int e0/1
Building configuration...

Current configuration : 94 bytes
!
interface Ethernet0/1
 switchport access vlan 100
 switchport mode access
 duplex auto
end

SW1(config-if)#do sh span vlan 100

VLAN0100
  Spanning tree enabled protocol ieee
  Root ID    Priority    32868
             Address     aabb.cc00.1500
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32868  (priority 32768 sys-id-ext 100)
             Address     aabb.cc00.1500
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  300 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0               Desg FWD 100       128.1    Shr
Et0/1               Desg LRN 100       128.2    Shr


SW1(config-if)#

VLAN100のspanning-treeグループにe0/1が表示されましたね。これでR2へはOKなはずです。

e0/2の設定を見てみましょう。

SW1(config-if)#do sh run int e0/2
Building configuration...

Current configuration : 165 bytes
!
interface Ethernet0/2
 switchport access vlan 100
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 20
 switchport mode trunk
 duplex auto
end

お、アクセスポートの場合は正しいvlanを設定していますが、trunkの設定が間違っていますね。vlan20しか送らない設定となっています。

直しましょう。(これをTshootと仮定して、vlan20を消さずに100を追加します)

SW1(config-if)#int e0/2
SW1(config-if)#switch trunk allow vlan add 100
SW1(config-if)#do sh run int e0/2
Building configuration...

Current configuration : 169 bytes
!
interface Ethernet0/2
 switchport access vlan 100
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 20,100
 switchport mode trunk
 duplex auto
end

SW1(config-if)#do sh span vlan 100

VLAN0100
  Spanning tree enabled protocol ieee
  Root ID    Priority    32868
             Address     aabb.cc00.1500
             This bridge is the root
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

  Bridge ID  Priority    32868  (priority 32768 sys-id-ext 100)
             Address     aabb.cc00.1500
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
             Aging Time  300 sec

Interface           Role Sts Cost      Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0               Desg FWD 100       128.1    Shr
Et0/1               Desg FWD 100       128.2    Shr
Et0/2               Desg LIS 100       128.3    Shr


SW1(config-if)#

はい、対象のインターフェース全てがspanning-treeグループに入りましたね。念のためPINGしましょうか。

R1#ping 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.2, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
R1#ping 192.168.1.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.3, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/1 ms
R1#

OKです!

いかがでしたでしょうか?ちなみに、R3についてはもちろんSWのsh int trunkで見つける事が出来たと思うのですが、やはり台数が大量になった場合は全sh int trunkをする事は非効率です。

 

まとめ

CCIEラボ試験で仮にL2が問題だと思ったら、とりあえず接続しているSWにてsh spanning-tree(短縮してsh span)しましょう。SWに問題なければ対象のインターフェースが全てVLANのspanning-treeに入っているはずです。

これはconfigで自分のミスの確認にも非常に有効ですよね。

もちろん、これだけだとルーター側の設定(今回の例だとR3のサブインターフェースのencapが間違っている等)は見つけれません。それはSW側が問題ない事を切り分けた後でよいでしょう。

CCIEラボ試験ではスピードが命です。問題の意図を瞬時に把握し、原因の切り分けを行う事が正義です。いくら確認コマンドを沢山知っていても、時間がかかるものは間違いです。(確認コマンドを沢山知っているのは、当たり前っていう世界です)

CCIEラボ対策をしている方は、常に効率性を意識しながら勉強しましょう。

コメント

  1. antares01 より:

    ありがとうございます。参考になりました。たしかにsh spa vlanは便利ですね。

タイトルとURLをコピーしました