運び屋 (…To Engineer Days)

Network / Cloud Native / Kubernetes / コンテナー

GNS3でネットワーク技術のトレーニングメニューを作ってみた際に苦戦したこと(vlan database)

これは エーピーコミュニケーションズ Advent Calendar 2019 の22日目の記事です。

先日、 GNS3で所属プロジェクト向けにネットワーク技術のトレーニングメニューを作ってみた(導入編)の日本語版英語版をMediumに書き、またまた一安心して時間が空いてしまいました。 その間に、所属しているプロジェクト用の次のトレーニングメニューを検証/リリースしていました。 今回はその際に苦戦した事を書こうと思います。AWS SAA英語受験したり、コンテナ技術に興味がありますが、実はネットワークがメインなのです。

ここで話すこと

  • 環境
  • 課題内容
  • vlanが作成できない
  • vlan databaseとは
  • vlan database configuration modeの設定方法
  • 今後の目標

ここで話さないこと

  • 案件の実際の構成や機器
  • GNS3のインストール方法などについて
  • GNS3以外の仮想環境について
  • なぜトレーニングメニューを考えたのか(前回記事にて言及済みの為)
  • なぜGNS3なのか(同上)
  • 現状と課題(同上)
  • 準備期間(同上)
  • 行った準備(同上)
  • 課題作成時のポイント(同上)

環境

課題内容(大問名のみ。個別の問題、詳細は割愛)

<レベル1.0>

  • 1.Ciscoルータ - ホスト名の設定
  • 2.各RouterのインターフェースのIPアドレス設定、インターフェースの有効化 / 無効化、実対応への適用
  • 3.ping疎通確認(サイズ/回数/フラグメントなどのオプション設定)
  • 4.インターフェースのdescription設定 / インターフェイスの状態確認
  • 5.各種showコマンド集(ソフトウェア)
  • 6.各種showコマンド集(ハードウェア)
  • 7.Loopbackアドレス作成およびping疎通確認
    f:id:Yoshiki0705:20190924085744p:plain
    レベル1.0イメージ

<レベル1.5>

  • 1.acl設定(IP/Port単位/pingの遮断可否など)
  • 2.FHRP(First Hop Resolution Protocol)設定(VRRP/HSRP)
  • 3.eBGP設定(タイマー設定など)
  • 4.iBGP設定(OSPF/再配送/オプション設定などに)
  • 5.BGPポリシー分析および設定
    f:id:Yoshiki0705:20190924171056p:plain
    レベル1.5イメージ

<レベル2.0>

  • 0.環境構築
  • 1.LAG設定
  • 2.BGP設定
  • 3.VRFの設定
  • 4.経路情報確認
  • 5.各種テーブル/データベース確認
  • 6.経路制御(ルーティング追加[集約アドレス/Prefix-list]/各種ポリシー適用)
    f:id:Yoshiki0705:20191222225540p:plain
    レベル2.0イメージ

    vlanが作成できない

    「あれ、vlanが作成できない」 レベル2.0の検証作業を行なっていた時のことです。 ここから、本件のトラブルシューティングおよび調査が始まりました。

TEST01(config)#vlan 10
         ^                    
% Invalid input detected at '^' marker.

ヘルプで調べてもvlan configurationモードに入れそうにないです。

POI01(config)#vlan ?
  accounting  VLAN accounting configuration

上記のレベル2.0、0.環境構築を行おうとした所でいきなり詰まりました。 一旦後回しにして次の検証に行こうとしましたが、1.LAG設定でvlan、trunk port設定を入れたかったので調べてみる事にしました。

vlan databaseとは

Ciscoのサイトなどを調べた結果、古いバージョンのイメージでは私が実行した「config-vlan モード」ではなく、「vlan database configurationモード」でvlanが作成できる事がわかりました。 これまで様々なconfigurationモードをCisco機器で操作してきましたが、vlan databaseは意識した事がありませんでした。 私が設定しようとしたvlan 10は、標準範囲VLAN(1~1001)およびVLAN1002~1005はvlan databaseに「vlan.dat ファイル」として格納されます。 それでは、vlan database configurationモードで設定していきます。

vlan database configurationモードでの設定方法

設定例:

configure terminal
vlan vlan-id(標準VLAN1~1001で設定)
name vlan-name(任意の番号や名前)
(apply)
exit

