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 。

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

ご注意: GNS3 1.5 系のポータブルプロジェクトファイルは私が試した限り Windows と Mac 間では互換性がありません。

それと Windows 間のインポートだとエクスポート元で GNS3 VM 上で実行していたやつでも、インポート先だとローカルの Dynamips で実行されてしまうっぽい。。。
設定の問題なのかなあ。。。

最初この事実を知った時、うーんって感じでした。
まあ、マルチプラットフォームの難しさは推して量るべしですが・・・。
こういったコミュニティに積極的にコミットできるようになりたい。

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 のプロジェクトファイルも載せているわけです。