Windows の GNS3 で Cisco ルーターの設定を初期化する

GNS3 上でトポロジを構成する際、誤ったコンフィグを投入してしまって、あまつさえ保存してしまったとします。
こういった場合設定を初期化したいのですが、 erase startup-config だけだとルーターのホスト名の設定やロギングの挙動の調整といった、
ルーター初回起動時に投入される便利なコンフィグが読み込まれません。
最低限ルーター名だけでも最初から投入してくれないとわかりにくくて大変です。
GNS3 のドキュメント探してみましたが相当するようなドキュメントが見つからなかったので結構苦労しました。

トポロジを構成するルーターが 1, 2 台ならプロジェクト作り直せばいいかで済むんですが、 5 台以上になってくると大変です。
トポロジを作るのに加えてインターフェイスのラベルの位置とか微調整しているので作り直しってなったら発狂したくなります。

つーか、 Mac 版だと コンフィグ消したら NVRAM が勝手に初期化されたから、 Windows 版のバグのような気がしないでもない。

R1#erase startup-config
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]
[OK]
Erase of nvram: complete
R1#
*Mar  1 00:00:26.751: %SYS-7-NV_BLOCK_INIT: Initialized the geometry of nvram

誰か教えて下しあ。。。
GNS3 のドキュメントに載ってるのかな。。
今度腰を据えて GNS3 のドキュメント読もうかな。
というか GNS3 2.0 RC2 までいったようで、熱いね。
もうリリース間近といった感じ。

Releases · GNS3/gns3-gui

以下は Windows 版でのみの話し

ルーター上で

erase startup-config

これでルーターを再起動しても初回起動時に投入されるコンフィグは入らない。
ホスト名も設定されていない完全にまっさらに初期化されたルーターが起動される。
まあ、物理的なルーターの動作としてはこれが正しいんだが、コンセプトを理解したい場合は違う、そうじゃないとなる。

次に、ルーターを停止させる。これ重要。

右クリックでコンフィグをインポートする。

Windows なら

C:\Users\wnoguchi\GNS3\configs\ios_base_startup-config.txt

Mac なら

/Users/wnoguchi/GNS3/configs/ios_base_startup-config.txt

Linux なら(エスパーしている)

/home/GNS3/configs/ios_base_startup-config.txt

ちなみにコンフィグは以下のような感じになっていた。

!
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname %h
!
ip cef
no ip domain-lookup
no ip icmp rate-limit unreachable
ip tcp synwait 5
no cdp log mismatch duplex
!
line con 0
 exec-timeout 0 0
 logging synchronous
 privilege level 15
 no login
line aux 0
 exec-timeout 0 0
 logging synchronous
 privilege level 15
 no login
!
!
end

%h の部分がホスト名に置換されているわけですな。

プライベートコンフィグは読み込まなくて良い。

そしてルーター起動。

これで OK 。

OSPF 認証 インターフェイス認証

  1. 対応ページ: pp.222-225
  2. 対応試験: CCNPv2.0 Routing and Switching 300-101J ROUTE
  3. カテゴリ: OSPF
  4. サブカテゴリ: OSPF 認証 インターフェイス認証
  5. IOS: c3725-adventerprisek9-mz.124-15.T14.bin

OSPF認証について

OSPF認証タイプ

  • タイプ0 Null 認証
  • タイプ1 シンプルパスワード認証
  • タイプ2 MD5 認証

ネイバー認証の設定対象

  • インターフェイス
  • エリア
  • 仮想リンク

トポロジ

GNS3 プロジェクトファイルダウンロード

OSPF 認証設定前までやってあります。

GNS3 1.5.x では Windows, Mac 間の portable project のエクスポート、インポートがうまくいかない | | wnoguchi’s diary

Windows

ospf-authentication-interface

Mac

TODO

基本設定

R1

conf t
int f0/0
ip addr 10.0.12.1 255.255.255.0
no shut
!
! OSPF configuration
router ospf 1
router-id 1.1.1.1
network 10.0.0.0 0.255.255.255 area 0
end
wr

R2(ABR)

conf t
int f0/0
ip addr 10.0.12.2 255.255.255.0
no shut
int s0/0
ip addr 10.1.23.2 255.255.255.0
no shut
!
! OSPF configuration
router ospf 1
router-id 2.2.2.2
network 10.0.0.0 0.0.255.255 area 0
network 10.1.0.0 0.0.255.255 area 1
end
wr

R3

conf t
int s0/0
ip addr 10.1.23.3 255.255.255.0
no shut
!
! OSPF configuration
router ospf 1
router-id 3.3.3.3
network 10.0.0.0 0.255.255.255 area 1
end
wr

VPCs

なし

設定前の動作確認

なし

設定

R1

conf t
int f0/0
ip ospf authentication
ip ospf authentication-key CISCO

R2(ABR)

conf t
int f0/0
ip ospf authentication
ip ospf authentication-key CISCO
int s0/0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 ROUTE

R3

conf t
int s0/0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 ROUTE

検証

インターフェイスで認証が有効になっていることを確認する。

シンプルパスワード認証