上記のapplyコマンドで設定/変更の適用ができますが、exitでvlan databaseモードを抜けるだけで適用されます。

ここからヘルプコマンドなどで確認しながら設定していきます。

TEST01#vlan database
TEST01(vlan)#vlan ?
  <1-1005>  ISL VLAN index

標準VLANの指定可能

TEST01(vlan)#vlan 10
VLAN 10 added:
    Name: VLAN0010

VLAN 10を名前無指定(VLAN0010)で追加

TEST01(vlan)#vlan 10 ?
  are        Maximum number of All Route Explorer hops for this VLAN
  backupcrf  Backup CRF mode of the VLAN
  bridge     Bridging characteristics of the VLAN
  media      Media type of the VLAN
  mtu        VLAN Maximum Transmission Unit
  name       Ascii name of the VLAN
  parent     ID number of the Parent VLAN of FDDI or Token Ring type VLANs
  ring       Ring number of FDDI or Token Ring type VLANs
  said       IEEE 802.10 SAID
  state      Operational state of the VLAN
  ste        Maximum number of Spanning Tree Explorer hops for this VLAN
  stp        Spanning tree characteristics of the VLAN
  tb-vlan1   ID number of the first translational VLAN for this VLAN (or zero
             if none)
  tb-vlan2   ID number of the second translational VLAN for this VLAN (or zero
             if none)
  <cr>

vlanのオプション、nameなどを確認

TEST01(vlan)#vlan 20 name test
VLAN 20 added:
TEST01(vlan)#exit
APPLY completed.
Exiting....
TEST01#

vlan 20をtestと名付けて追加

TEST01#show vlan
% Ambiguous command:  "show vlan"

vlanを確認するコマンドが通らない(バージョンに寄るもの)

TEST01#show vlan?
vlan-switch  vlans  

show vlan-switchコマンドが代わりに使える模様

TEST01#show vlan-switch 

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa3/0, Fa3/2, Fa3/3, Fa3/4
                                                Fa3/5, Fa3/6, Fa3/7, Fa3/8
                                                Fa3/9, Fa3/10, Fa3/11, Fa3/12
                                                Fa3/13, Fa3/14, Fa3/15
10   VLAN0010                         active    
20   test                             active    
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active    

VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1    enet  100001     1500  -      -      -        -    -        1002   1003
10   enet  100010     1500  -      -      -        -    -        0      0   
20   enet  100020     1500  -      -      -        -    -        0      0   
1002 fddi  101002     1500  -      -      -        -    -        1      1003
1003 tr    101003     1500  1005   0      -        -    srb      1      1002
1004 fdnet 101004     1500  -      -      1        ibm  -        0      0   
1005 trnet 101005     1500  -      -      1        ibm  -        0      0   
TEST01#

他のバージョンのshow vlanで確認できるID、名前、インターフェイスなどの項目が確認できました。

以上、簡単な検証ですが忘れ易く意外なハマりどころなので、備忘録としてブログに残させて頂きます。 以下の今後の目標は以前書いたものとほぼ重複しておりますが、若干更新しました。

今後の目標

マルチベンダー環境での検証

今回は手軽にスタートできる事を優先し、Cisco機器のみの環境設定としましたが、 他のベンダー機器を入れたり、メインにした構成も作ろうと企んでいます。

仮想環境での操作を前提としたシミュレーションメニューの作成

運用チームのシミュレーションではインターフェイスやBGPのshutdownなどの操作が実機ではできないので省略していますが、 仮想環境では問題無く試せるので、そうしたメニューの開発もサクサクできればと思います。

Contributor、Maintainerの育成

私がこうして去年の施策をヒントに定常的なメニュー作成を企画、実行しているわけですが、 これも属人的なものではなく、業務改善活動の一部としていきたいと思っています。

問題を作成する人、検証/査閲を行う人を育成し、業務フローに落とし込めていければと考えています。既にレベル1.5をクリアされた運用メンバーもいるので、先が楽しみです。 今後の業務自動化も視野に入れた、業務改善活動をもう一歩進めていきたいと考えています。 私自身もレベル2.0までの問題作成/検証作業でかなり現場の構成とそれを支える技術の理解が進みました。 今後はサーバーの構築や移行も行なっていきたいので、次のブログはその辺の内容になるかと思います。

では、また。

Bye now!!

Yoshiki Fujiwara