Dynamips(Cisco 7200 Simulator)をMac OS Xで使ってみる
ここしばらくネットワーク周りから遠ざかっていたので、勘が鈍ってきていることに気づいた。というわけで、久々にネットワーク周りで楽しいことをして遊ぼう。
今回選んだネタはDynamips。これはCisco 7200のエミュレータ。IOSさえ用意できれば、本物のCisco 7200があなたの手元で動作する!というもの。エミュレータの例に漏れず、こいつもCPUとメモリを大量に要求する。うちで一番高速でメモリの多いマシンが、なぜかMacBookだったので、Mac OS X 10.5.2(Intel)で動作させてみた。
用意するもの
Dynagenは、Dynamips用のフロントエンド。Dynamipsの設定はかなりややこしいんだけど、Dynagenを使うとそれなりの複雑さに抑えられる。あと、Intel用のDynamipsが同梱されているので、buildしなくても使えるのが楽ちん。
Cisco 7200用のIOSに関しては、各自の努力で入手すべし。入手方法は聞くな。
Dynagenのインストール
dmgファイルを展開して、生成された"Dynagen"フォルダを/Applicationsにコピーする。
IOSの準備
IOSを所定のディレクトリに配置する。今回は/Applications/Dynagen/imagesということにした。
ところで、一般的にネットワーク機器のファームウェアを格納するFlash Memoryは、容量が小さい。というわけで、容量を節約するためにファームウェアは圧縮されていることが多い。Cisco IOSもこの例に漏れず、zipで圧縮されている。最近のDynamipsは、圧縮されたIOSを展開してloadできるけど、毎回展開するのは時間がかかるし、エミュレータだから容量を節約する理由もないから、あらかじめ伸張しておくのがおすすめ。
> unzip -p c7200-g6ik8s-mz.124-2.T1.bin > c7200-g6ik8s-mz.124-2.T1.image
ファイル名は、IOSのバージョンによって異なるので注意。
Dynagenの設定ファイル作成
Dynagenは、Network Fileと呼ばれる設定ファイルを与えることで、好みのネットワーク構成を作成することができる。サンプルがDynagen/sample_labos以下に展開されているので、まずはこれを流用する。simple1がもっとも単純な設定なので、まずはこいつをディレクトリごとどこかにコピーする。
> cp -r /Applications/Dynagen/sample_labos/simple1 ~/dynagen/
simple1.netのimageの部分だけを、用意したIOSにあわせて書き換える。
# Simple lab [localhost] [[7200]] image = /Applications/Dynagen/images/c7200-g6ik8s-mz.124-2.T1.image npe = npe-400 ram = 160 [[router R1]] s1/0 = R2 s1/0 [[router R2]] # No need to specify an adapter here, it is taken care of # by the interface specification under Router R1
Dynagenの起動
Network Fileが用意できたので、いよいよDynagenを起動する。まずは/Applications/Dynagen/Dynamips Serverを起動する。Terminalが開いてパスワードを要求されるので、自分のパスワードを入力する。Hypervisor TCP control server startedと出力されて、待ち状態になったらOK。
> cd /tmp ; sudo /Applications/Dynagen/dynamips -H 7200 Password: Cisco Router Simulation Platform (version 0.2.8-RC2-x86) Copyright (c) 2005-2007 Christophe Fillot. Build date: Nov 11 2007 11:11:35 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を起動する。今後のために、Network FileをDynagenで開くように設定しておく。Finderでsimple1.netをCtrl+クリックして、「情報を見る」を選択する。
「このアプリケーションで開く」のプルダウンメニューから「その他」を選択する。
「選択対象」を「全アプリケーション」として「常にこのアプリケーションで開く」にチェックし、Dynagenを選択する。
これで、Network FileはDynagenで開くように設定された。あとはFinderでsimple1.netをダブルクリックして、Dynagenを起動する。
Terminalが開いていろいろ出力され、最後に => なプロンプトが出力されればOK。これでrouterが起動されている。
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 =>