Dynamips Dynagen の使い方


Dynamips, Dynagen はCiscoルータ等のネットワーク機器をエミュレートするソフトウェアです。このページでは、Dynamips, Dynagenのインストール方法と使い方について説明します。

Dynagenは2008年に開発が停止されており、現在ではGNS3というプロジェクトに引き継がれています。GNS3の方が直観的で使いやすいので、特別な理由がない限りはGNS3の使用をお勧めします。GNS3の使い方については、「GNS3の使い方」を参照ください。

Dynamips Dynagen 概要

Dynamipsとは

DynamipsとはCiscoルータのエミュレータです。Dynamips単体でもCiscoルータの検証はできますが、非常に操作が難解であるため、Dynamips, GNS3などの操作ツールとセットで使用するのがお勧めです。

DynamipsはGNS3プロジェクトに引き継がれ、現在(2014年11月)も開発は継続しております。

Dynagenとは

DynagenとはDynamipsを操作するためのソフトウェアです。ルータの起動/停止や設定のインポート/エクスポートなどの操作を提供するツールです。Dynagenは2008年で開発が停止されており、今後の発展は望めません。

Dynamips, Dynagenを使うメリット

今日ではGNS3という非常に便利なツールが存在するので、Dynamips, Dynagenを使うメリットは殆どありません。グローバルナレッジの講師の方も業界有名人「ネットワークエンジニアとして Coolさん」も、GNS3を使用しています。

多くの方はGNS3を勧めますが、限定的な用途ではDynamips, Dynagenの方が優れている事もあります。私自身、Dynaips, DynagenでCCIEを取得しました。同じくCCIEを取得した「TEMPEST社長ブログ」の中の人もDynamips, Dynagen派です。Dynamips, Dynagenのメリットは以下の通りです。

  • Redhat Linux 対応 ( GNS3はRedhat Linux非対応です )
  • 省リソース ( Linux版 Dynamipsは非常に軽量です。一度に大量ルータを起動させるにはお勧めです。 )
  • 慣れれば、GNS3よりもDynagenの方が作業効率が良い

Redhat系Linuxを使う人やGUI嫌いな人には、Dynamips, Dynagenの方が良いかもしれません。また、リモートのLinuxサーバにDynamips, Dynagenをインストールし遠隔操作でルータの検証を行えば、ノートPCの電池を大量に消費する事なく検証が行えます。カフェで勉強する人にとっては、遠隔Dynamips, Dynagenは魅力的な環境です。

Dynamips Dynagen インストール方法 – Linux環境

Dynagen, Dynamipsのバージョン

まずは、Dynagen, Dynamipsのダウンロードを行ないます。ダウンロードの時に注意しなければならないのが、Dynagen, Dynamipsのバージョンです。ネットワーク機器を操作するDynagenは一部のDynamipsのバージョンしかサポートしません。最新版を使用すればよいというわけではなく、Dynagen, Dynamipsが動作するのは極一部のバージョンの組み合わせのみです

また、Dynamipsが必要とするGLIBCのバージョンはDyamipsのバージョンによって異なります。GLIBCのインストールはややハードルが高いので、OS標準でインストールされているバージョンを基準にDynamipsのバージョンを選ぶと良いでしょう。

このサイトで紹介するインストール手順の例は、以下のバージョンのソフトウェアを使用します。

  • dynamips-0.2.8-RC3
  • dynagen-0.11.0
  • glibc-2.12-1.149

Dynagenのダウンロード

source forgeのdyagenプロジェクトページをブラウザで開きます。「Files」を押下します。

dynagen_download_001

「RPM」ではなく「Source Linux」を押下して下さい。RPM版は32bitなどの特定環境にしか対応していないので使い勝手が悪いです。

dynagen_download_002

最新版(とは言っても2008年ですが)のdynagen 0.11.0を押下します。

dynagen_download_003

「tar.gz」を押下します。

dynagen_download_004

Source Forgeのトップページから辿るのが面倒な方は以下のようにwgetコマンドを使用しても差し支えごっざいません。

Dynamipsのダウンロード

source forgeのGNS3プロジェクトページをブラウザで開きます。「Files」を押下します。

dynamips_download_001

「Dynamips」を押下します。

