GNS3+VirtualBox+Vyattaでネットワークのシミュレーション

あるプロトコルのデータの流れを知りたい時には、実際にネットワークを物理的に構築してパケットキャプチャなどをすると思います。しかし、ルーティングやVLANといった仕組みに手をつけると、どうしても高価なデバイスを用意しなければいけないので、個人でやろうと思ったら大変です。

そこで、フリーで使えるシミュレーターを使って、仮想コンピュータネットワークをPC上で構築してみましょう。

使うツールの紹介

すべてオープンソースのプロジェクトです。

GNS3
GUIのネットワークシミュレータ。v0.8.1からVirtualBoxをサポートするようになりました。
VirtualBox
x86の仮想化
Vyatta
ソフトウェアルーター

環境の構築

OSはWindowsを想定しています。

  1. まず、各種ツールのDLとインストールから始めます。GNS3のDLページからv0.8.1 VBE all-in-one, VirtualBox公式のDLページからWindows用のバイナリをDLしてインストールします。
  2. GNS3のインストーラは必要なツールをすべてまとめてインストールしてくれますが、WiresharkやPuTTYなどすでにインストールしてあるものがあれば新たにインストールする必要はありません。
  3. 管理者権限でコマンドプロンプトを開き、以下を実行。
    >cd "C:\Program Files\Oracle\VirtualBox\sdk\install"
    >"C:\Program Files\Python26\python.exe" vboxapisetup.py install
  4. 仮想OSをVirtualBoxで作成します。OSの種類は何でもいいですが、リソースを節約するためにDamn Small Linuxを使っています。インストール済みの仮想イメージを作ってくれている人がいるのでそれを使います。こんな設定で使ってます。

    DSLの設定

    ユーザIDとパスワードも載っています。

  5. VyattaをDLします。GNS3のDLページからVyatta 6.2 Qemu imageをDLして解凍します。
  6. GNS3の設定を行います。メニューバー -> 編集(Edit) -> 設定(Preferences) この画面から、日本語化・VMの追加、各種ツールのパスの設定をします。WiresharkやPuTTYなどをall-in-oneインストーラで入れなかった人は、ここで実行ファイルのパスを指定してください。元々、GNS3はDynamipsと呼ばれるシスコルーターのエミュレータを使っているのでCisco IOSの登録画面が出てきますが、IOSの代わりにVyattaを使うので無視します。
  7. Vyattaの登録。「識別子名」を適当に、「バイナリイメージ」にDLしてきたQemuイメージにします。最後に「保存」します。

    Vyatta(QEMU)の登録

  8. VMの登録。VirtualBoxにVMが登録されていると、「識別子名」のドロップダウンリストにVMの一覧が出てくるので選択します。最後に「保存」

    VMの登録

ネットワークの作成とシミュレーション

  1. あとはトポロジーを作成するだけです!注意するのはQemuゲストはひとつのイメージで複数のVMを起動できるのですが、VirtualBoxゲストはVM1台毎に登録が必要です。Qemuではひとつのイメージで複数のVMを起動しても、NICのMACアドレスが重複しないようになっています。
  2. 左のリストからQemu guestとVirtualBox guestをD&Dして、ネットワークを作成します。ケーブルの接続はコネクタアイコンから行います。

    トポロジー例

    Vyattaのログインは login/pass: vyatta/skuska

  3. 再生ボタンを押すと、VMが起動します。それぞれのVMに入ってネットワークの設定をします。ちなみに、各デバイスのインターフェースでパケットキャプチャが出来ます。
広告
カテゴリー: Uncategorized タグ: , , , パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中