R2#sh ip ospf int f0/0
FastEthernet0/0 is up, line protocol is up
  Internet Address 10.0.12.2/24, Area 0
  Process ID 1, Router ID 2.2.2.2, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DR, Priority 1
  Designated Router (ID) 2.2.2.2, Interface address 10.0.12.2
  Backup Designated router (ID) 1.1.1.1, Interface address 10.0.12.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:07
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/1, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 2, maximum is 2
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 1.1.1.1  (Backup Designated Router)
  Suppress hello for 0 neighbor(s)
  Simple password authentication enabled

MD5 認証

R2#sh ip ospf int f0/0
FastEthernet0/0 is up, line protocol is up
  Internet Address 10.0.12.2/24, Area 0
  Process ID 1, Router ID 2.2.2.2, Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State DR, Priority 1
  Designated Router (ID) 2.2.2.2, Interface address 10.0.12.2
  Backup Designated router (ID) 1.1.1.1, Interface address 10.0.12.1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    oob-resync timeout 40
    Hello due in 00:00:07
  Supports Link-local Signaling (LLS)
  Cisco NSF helper support enabled
  IETF NSF helper support enabled
  Index 1/1, flood queue length 0
  Next 0x0(0)/0x0(0)
  Last flood scan length is 2, maximum is 2
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 1.1.1.1  (Backup Designated Router)
  Suppress hello for 0 neighbor(s)
  Simple password authentication enabled

ネイバーテーブルを確認して所望のネイバーが認識されていることを確認する。

R2#sh ip ospf neighbor

Neighbor ID     Pri   State           Dead Time   Address         Interface
1.1.1.1           1   FULL/BDR        00:00:37    10.0.12.1       FastEthernet0/0
3.3.3.3           0   FULL/  -        00:00:33    10.1.23.3       Serial0/0

おことわり

これは「徹底攻略Cisco CCNP Routing & Switching ROUTE教科書[300-101J]対応 徹底攻略シリーズ」に掲載されているサンプルトポロジのコンフィグを自分で考えて、インターフェイスの対応等微妙に変えて GNS3, あるいは VIRL のプロジェクトファイルとしています。
具体的な説明はここではせず、箇条書き程度の自分用のメモ、コンフィグ、実際の出力結果を載せています。
詳細なコンセプトの説明はこのテキストを参照するか、他のサイトをあたることをおすすめします。

追記

コンフィグやトポロジに誤りがありましたら指摘いただけるとうれしいです!

なんでこんなこと書いているか

Cisco の試験に限らないですけど、私の基本的なスタンスを書いてあります。
随時アップデートしていくので興味あったら覗いてみてください。

Cisco の技術者認定試験における私のスタンス | wnoguchi’s diary

参考書紹介

こちらのテキストを使用させていただいております。
いつもありがとうございます。

個人的なおすすめはテキストは紙版と Kindle 版両方買っておいて、ウォークスルー的なテキストの読み込みは
クロスリファレンスが必要なときは紙の本をざっと開くのがおすすめです。
問題集は紙版さえあればいいかなと思ってますが、もしかすると Kindle 版のほうが効率いいのかも。
どうなんだろ。

Cisco の技術者認定試験における私のスタンス

導入

ちょっと主語が大きすぎるだろうか?
最近やっと CCNAv3.0 R&S (Routing and Switching) のトラックを取得することができました。
今は CCNPv2.0 の ROUTE 試験のトラックの学習をしています。

なので CCNAv3.0 R&S レベルの時点での私のネットワークの技術習得に関する考えを書いています。
他のブログ記事でコンフィグとトポロジー、GNS プロジェクトファイルを載せている理由も書いています。
すでに CCNP, CCIE 持ってるしマルチベンダでバリバリやってるぜって人は時間を無駄にしたくない人はそっ閉じしてください。
マサカリ投げたい人ははてブやコメント欄でどうぞ。
あくまで一個人の意見です。

お前誰だよ?

現場ではインフラ側で YAMAHA ルーター等を中心に中小ブランチネットワークや拠点間の VPN 設計・実装等をやっています。
どちらかというとサーバー要素多めで、最近はオンプレで食っていくには小手先のネットワーク知識じゃだめだなと思って Cisco の技術者認定資格の取得に力を入れています。

ネットワークの技術の学習方法

私は実機、シミュレータで実際に動かしてみないとその技術のコンセプトが理解できないたちなので、
テキストや問題集に載っているやつは実際にトポロジを組んでシミュレーターで動かしてコマンド打ち込んでルーターの動きがどう変わるかちゃんと見て理解した上で進めています。

実機をいつ使うか?

実機使うのは本当に基礎的なトピックを理解するために使います。

  1. 物理層(L1)、データリンク層(L2)の細かい動きを確認して実機の動きとシミュレーター上での動きはどう違うのか理解する。
    1. Cisco VIRL で IOSvL2 で STP 実験してみようと思ったらリンク状態が全二重じゃなくて半二重になってて全然意味わからなかったときとかあります。
    2. MDI 同士、MDI-X 同士をつなぐときはクロスケーブル使わないと物理層レベルでだけ up してデータリンク層レベルでは down するよとか。
    3. 今まで Auto MDI/MDI-X に頼ってばかりいましたけど、Cisco ルーター同士をストレート(今市場に大量に出回っているのがこればっかし)直結すると no shut してもリンクアップしなくて困ったりとか。
  2. ロールオーバー(シリアルコンソール)ケーブルをつなぐときはクロスケーブル(だいたいこっちでいい)、ストレートケーブル間違えると正常につなげらんないよとか。
  3. 新しいコンセプトの Hello World 的な構成を試す時とか(RIP, EIGRP, OSPF)。
  4. STP の三角形とか、自分自身につないでループする構成とか(下記)。

