Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

Cisco IOSエミュレータDynamipsを使ってみる@CentOS 5

      2013/07/15

Ciscoのスイッチやルータの設定の勉強をしたくて、DynamipsというCisco IOSエミュレータを使ってみた。

まずはdynamips-0.2.8rc2とその周辺ツールdynagen-0.11.0をダウンロードして解凍。IOSは別途入手する必要があります。

dynagenのディレクトリに以下の設定ファイル(config.net)を作成。

[localhost]
Autostart = true
Workingdir = /root/cisco/tmp/
Console = 2000
UDP = 11000
Debug = 0

[[7200]]
image = /root/cisco/images/c7200-jk9s-mz.124-13b.bin
npe = npe-400
ram = 160

[[ROUTER R1]]
s1/0 = R2 s1/0
model = 7200

[[router R2]]
model = 7200

一つめコンソールでdynamipsを起動

# ./dynamips-0.2.8-RC2-x86.bin -H 7200
Cisco Router Simulation Platform (version 0.2.8-RC2-x86)
Copyright (c) 2005-2007 Christophe Fillot.
Build date: Oct 14 2007 10:41:26

ILT: loaded table "mips64j" from cache.
ILT: loaded table "mips64e" from cache.
ILT: loaded table "ppc32j" from cache.
ILT: loaded table "ppc32e" from cache.
Hypervisor TCP control server started (port 7200).

二つめのコンソールでdynagenを起動

# ./dynagen config.net
Reading configuration file...

Network successfully loaded

Dynagen management console for Dynamips and Pemuwrapper 0.11.0
Copyright (c) 2005-2007 Greg Anuzelli, contributions Pavel Skovajsa

=>

この時、dynamipsには以下のようなログが出力されます。

Shutdown in progress...
Shutdown completed.
CPU0: carved JIT exec zone of 64 Mb into 2048 pages of 32 Kb.
NVRAM is empty, setting config register to 0x2142
C7200 instance 'R1' (id 0):
  VM Status  : 0
  RAM size   : 160 Mb
  IOMEM size : 0 Mb
  NVRAM size : 128 Kb
  NPE model  : npe-400
  Midplane   : vxr
  IOS image  : /root/cisco/images/c7200-jk9s-mz.124-13b.bin

Loading ELF file '/root/cisco/images/c7200-jk9s-mz.124-13b.bin'...
ELF entry point: 0x80008000

C7200 'R1': starting simulation (CPU0 PC=0xffffffffbfc00000), JIT enabled.
CPU0: carved JIT exec zone of 64 Mb into 2048 pages of 32 Kb.
NVRAM is empty, setting config register to 0x2142
C7200 instance 'R2' (id 1):
  VM Status  : 0
  RAM size   : 160 Mb
  IOMEM size : 0 Mb
  NVRAM size : 128 Kb
  NPE model  : npe-400
  Midplane   : vxr
  IOS image  : /root/cisco/images/c7200-jk9s-mz.124-13b.bin

Loading ELF file '/root/cisco/images/c7200-jk9s-mz.124-13b.bin'...
ELF entry point: 0x80008000

C7200 'R2': starting simulation (CPU0 PC=0xffffffffbfc00000), JIT enabled.

さらに他のコンソールを開いて、telnetで接続します。ここでは他のコンピュータから接続しているので、接続先にdynamipsを実行しているサーバのIPを指定します。

# telnet 192.168.0.1 2000
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^]'.
  Connected to Dynamips VM "R1" (ID 0, type c7200) - Console port

リターンを押すと、以下ようにcisco 7200の初期設定画面になりますので、適切に設定していきます。

% Please answer 'yes' or 'no'.
Would you like to enter the initial configuration dialog? [yes/no]:

同様にtelnetで2001に接続するとルータR2に接続できます。maznはciscoのルータを使用したことないので、ここには何も書きません、ではなく書けません。

ちなみに、config.netに書いたネットワーク構成を動的に変更することも可能のようです。R1のs1/0ポートに接続しているケーブルを抜くにはdynagenのコンソールで以下のようにします。

=> conf localhost
=>(config-localhost:7200)
=>(config-localhost:7200-router R1) no s1/0 = R2 s1/0

この時、R0に接続したtelnetにはいろいろとログが流れます。再接続するにはnoを省きます。

=>(config-localhost:7200-router R1) s1/0 = R2 s1/0

ちょっと使用しただけなので、どこまでできるかわかりませんが、いろいろと遊べそうです。しかし、残念ながらCatalystのL2スイッチはエミュレーションできないようです。というのもL2スイッチングはASICでのハードウェア処理が基本だからそうです。NM-16ESWというモジュールを使えばそれなりにL2スイッチを使うこともできるようですが、できないことも多々あるようですし、バグもあるようです。もっと気軽に勉強できる環境がどこかにないでしょうか。

参考 : dynagenのチュートリアル

 - IT技術, ネットワーク ,

336px

Comment

  1. とおりすがり より:

    sourceforgeで、pyIOSというCiscoIOSシミュレータを見かけました。
    バグの具合とかはわからないですけど。

  2. mazn より:

    情報ありがとうございます。

    pyIOSちょっとサイトを覗いてみました。2001年から全然バージョンアップされていないようですし、あまり完成度も高くないみたいですね。
    http://sourceforge.net/projects/pyios/

Message

メールアドレスが公開されることはありません。

  関連記事

no image
Fedora 17を19にアップグレードする

Fedora 17 のサポートが気づいたら終わっていたので、最新の19にアップグ …

no image
国別 IP アドレス割り当てリスト

サーバを立てているとあちこちから不正アクセスがくるもので、特に不正アクセスが多い …

no image
コマンドラインからWebページを画像として保存@CygwinやLinux

スクリプトでWebページを保存するにはwgetを使えば簡単に実現できますが、これ …

no image
vimでシンタックスハイライトの関連づけ拡張子を追加する@CentOS 5.3

vimで.shの拡張子を開くと、シェルの構文がハイライトされるし、.c を開けば …

no image
tarファイルを解凍せずに中身をみる@Linux

tarファイルの中身を見るのに、小さなファイルなら解凍して中身を展開すればよいで …

no image
Ubuntuの起動画面が途中で見えなくなる@Ubuntu 9.04

Ubuntu 9.04を入れてみました。 起動時の画面が途中で真っ暗になったり、 …

no image
Galaxy S + PdaNet でBluetoothテザリング

※本記事の方法でいかなる損害が発生したとしても、責任は負いません。 Galaxy …

no image
携帯動画変換君がqt3gppflatten.exeでエラー

なぜか最近携帯用の着うたを携帯動画変換君で3gpに変換しようとすると、qt3gp …

no image
vardiaの地上デジタルが不安定なときは@RD-S601

東芝のVardiaでは、地上デジタルの電波が強すぎて、逆に画面が不安定になること …

no image
gitで過去のコミットを書き換える方法まとめ

コミットしてしまった後に恥ずかしい間違いに気づいて書き換えたい時の対処方法。 ま …