dynamips_download_002

「0.2.8-RC3-community」を押下します。動作可能なバージョンはDynagen, GLIBCのバージョンによって異なる事に注意下さい。

dynamips_download_003

バイナリファイルをダウンロードします。ダウンロードリンクへマウスオーバーすると、ダウンロードするファイル名が表示されます。ファイル名のx86_64, x86などから推測して、CPUアーキテクチャにあったファイルをダウンロードして下さい。

dynamips_download_004

source forgeのトップページからリンクを辿るのが面倒な方は、以下wgetコマンドをご利用ください。

Dynamips Dynagenのインストール

Dynamips, Dynagenは特にインストール作業は必要ございません。ファイルを配置するだけで、動作可能です。

やる事と言えば、適切なディレクトリにファイルを置くくらいです。どこに置いても動きますが、何らかのルールを決めた方がメンテナンスしやすいでしょう。私の場合は以下のようなディレクトリ構成を採用しています。

ファイル配置場所
dynagen バイナリファイル/opt/dynagen
dynamips バイナリファイル/opt/dynagen
Cisco IOS/opt/dynagen/images
ネットワーク構成ファイル/opt/dynagen/labs

コマンド例は以下の通りです。

Cisco IOSの配置

Cisco IOSを適切な方法で入手し、IOS置き場へ配置します。

 トポロジファイルの作成

ネットワーク構成を表すファイルを作成します。/opt/dynagen/labs/sample/topology.netというファイルを以下のように新規作成します。

Dynamips Dynagenの操作

Dynamipsの起動

Dynamipsはネットワークエミュレートを行なう常駐プログラムです。Dynamipsをサーバとして起動し、このDynamipsサーバに対して命令を出す事によってCisco機の検証が可能になります。

Dynamipsを起動するには、以下のように引数でUDPポートを指定して実行します。このサイトでは多数派の設定例に合わせ、udp 7200で起動します。

起動に成功すると、以下のように「started (port 7200)」と表示されます。

Dynagenの実行

DynagenはDynamipsに対してネットワーク操作の命令を出すソフトウェアです。以下のように引数にトポロジファイルを指定する事で実行できます。

dynagenの実行に成功すると、以下のようにdynagenのコンソールに接続されます。

dynagenコンソールの使い方は、以下のようにhelpコマンドを見つつ、少しずつ慣れていってください。

ルータを起動するには、以下のようにstartコマンドを実行します。

仮想ルータへの接続

仮想ルータへの接続を行なうには、telnetを使います。dynagenはルータのコンソールをtcp 2000番から順番に割り当てます。ルータR1がtcp2000になり、ルータR2がtcp2001になります。このtcpポートはデフォルト設定を使用しても良いし、トポロジファイル(topology.net)で明示指定する事もできます。

ルータへの接続操作例は以下の通りです。

Dynagenの終了

Dynagenを終了させるには、dynagenのコンソール上でexitコマンドを入力下さい。

Dynamipsの終了

Dynamipsを終了させるためのユーティリティは特に提供されていません。終了させるには、killコマンド等をご利用下さい。

動作確認環境

  • 動作確認日 : 2015/03/19
  • CentOS 6.6 64bit ( さくらインターネット VPC )
  • dynamips-0.2.8-RC3
  • dynagen-0.11.0
  • glibc-2.12-1.149

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. 匿名 より:

    参考になる情報をまとめて下さりありがとうございます。
    一点。紹介されているglibcのバージョンが、先々月に注意喚起がなされた
    CVE-2015-0235の脆弱性の影響対象に含まれております。

    https://www.ipa.go.jp/security/announce/20150129-glibc.html
    http://d.hatena.ne.jp/Kango/20150128/1422409960

    もう御認識されて修正準備中かもしれませんが、念のため投稿させて頂きます。
    このコメントは一読された後削除いただければ幸いです。

    重ねて、参考になる情報をまとめて下さりありがとうございます。

    • syauichi より:

      連絡ありがとう。

      2014年, 2015年と、openssl, shell shock, glibcなど脆弱性の豊作が続きますね。opensslに関しては、また脆弱性が見つかったらしいし。余力のある時に、脆弱性のないバージョンで動作確認して記事を更新しておきます!