ループ接続のイラスト | かわいいフリー素材集 いらすとや

シミュレーターの使い所

シミュレーターを使うのは基本的なこと理解したらようし複数台構成してもっと深いコンセプトを理解するぞってときにやります。
正直 CCNP レベルになってくるとルーターの数 5 台のトポロジとか解説に平気で出てくるので毎回実機使ってたらやってらんないので GNS3 や Cisco VIRL を使っています。。。。
初めてのコンセプトの実装・検証は上記のとおり実機でやります。

実務的な面

いくらシミュレーターで検証しようが、 Visio トポロジーをきれいに書こうが実際にデプロイされるのは物理的な環境です。
いざネットワーク機器の実機や VyOS の VM を目の前にして慌てるようでは目も当てられません。

Cisco 試験の方法論

本読んでひたすら問題集解いて試験 Pass できる人はいいなあと思います。
コンセプト理解しただけで他のベンダのネットワーク機器のマニュアル読んでふんふん設計・設定できるほど私は頭良くないので。。。

まあ、コンセプト理解するだけじゃなくて試験対策として問題集、や ping-t やりまくるのは必要ですけど。
最近は円安が進んで試験の値段がどんどん値上がりしています。
一回落ちると 4 万近くが吹っ飛んでいきます。
順当に CCNP ROUTE, SWITCH, TSHOOT に Pass したとしても 12 万近く吹っ飛ぶわけです。
軽い気持ちで受けられないわけです。
まあ、試験自体は東京の Pearson VUE に登録してお気に入りの試験センター見つけた休みの日にらふらっと行って当日受験なんてことも普通にできますけど。

まとめ

ということでテキストを読むだけでなく、コンセプトをちゃんと(私が)理解するためにテキストには書かれないコンフィグをちゃんと載せて、 GNS3 のプロジェクトファイルも載せているわけです。

CCNP v2.0 について思うこと

CCNA も 2 年経たずに v3.0 に改定された。
なんだか CCNP v2.0 の教科書の出力も IOS 12 系っぽい。
なんかもうそろそれええやろって感じで v3.0 にしまーすって流れになりそうな気がプンプンしてる。

Catalyst 2960 シリーズの IOS を復活させる

一言で言うと Catalyst スイッチの設定を消そうとして CF カード内にある IOS も一緒に消しちゃいましたーということです。
本当は delete flash:vlan.dat がしたかった。
フラッシュメモリ内のファイルが全部消えるけどええのんか?って聞かれたんだけど、どうせあっても vlan.dat だろーって思ってたら違った。
CF カードには IOS も入ってる!!!!!!!
ッターンとエンターキーを押して気づいたときには時すでに遅し。

Switch#erase flash:
Erasing the flash filesystem will remove all files! Continue? [confirm]

Using driver version 1 for media type 1
Base ethernet MAC Address: 00:22:bd:89:21:80
Xmodem file system is available.
The password-recovery mechanism is enabled.
Initializing Flash...
mifs[2]: 0 files, 1 directories
mifs[2]: Total bytes     :    3870720
mifs[2]: Bytes used      :       1024
mifs[2]: Bytes available :    3869696
mifs[2]: mifs fsck took 0 seconds.
mifs[3]: 0 files, 1 directories
mifs[3]: Total bytes     :   27998208
mifs[3]: Bytes used      :       1024
mifs[3]: Bytes available :   27997184
mifs[3]: mifs fsck took 0 seconds.
...done Initializing Flash.
done.
Loading "flash:c2960-lanbasek9-mz.150-2.SE8/c2960-lanbasek9-mz.150-2.SE8.bin"...flash:c2960-lanbasek9-mz.150-2.SE8/c2960-lanbasek9-mz.150-2.SE8.bin: no such file or directory

Error loading "flash:c2960-lanbasek9-mz.150-2.SE8/c2960-lanbasek9-mz.150-2.SE8.bin"

Interrupt within 5 seconds to abort boot process.
Boot process failed...

The system is unable to boot automatically.  The BOOT
environment variable needs to be set to a bootable
image.


switch:

以下は復旧の記録。
tar で固めた IOS があるんですが、 boot loader にそんな高等機能はないので tar の中にある bin 取り出してそれを XMODEM 転送しました。

switch: copy xmodem: flash:c2960-lanbasek9-mz.150-2.SE8.bin
Begin the Xmodem or Xmodem-1K transfer now...
C

2016-11-20_21h54_35

...........................................................................................
File "xmodem:" successfully copied to "flash:c2960-lanbasek9-mz.150-2.SE8.bin"
switch: help
           ? -- Present list of available commands
        boot -- Load and boot an executable image
         cat -- Concatenate (type) file(s)
        copy -- Copy a file
      delete -- Delete file(s)
         dir -- List files in directories
  flash_init -- Initialize flash filesystem(s)
      format -- Format a filesystem
        fsck -- Check filesystem consistency
        help -- Present list of available commands
      memory -- Present memory heap utilization information
       mkdir -- Create dir(s)
        more -- Concatenate (display) file(s)
      rename -- Rename a file
       reset -- Reset the system
       rmdir -- Delete empty dir(s)
         set -- Set or display environment variables
      set_bs -- Set attributes on a boot sector filesystem
   set_param -- Set system parameters in flash
       sleep -- Pause (sleep) for a specified number of seconds
        type -- Concatenate (type) file(s)
 -- MORE --
       unset -- Unset one or more environment variables
     version -- Display boot loader version

switch: dir flash:
Directory of flash:/

    2  -rwx  11834880                 c2960-lanbasek9-mz.150-2.SE8.bin

16066560 bytes available (11931648 bytes used)
switch: boot flash:c2960-lanbasek9-mz.150-2.SE8.bin
Loading "flash:c2960-lanbasek9-mz.150-2.SE8.bin"...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
File "flash:c2960-lanbasek9-mz.150-2.SE8.bin" uncompressed and installed, entry point: 0x3000
executing...

              Restricted Rights Legend

Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.

           cisco Systems, Inc.
           170 West Tasman Drive
           San Jose, California 95134-1706



Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE8, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2015 by Cisco Systems, Inc.
Compiled Thu 14-May-15 02:39 by prod_rel_teamInitializing flashfs...
Using driver version 3 for media type 1
mifs[4]: 0 files, 1 directories
mifs[4]: Total bytes     : 3870720
mifs[4]: Bytes used      : 1024
mifs[4]: Bytes available : 3869696
mifs[4]: mifs fsck took 0 seconds.
mifs[4]: Initialization complete.

mifs[5]: 1 files, 1 directories
mifs[5]: Total bytes     : 27998208
mifs[5]: Bytes used      : 11931648
mifs[5]: Bytes available : 16066560
mifs[5]: mifs fsck took 0 seconds.
mifs[5]: Initialization complete.

...done Initializing flashfs.
Checking for Bootloader upgrade..
Boot Loader upgrade not required (Stage 2)

POST: CPU MIC register Tests : Begin
POST: CPU MIC register Tests : End, Status Passed

POST: PortASIC Memory Tests : Begin
POST: PortASIC Memory Tests : End, Status Passed

POST: CPU MIC interface Loopback Tests : Begin
POST: CPU MIC interface Loopback Tests : End, Status Passed

POST: PortASIC RingLoopback Tests : Begin
POST: PortASIC RingLoopback Tests : End, Status Passed

POST: PortASIC CAM Subsystem Tests : Begin
POST: PortASIC CAM Subsystem Tests : End, Status Passed

POST: PortASIC Port Loopback Tests : Begin
POST: PortASIC Port Loopback Tests : End, Status Passed

Waiting for Port download...Complete


This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.

cisco WS-C2960-8TC-L (PowerPC405) processor (revision A0) with 65536K bytes of memory.
Processor board ID FOC1230U65J
Last reset from power-on
1 Virtual Ethernet interface
8 FastEthernet interfaces
1 Gigabit Ethernet interface
The password-recovery mechanism is enabled.

64K bytes of flash-simulated non-volatile configuration memory.
Base ethernet MAC Address       : 00:22:BD:89:21:80
Motherboard assembly number     : 73-10611-07
Power supply part number        : 341-0208-01
Motherboard serial number       : FOC12287J8F
Power supply serial number      : LIT12260BQV
Model revision number           : A0
Motherboard revision number     : C0
Model number                    : WS-C2960-8TC-L
System serial number            : FOC1230U65J
Top Assembly Part Number        : 800-28132-01
Top Assembly Revision Number    : C0
Version ID                      : V01
CLEI Code Number                : COM8A00ARA
Hardware Board Revision Number  : 0x01


Switch Ports Model              SW Version            SW Image
------ ----- -----              ----------            ----------
*    1 9     WS-C2960-8TC-L     15.0(2)SE8            C2960-LANBASEK9-M




Press RETURN to get started!


*Mar  1 00:00:33.839: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to down
*Mar  1 00:00:34.225: %SPANTREE-5-EXTENDED_SYSID: Extended SysId enabled for type vlan
*Mar  1 00:00:35.282: %DC-4-FILE_OPEN_WARNING: Not able to open flash:/dc_profile_dir/dc_default_profiles.txt
*Mar  1 00:00:35.282: %DC-6-DEFAULT_INIT_INFO: Default Profiles DB not loaded.
*Mar  1 00:00:55.641: %SYS-5-RESTART: System restarted --
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 15.0(2)SE8, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2015 by Cisco Systems, Inc.
Compiled Thu 14-May-15 02:39 by prod_rel_team


         --- System Configuration Dialog ---

Enable secret warning
----------------------------------
In order to access the device manager, an enable secret is required
If you enter the initial configuration dialog, you will be prompted for the enable secret
If you choose not to enter the intial configuration dialog, or if you exit setup without setting the enable secret,
please set an enable secret using the following CLI in configuration mode-
enable secret 0 
----------------------------------
Would you like to enter the initial configuration dialog? [yes/no]: no
Switch>en
Switch#
  • Ciscoデバイスの管理 – Catalystスイッチ – xmodemによるIOSのダウンロード
  • シリアルインターフェイスのコントローラタイプを確認する

    Router#sh controllers serial 0/0/0
    Interface Serial0/0/0
    Hardware is GT96K
    DTE V.35 clocks stopped.
    idb at 0x66C2C7E0, driver data structure at 0x66C33FFC
    wic_info 0x66C34628
    Physical Port 0, SCC Num 0
    MPSC Registers:
    MMCR_L=0x00030400, MMCR_H=0x00000000, MPCR=0x00000000
    CHR1=0x00FE007E, CHR2=0x80000000, CHR3=0x0000064A, CHR4=0x00000000
    CHR5=0x00000000, CHR6=0x00000000, CHR7=0x00000000, CHR8=0x00000000
    CHR9=0x00000000, CHR10=0x00000003
    SDMA Registers:
    SDC=0x00002201, SDCM=0x00000000, SGC=0x0000C000
    CRDP=0x15BD6FA0, CTDP=0x15BD71E0, FTDB=0x15BD71E0
    Main Routing Register=0x0003FFF8 BRG Conf Register=0x00490013
    Rx Clk Routing Register=0x76543218 Tx Clk Routing Register=0x76543210
    GPP Registers:
    Conf=0x430002  , Io=0x464050  , Data=0x7F5FFFAF, Level=0x0
    Conf0=0x430002  , Io0=0x464050  , Data0=0x7F5FFFAF, Level0=0x0
    0 input aborts on receiving flag sequence
    0 throttles, 0 enables
    0 overruns
    0 transmitter underruns
    0 transmitter CTS losts
    0 rxintr, 0 txintr, 0 rxerr, 0 txerr
    0 mpsc_rx, 0 mpsc_rxerr, 0 mpsc_rlsc, 0 mpsc_rhnt, 0 mpsc_rfsc
    0 mpsc_rcsc, 0 mpsc_rovr, 0 mpsc_rcdl, 0 mpsc_rckg, 0 mpsc_bper
    0 mpsc_txerr, 0 mpsc_teidl, 0 mpsc_tudr, 0 mpsc_tctsl, 0 mpsc_tckg
    0 sdma_rx_sf, 0 sdma_rx_mfl, 0 sdma_rx_or, 0 sdma_rx_abr, 0 sdma_rx_no
    0 sdma_rx_de, 0 sdma_rx_cdl, 0 sdma_rx_ce, 0 sdma_tx_rl, 0 sdma_tx_ur, 0 sdma_tx_ctsl
    0 sdma_rx_reserr, 0 sdma_tx_reserr
    0 rx_bogus_pkts, rx_bogus_flag FALSE
    0 sdma_tx_ur_processed
    
    tx_limited = 1(2), errata19 count1 - 0, count2 - 0
    Receive Ring
    rxr head (0)(0x15BD6FA0), rxr tail (0)(0x15BD6FA0)
      rmd(15BD6FA0): nbd 15BD6FB0 cmd_sts 80800000 buf_sz 06000000 buf_ptr 15BD7A80
      rmd(15BD6FB0): nbd 15BD6FC0 cmd_sts 80800000 buf_sz 06000000 buf_ptr 15BD80E0
      rmd(15BD6FC0): nbd 15BD6FD0 cmd_sts 80800000 buf_sz 06000000 buf_ptr 15BD8740
      rmd(15BD6FD0): nbd 15BD6FE0 cmd_sts 80800000 buf_sz 06000000 buf_ptr 15BD8DA0
      rmd(15BD6FE0): nbd 15BD6FF0 cmd_sts 80800000 buf_sz 06000000 buf_ptr 15BD9400
      rmd(15BD6FF0): nbd 15BD7000 cmd_sts 80800000 buf_sz 06000000 buf_ptr 15BD9A60
      rmd(15BD7000): nbd 15BD7010 cmd_sts 80800000 buf_sz 06000000 buf_ptr 15BDA0C0
      rmd(15BD7010): nbd 15BD7020 cmd_sts 80800000 buf_sz 06000000 buf_ptr 15BDA720
    

    Cisco VIRL (Virtual Internet Routing Labo) を VMware Workstation 12.5 にインストールする

    これから CCIE 取得を目指しています。
    まだ CCENT 認定ですが。。。

    Don’t complicate things.

    とあるように、自分が何やってんのかわかっている場合を除いて余計なことはすんなよと書いてある。

    2016-09-25_19h01_37

    Step 1:  Get Started

    ちなみに VirtualBox には対応していない。
    Vt-x/AMDv が有効になっていることを確認すること。
    つまり Vt-x/AMDv の仮想化が有効になっていることが必須です。

    2016-09-25_19h25_23

    Step 3:  Create and Configure Virtual Networks

    5 つネットワークを作成する。

    VMnet8 は NAT で VIRL 仮想マシンにホスト PC を通じたインターネット接続を提供する。
    その他 4 つのネットワークは VIRL に外部 L2, および L3 のコネクティビティを提供する。
    これらは

    Flat
    Flat1
    SNAT
    クラスタリング INT

    すでに VMnet1 が存在していたらナンバリングを1つずつずらす。
    いずれも ホストオンリーネットワーク とする。

    VMnet1
    172.16.1.0
    255.255.255.0
    ローカル DHCP サービスを使用して IP アドレスを VM に配布するのチェックが外れていることを確認する。

    VMnet2 172.16.2.0/24
    VMnet3 172.16.3.0/24
    VMnet4 172.16.10.0/24

    2016-09-25_19h02_43

    2016-09-25_19h03_20

    2016-09-25_19h03_44

    2016-09-25_19h13_39

    2016-09-25_19h15_30

    最終的に以下のような感じになればいい。

    2016-09-25_19h17_33

    Step 4:  Deploy the VIRL OVA

    いよいよ Cisco VIRL の OVA (Open Virtualization Format Archive) をインポートする。
    事前に VIRL の OVA ファイルとライセンスファイル *.pem ファイルをダウンロードしておくこと。

    https://virl.mediuscorp.com/my-account/

    ちなみに OVA はアニメの Original Video Animation のことではないので注意。
    OVA といいつつハイパーバイザーによってインポートできないことが多々にしてあり、ぜんぜんオープンな気がしないんだよなあ。

    virl.1.2.64.pc.ova

    2016-09-25_19h34_21

    2016-09-25_19h36_58

    VIRL 自身の起動やらなんやらの読み込みは速いことに越したことはないので、新しい仮想マシンのストレージパスには
    容量が許すなら SSD 領域自身を指定することを強くおすすめする。

    2016-09-25_19h40_38

    インポートが終わるまで適当に時間を潰す。

    2016-09-25_19h42_04

    インポート完了、やったね。

    2016-09-25_19h44_29

    VIRL を起動したい気持ちを抑えて設定を確認・調整する。

    2016-09-25_19h45_07

    2016-09-25_19h51_00

    最初のネットワークアダプタは NAT になっているのを確認したらそのままそっとしておく。
    ネットワークアダプタ2~5はインポート直後はブリッジになっているので、さっき作った VMnet1~4 にそれぞれ対応付ける。

    2016-09-25_19h59_56

    次に Intel VT-x/EPT の仮想化が有効になっていることを確認する。

    2016-09-25_20h26_40

    そして最後はCPUとメモリ。
    潤沢にあればあるほどいい。

    最低限のスペックは 2 vCPU、 4GB だが、4 vCPU, 8GB かそれ以上のリソースを割り当てることが要求されている。
    VMware Workstation の推奨メモリ容量は無視しろと書いてある。
    特に他に立ち上げる VM も今のところ考えていないので私は 8vCPU, 16GB の割当てをおこなった。

    2016-09-25_20h30_38

    Step 5:  Prepare VIRL for Activation

    VM を起動して ID: virl PASS: VIRL でログイン。

    2016-09-25_20h34_28

    ログイン後に表示される画面。バイオハザードマークが禍々しい。
    おもむろに xterm を立ち上げる。

    2016-09-25_20h35_27

    以下のコマンドを入力して出力が以下のように出ればひとまずここまでの手順は OK 。
    KVM (Kernel Based Virtual Machine) のアクセラレーション利用可能の表示が出なければ何かがおかしいので手順に沿ってやったか見直せと書いてある。

    virl@virl:~$ sudo kvm-ok
    INFO: /dev/kvm exists
    KVM acceleration can be used
    

    2016-09-25_20h40_54

    次にインターネットへの接続性を確認する。
    VIRL は定期的に Cisco の SaltStack サーバーと通信をしてアクティベーションの妥当性を確認する必要がある。

    ping -c 4 www.cisco.com
    curl http://curltools.com/get-ip
    wget --spider --no-verbose http://www.google.com
    

    2016-09-25_20h45_14

    VIRL のインストラクションにはないが、ここでひとつチューニングをしておく。
    VIRL の割当メモリを使い果たすまで Swap を使うなという設定を入れる。
    別にすぐ VIRL を割当メモリ目いっぱいまで酷使するわけでなければこの手順はすっ飛ばしてかまわない。
    公式の手順にも載ってないし。

    virl@virl:~$ sudo -i
    root@virl:~# cat /proc/sys/vm/swappiness 
    60
    

    キーボードが英字配列になっていることに注意をする。
    イコールは日本語キーボードの場合チルダ ~ のキーを Shift 無しでタイプした時に出てくる。
    また、保存するときのコロン : はセミコロン ; のキーを Shift キー押しながらタイプすると入力できる。
    また、 vi は vim でないことに注意する。
    とても使いづらい。

    root@virl:~# vi /etc/sysctl.conf
    
    vm.swappiness = 0
    root@virl:~# sysctl -p
    net.ipv4.conf.default.rp_filter = 0
    net.ipv4.conf.all.rp_filter = 0
    net.ipv4.ip_forward = 1
    vm.swappiness = 0
    root@virl:~# cat /proc/sys/vm/swappiness 
    0
    root@virl:~# exit
    

    中身をちょっと見るとわかるが、 Ubuntu Linux 14.04 LTS (Trusty) がベースとなっており、 OpenStack がインストールされているようだ。
    なるほどなあ。

    virl@virl:~$ cat /etc/debian_version 
    jessie/sid
    virl@virl:~$ cat /etc/lsb-release 
    DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=14.04
    DISTRIB_CODENAME=trusty
    DISTRIB_DESCRIPTION="Ubuntu 14.04.4 LTS"
    

    Step 6:  Activate VIRL

    VIRL の IP アドレスを調べてホスト側のブラウザからその IP にアクセスする。

    2016-09-25_21h04_45

    Web 管理画面が見えるはず。
    圧倒的 Bootstrap 感。

    2016-09-25_21h07_23

    User Workspace Management を選択し、以下のログイン情報を入力する。

    ID: uwmadmin
    PASS: password

    2016-09-25_21h10_05

    2016-09-25_21h12_10

    各フィールドを埋める。

    Salt ID and domain には pem ファイルの拡張子抜きのファイル名を、
    Customer email Address は読んで字のごとく、
    List of Cisco salt masters は地理的に近いものを適当に選んで突っ込む。
    正直日本の場合 us のほうでとくに問題はないと思われる。

    us-1.virl.info, us-2.virl.info, us-3.virl.info, us-4.virl.info
    eu-1.virl.info, eu-2.virl.info, eu-3.virl.info, eu-4.virl.info

    Master sign public key はドントタッチミー。
    Minion private RSA key in PEM format には pem ファイルの中身をまんまコピペする。

    そして Reset ボタンクリック。

    2016-09-25_21h21_42

    どこか 1 つでも Salt サーバーとライセンスの検証ができていれば OK 。

    2016-09-25_21h25_35

    Step 7:  Customize the VIRL Configuration (Optional)

    特筆して変更するところはないが、 16GB より多くのメモリを搭載しているなら RAMdisk オプションが使えるようだ。
    インメモリディスクを使用することで、シミュレーションのスタートアップタイムを減らせるらしい。
    速いに越したことはないのでここでさらにメモリを 16GB -> 24GB にして RAMdisk をオンにした。

    24 * 1024 = 24576 MB

    2016-09-25_21h38_20

    まずメンテナンスモードを有効にしろとある。
    メンテナンスモードを有効にする。
    そして Apply 。

    2016-09-25_21h40_59

    オールグリーンになったらシステムリブートしろやと出てくるので、おとなしく再起動する。
    WebUI 上の Reboot ボタンを押すだけで VIRL 仮想マシンをリブートできるみたい。
    素晴らしいな・・・。

    2016-09-25_21h44_07

    リブート終わったら Disable maintenance mode にし、 OK ボタンをクリック

    2016-09-25_21h46_21

    Step 8:  Validate the VIRL Installation

    VIRL が正しくインストール・設定できたことを以下のコマンドで検証せよとある。

    OpenStack の Neutron ネットワーキングモジュールの動作確認ですね。
    xterm をおもむろに立ち上げる。
    alive のところが全部スマイリーマーク :-) になっていれば OK 。

    virl@virl:~$ neutron agent-list
    +--------------------------------------+--------------------+------+-------+----------------+---------------------------+
    | id                                   | agent_type         | host | alive | admin_state_up | binary                    |
    +--------------------------------------+--------------------+------+-------+----------------+---------------------------+
    | 73edf60e-2951-4dfb-8ce7-a2fa58f9199a | DHCP agent         | virl | :-)   | True           | neutron-dhcp-agent        |
    | be125ca6-3381-4e8a-95d1-6de54bd99788 | Linux bridge agent | virl | :-)   | True           | neutron-linuxbridge-agent |
    | c3195bd1-f054-4a0b-85ae-3935ecbe260f | Metadata agent     | virl | :-)   | True           | neutron-metadata-agent    |
    | defeaa84-8b4c-4c5c-b101-b1555520a710 | L3 agent           | virl | :-)   | True           | neutron-l3-agent          |
    +--------------------------------------+--------------------+------+-------+----------------+---------------------------+
    

    2016-09-25_21h52_43

    そして VIRL STD と UWM サービスがすべて listening ステートになっていることを確認する。
    インメモリ KVS である Redis も内部で動いていることが見て取れる。

    virl@virl:~$ sudo virl_health_status | grep listening
    ...
    (snip)
    virl-vis-webserver listening on port 19402
    ank-cisco-webserver listening on port 19401
    STD server on url http://localhost:19399 is listening, server version 0.10.27.8
    UWM server on url http://localhost:19400 is listening, server version 0.10.27.8
    Webmux server on url http://localhost:19403 is listening
    Redis server on 127.0.0.1:6379 is listening
    

    2016-09-25_21h56_55

    Display the VIRL license configuration

    以下の点を確認する。

    ‘hostid’ が pem ファイルのファイル名部分と同じになっていること
    ‘product-capacity’ がライセンス上で許可されているノード数(私の場合は 30 )になっていること
    ‘product-expires’ ‘7’ となっていること。(7 日で切れるということ。切れたらまたソルトサーバーにバリデートしにいく)

    virl@virl:~$ sudo virl_health_status | grep -A 4 -e hostid -e product
    ...
    (snip)
    hostid : ********.virl***.info
    product-license : [u'us-1.virl.info', u'us-2.virl.info', u'us-3.virl.info', u'us-4.virl.info']
    product-capacity : 30
    product-expires : 7
    features : [u'Cariden.MATE.import', u'Cariden.MATE.export']
    product-usage : 0
    uwm-url : http://192.168.200.128:19400/admin/salt/
    

    2016-09-25_22h06_04

    Step 8:  Install and Configure VM Maestro

    ネットワークのトポロジを作成、シミュレーションするツール、 VM Maestro をインストールする。
    Maestro とは芸術家、専門家、音楽の指揮者等の意味があるようだ。

    というか、 VM Maestro のスプラッシュに指揮者のシルエットが出るようになっている。 最近はスプラッシュが出なくなったようだ。

    2016-09-25_22h38_53

    ブラウザで VIRL Server の WebUI にアクセスして、 VM Maestro クライアントをインストールするプラットフォームに応じたバイナリをダウンロードする。
    ここでは Windows x64 アーキテクチャと仮定する(たぶんそんなに変わらない)。

    2016-09-25_22h09_41

    2016-09-25_22h11_30

    ダウンロードしたやつを普通にインストール。

    これもベースは Eclipse となっている。
    オープンソース活用しまくりだな。

    VM Maestro を立ち上げてライセンスアグリーメントに同意して、匿名のレポート送るか聞かれるので、チェックを入れてやめろとしておく。
    文字化けしてるし。

    こいつはクライアントなので、先程 VMware Workstation 上にインストールした VIRL サーバーなしには生きていけない。
    接続先を VIRL サーバーに変えてやる必要がある。

    2016-09-25_22h14_41

    ID, パスワードは以下でよい、 IP アドレスはさっき調べた VIRL サーバーの IP アドレスを入力。

    ID: guest
    PASS: guest

    そしてサービスへの接続チェックがオールグリーンになれば OK 。

    2016-09-25_22h20_33

    なんか Eclipse の Secure Storage にマスターパスワードが保存されたらしいので、リカバリ用の秘密の質問を入力するか聞かれるのでとりあえず Yes としておいた。

    2016-09-25_22h21_49

    2016-09-25_22h23_30

    最後にやること

    以下の手順で Node Subtype の一覧をデフォルトにリセットして、 VIRL ホストで利用可能な node sub-types をすべて再取得する必要がある。

    File -> Preferences を開く。
    まずは Restore Defaults でリセットする。

    2016-09-25_22h30_49

    そして VIRL サーバーからサブタイプの一覧を取得する。

    2016-09-25_22h32_45

    シミュレーションをちょっとやってみよう

    RAMdisk を enable にした状態。
    8 vCPU
    24 GB

    すべてのノードが起動するまでに要した時間はおよそ 1 分程度。

    (INFO) [Sep/25/2016 13:43:37] simulation "topology-97p7fh": nodes can start
    (INFO) [Sep/25/2016 13:43:43] Starting node "~mgmt-lxc"
    (INFO) [Sep/25/2016 13:43:44] Starting node "iosv-1"
    (INFO) [Sep/25/2016 13:43:49] Starting node "iosv-2"
    (INFO) [Sep/25/2016 13:43:54] Starting node "iosv-3"
    (INFO) [Sep/25/2016 13:44:00] Starting node "iosvl2-1"
    (INFO) [Sep/25/2016 13:44:07] Starting node "server-1"
    (INFO) [Sep/25/2016 13:44:07] Node "iosv-1" state changed from ABSENT to ACTIVE
    (INFO) [Sep/25/2016 13:44:07] Node "iosv-2" state changed from ABSENT to ACTIVE
    (INFO) [Sep/25/2016 13:44:07] Node "iosv-3" state changed from ABSENT to ACTIVE
    (INFO) [Sep/25/2016 13:44:07] Node "iosvl2-1" state changed from ABSENT to BUILDING
    (INFO) [Sep/25/2016 13:44:07] Node "~mgmt-lxc" state changed from ABSENT to ACTIVE
    (INFO) [Sep/25/2016 13:44:12] Starting node "server-2"
    (INFO) [Sep/25/2016 13:44:17] Starting node "server-3"
    (INFO) [Sep/25/2016 13:44:36] Node "iosvl2-1" state changed from BUILDING to ACTIVE
    (INFO) [Sep/25/2016 13:44:36] Node "server-1" state changed from ABSENT to ACTIVE
    (INFO) [Sep/25/2016 13:44:36] Node "server-2" state changed from ABSENT to ACTIVE
    (INFO) [Sep/25/2016 13:44:36] Node "server-3" state changed from ABSENT to ACTIVE
    

    ルーター右クリックでコンソールポートに接続できる。

    2016-09-25_22h57_16

    10.1.0.0/24 のマルチアクセスネットワークを想定して IP アドレスをルーターに設定して ping を打ってみたところ。

    2016-09-25_22h54_57

    お疲れ様でした。

    Tips

    あとの普段のシミュレーション自体は VIRL の仮想マシンが立ち上がっていればよいので、とくに Linux にログインする必要もなければ、 WebUI にログインする必要もない。

    参考サイト

    1. VIRL via VMware Workstation
    2. VIRL | CCIEおじさん日記

    CCENT 合格した(ICND1 v3.0, 100-105J)

    100-105 – Interconnecting Cisco Networking Devices Part 1

    CCENT合格!新試験の下見で来たからあんまり期待してなかったけど、合格できてよかった。

    いきなりCCNAはやっぱり無謀みがある。

    ICND1は旧試験の知識(ICND1, ICND2両方)とシミュレーション3問ぐらい出るって知っていればなんとか解けた。
    スコアは903程度。
    今回はマーカーボードも活用した。
    腹が減っていたので近くのすき家で牛丼大盛りをかきこんで満たされてからいざ試験会場へ。
    試験センターで当日その場で予約して現金払いした。
    RFCの規格番号答える問題は年表覚えるみたいでやっぱり苦手だな。
    フレームリレーは無くなったけど、相変わらずシリアル接続は出てきたので注意が必要。
    真新しい点としては無線の設問が出たくらいかな。
    でも常識的な単語知ってれば解ける問題なので大丈夫だった。
    それより2万近い受験料が痛い。。。
    受かってよかったわ。

    あと、RIPv2 がシミュレーション問題で出てきた。