GNS3とは
「Graphical Network Simulator(GNS3)」とは、クロスプラットフォームのグラフィカルネットワークシミュレータです。
GNS3を使えば、Cisco IOS、Juniper、MikroTik、Arista、およびVyattaなどの実際のネットワークオペレーティングシステムを使い、仮想ネットワークをPC上で設計およびテストを行うことができます。
GNS3では、ハードウェアのエミュレートを行っています。すなわち、PC上で実際のネットワークオペレーティングシステム(たとえば、Cisco IOS)イメージファイルを実行させることができます。したがって、理論的には、Cisco IOSバージョンがサポートするすべてのプロトコルまたは機能について使用することが可能です。
プレインストール
推奨CISCO IOS イメージ
プレインストール作業は、ルータのイメージファイルを用意することです。ルータなどをエミュレートするには、そのネットワークオペレーティングシステムのイメージが必要になります。
推奨されている Cisco IOS イメージ
Ciscoルータ | 推奨IOS | 必要RAM | アイドルPCの提案値 | MD5ハッシュ値 |
---|---|---|---|---|
Cisco 1700 | c1700-adventerprisek9-mz.124-25d.bin | 128 MB | 0x80358a60 | 3ed8d56a8757771105a56070e4147716 |
c1700-adventerprisek9-mz.124-15.T14.bin | 160 MB | 0x824a4dc4 | 351190de8764263e85a2b50718f394fd | |
Cisco 2600 | c2600-adventerprisek9-mz.124-25d.bin | 128 MB | 0x80519c48 | 8eca1f6fe57dfb3c3cf3568c0e475853 |
c2600-adventerprisek9-mz.124-15.T14.bin | 256 MB | 0x8027ec88 | 12b8548b23e2ec593652ae9310ac797f | |
Cisco 3620 | c3620-a3jk8s-mz.122-26c.bin | 64 MB | 0x603a8bac | dd34b958ad362ef54ba48b187f4c97b4 |
Cisco 3640 | c3640-a3js-mz.124-25d.bin | 128 MB | 0x6050b114 | db9f63ca1b46d18fb835496bfffe608a |
Cisco 3660 | c3660-a3jk9s-mz.124-25d.bin | 192 MB | 0x606071f8 | 4ac7e947f13c189d746149dc74992890 |
c3660-a3jk9s-mz.124-15.T14.bin | 256 MB | 0x6076e0b4 | 39950b7a563aa08e94a168260409f1e6 | |
Cisco 2691 | c2691-adventerprisek9-mz.124-25d.bin | 192 MB | 0x60a48cb8 | a8e1f5821d87456595488d6221ce42e5 |
c2691-adventerprisek9-mz.124-15.T14.bin | 256 MB | 0x60bcf9f8 | 91388104d7276ad09204e36d2dfcf52d | |
Cisco 3725 | c3725-adventerprisek9-mz.124-25d.bin | 128 MB | 0x602467a4 | ac3d313d3caff5beeee244b81d2c024c |
c3725-adventerprisek9-mz.124-15.T14.bin | 256 MB | 0x60c09aa0 | 42baf17af10d9a1471bf542f0bfd07c7 | |
Cisco 3745 | c3745-adventerprisek9-mz.124-25d.bin | 256 MB | 0x60aa1da0 | 563797308a3036337c3dee9b4ab54649 |
c3745-adventerprisek9-mz.124-15.T14.bin | 256 RAM | 0x602701e4 | a696619869a972ec3a27742d38031b6a | |
Cisco 7200 | c7200-adventerprisek9-mz.152-4.M7.bin | 512 MB | 1fe8d7d82cb8261a7487d543f172b985 | |
c7200-a3jk9s-mz.124-25g.bin | 256 MB | 3a78cb61831b3ef1530f7402f5986556 | ||
c7200-adventerprisek9-mz.124-24.T5.bin | 256 MB | 0x606df838 | 3c4148f62acf56602ce3b371ebae60c9 |
Cisco IOS
Cisco IOSの特定バージョンの機能を調べるなど、特別な目的が無い限り、Cisco 7200ルータの使用が推奨されます。
また、SVI(VLAN)インターフェイスを使用する場合には、NM-16ESW
モジュールを取り付けたCisco 3725を使用することが推奨されています。
- 参考:Cisco Feature Navigator, https://cfn.cloudapps.cisco.com/ITDIT/CFN/jsp/SearchBySoftware.jsp
- 参考:Dynamips用のCisco IOSイメージ, https://docs.gns3.com/1-kBrTplBltp9P3P-AigoMzlDO-ISyL1h3bYpOl5Q8mQ/index.html
Cisco IOSの名前は、最大7つの主要フィールドとそれに続く.bin拡張子で構成されています。
[Platform]-[Feature Set]-[Memory location][Compression format].[Train number]-[Maintenance release].[Train identifier].bin
show version
コマンドの出力結果は、次の通りです。
Cisco IOS Software, 7200 Software (C7200-ADVENTERPRISEK9-M), Version 15.2(4)S6, RELEASE SOFTWARE (fc1)
- 参考:Cisco IOSバージョンと命名の概要, http://www.ciscopress.com/articles/article.asp?p=2106547
環境情報
今回、GNS3のインストールを行うmacOS X環境は、次の通りです。
$ sw_vers
ProductName: macOS
ProductVersion: 12.6.1
BuildVersion: 21G217
OS XバージョンのGNS3にはオールインワンパッケージがありません。このため、必要なパッケージを1つずつインストールする必要があります。
アプリケーション | バージョン | Download from... |
---|---|---|
GNS3 | Version 2.2.35.1 | https://github.com/GNS3/gns3-gui/releases/ |
GNS3 VM | VMware Workstation and Fusion Version 2.2.35.1 | https://www.gns3.com/software/download-vm |
Wireshark | 4.0.1 Intel 64 | https://1.eu.dl.wireshark.org/osx/ |
VMware Fusion | 13.0.0 | https://www.vmware.com/jp/products/fusion/fusion-evaluation.html |
Cisco IOSルータを使用し基本的なGNS3トポロジだけを作成したい場合には、ローカル(Dynamips)インストールで十分です。すなわち、GNS3 GUI(GNS3-2.2.35.1.dmg
)のみをインストールし、GNS3 VM(GNS3.VM.VMware.Workstation.2.2.35.1.zip
)ならびに、VMware Fusion
を使用しないことを意味します。
- 参考:GNS3 WorkBench, https://rednectar.net/gns3-workbench/
インストール
Wiresharkのインストール
ダウンロードしたWireshark 4.0.1 Intel 64.dmg
を使用してmacOSにインストールします。
手順
1 Wireshark 4.0.1 Intel 64.dmg
ファイルをダブルクリックして開きます。ディスク イメージの内容が表示されます。
2 Finder ウィンドウで、[Wireshark] アイコンを [アプリケーション] フォルダにドラッグします。
VMware Fusionのインストール
詳細は割愛します。
- 参考:Fusion のインストール, https://docs.vmware.com/jp/VMware-Fusion/11/com.vmware.fusion.using.doc/GUID-ACC3A019-93D3-442C-A34E-F7755DF6733B.html
- 「VMware Player」を使用するには、追加のフリーソフトウェア(
VMware VIX
), https://www.vmware.com/support/developer/vix-api/をインストールする必要があります。
GNS3のインストール
ダウンロードしたGNS3-2.2.35.1.dmg
を使用してmacOSにインストールします。
手順
2 Finder ウィンドウで、[GNS3] アイコンを [アプリケーション] フォルダにドラッグします。
- 参考:macOS Sierra: 開発元が未確認のアプリケーションを開く, https://support.apple.com/kb/PH25088?locale=ja_JP
GNS3 VMの仮想イメージをインストール
ダウンロードしたGNS3.VM.VMware.Workstation.2.2.35.1.zip
を任意の場所に展開します。
[注意]GNS3とGNS3 VMのバージョンを必ず一致させてください。
手順
1 展開されたファイルにGNS3 VM.ovf
が含まれていることを確認します。
注釈:OVF(Open Virtualization Format)とは、規格化された仮想マシンのファイルデータの集まりです。
2 VMware Fusionを起動します。[インポート] ウィザードを開きます。これを行うには、[ファイル] メニューの [インポート] を選択します。
3 インポートするパッケージ(GNS3 VM.ovf
)を選択し、[続ける] をクリックします。
4 仮想マシンの構成が完了しました。
と表示されれば終了です。
GNS3 VMのアップグレード
すでにGNS3 VMを使用している場合、[Upgrade]メニューから最新バージョンへ更新することが可能です。
1 GNS3 VMを起動し、ステータス表示画面[Display VM information]を表示させ[OK]を選択。
3 警告メッセージが表示される。アップグレード前に失敗時に備えて仮想イメージのスナップショットを取得するように推奨されています。スナップショットを取得後に、[Yes]を選択。
PLEASE SNAPSHOT THE VM BEFORE RUNNING THE UPGRADE IN CASE OF FAILURE. The server will reboot at the end of the upgrade process. Continue?
4 更新後のバージョンを選択。ここでは、「v2.2.11」を選択します。
GNS3 VMセットアップウィザード
手順
1 GNS3の初回起動時にGNS3セットアップウィザードが表示されます。セットアップウィザードは、[ファイル] メニューの [Help] > [Setup Wizard] を選択していつでも手動で起動することができます。
[オプション] Don't show this again
チェックボックスをオンにすると、セットアップウィザードの表示を無効にできます。
2 セットアップウィザードで、Run appliances in a virtual machine
を選択し、[Next]をクリックします。
3 GNSのローカルサーバ設定を行います。gns3server
ファイルへのパスが正しいことを確認し、[Host binding:]と[Port:]を選択します。設定変更を行っていない場合、これらの項目は初期設定のままで問題ありません。[Next]をクリックします。
4 接続確認画面が表示されます。成功したら[Next]をクリックします。
5 使用する仮想化ソフトウェア(Virtualization software:)を選択します。この例では、VMware(recommended)
が選択されています。
セットアップウィザードは、VMware Fusion
にGNS3 VM
が存在することを検出します。GNS3 VM
が表示されていない場合は、[Refresh]ボタンをクリックして、GNS3 VM
がVMware Fusion
に正しくインポートされたことを確認してください。
vCPU cores:
とRAM size:
の値を変更し、[Next]をクリックします。
[重要] 使用可能なcCPUコアと、RAMは、使用しているPCの物理的なサイズの半分程度を設定するのが望ましいです。
6 セットアップウィザードはSummary
ページを表示します。Please Wait
と表示される場合があります。これは、GNS3がGNS3 VMを起動しているためです。[Finish]ボタンをクリックして、作業が完了です。
New templateのセットアップ
手順
1 GNS3セットアップウィザードは、New template
ウィンドウを表示します。New template
は、[ファイル] メニューの [File] > [New template] を選択していつでも手動で起動することができます。
Install an appliance from the GNS3 server (recommended)
を選択肢、[Next]をクリックします。
2 Appliances from server
ウィンドウが表示されます。ここには、使用できるさまざまなApplianceが一覧表示されます。最新の情報を表示させるため、Update from online registry
ボタンをクリックします。
3 Appliance情報の更新が完了すると、Appliances are up-to-date!
ウィンドウが表示されます。[OK]をクリックし、閉じます。
4 ここでは、c7200-adventerprisek9-mz.124-24.T5.bin
のイメージをインストールします。Routers
を選択し、Cisco 7200
を選択して[Install]をクリックします。
5 Server
ウィンドウが表示されます。Install the appliance on the GNS3 VM (recommended)
を選択し、[Next]をクリックします。
6 Required files
ウィンドウが表示されます。Allow custom files
チェックボックスをONにし、c7200-adventerprisek9-mz.124-T5.image
を選択します。[Import]ボタンをクリックし、あらかじめダウンロードしておいたc7200-adventerprisek9-mz.124-T5.bin
のファイルを選択します。
Allow custom files
チェックボックスをONにした場合、次の警告が表示されます。内容を確認し、[Yes]をクリックします。
7 ダウンロードしておいたc7200-adventerprisek9-mz.124-T5.bin
とGNS3上のハッシュ値データベースにおけるc7200-adventerprisek9-mz.124-T5.image
のMD5ハッシュ値の値が異なるため、警告画面が表示されます。[Yes]をクリックし、先に進みます。
8 Required files
ウィンドウにおけるStatus
項目の値がReady to install
に変わっていることを確認し、[Next]をクリックします。
9 Would you like to install Cisco 3660 version 124-15.T14?
が表示されます。[Yes]をクリックします。
10 Usage
ウィンドウが表示されます。The template will be available in the router category.
の表示を確認し、[Finish]をクリックします。
11 Cisco 3660 124-15.T14
テンプレートの作成成功を示すウィンドウが表示されます。
トラブルシューティング
GNS3ならびにGNS3 VMのバージョンを更新した際に、[Servers Summary]においてGNS3 VMインジケーターがグリーンにならない問題に遭遇しました。
この状態で「New templateのセットアップ」を試みた場合、次のエラーが表示されます。
Error while getting the list of remote images: Cannot connect to compute 'GNS3 VM (GNS3 VM)' with request GET /dynamips/images
同様の問題に遭遇した場合のチェック項目について、次に記載します。
- ホストマシンからGNS3 VMに対してpingを実行し、疎通確認を行う。
-
GNS3 VM preferences
においてポート番号の設定が正しいことを確認する。
プロジェクトの作成
手順
1 New project
ウィンドウが表示されます。新しいプロジェクトに名前を付けて、[OK]をクリックします。
3 Devices
ツールバーに注目してください。このツールバーでは機能別にデバイスを分類しています。プロジェクトへデバイスノードを追加するには、Devices
ツールバーのアイコンをクリックし、設定済みデバイスのリストを表示させ、デバイスをワークスペースにドラッグします。
ツールバーのデバイスタイプは、左から順に次のとおりです。
- Routers
- Switches
- End Devices
- Security Devices
- All Devices
- Add a Link
4 All Devices
アイコンをクリックし、先ほどセットアップを行ったCisco 3660 124-15.T14
テンプレートをワークスペースへドロップします。
5 Second Group
、Third Group
ツールバーに注目してください。このツールバーでは機器の制御を行います。Start/Resume all devices
ボタンをクリックし、ワークスペースにドロップしたR1
ルータを起動します。
ツールバーの制御機能は、左から順に次のとおりです。
- Snapshot
- Show interface labels
- Console connect to all devices
- Start/Resume all devices
- Suspend all devices
- Stop all devices
- Reload all devices
6 Console connect to all devices
ボタンをクリックします。R1
ルータのコンソールが立ち上がります。これで、無事、完了です。おつかれさまでした。
あとは、自由に実験するネットワークトポロジーを作成することができます。
まとめ
「GNS3」はGPLv3ライセンスで配布されているオープンソースソフトウェアです。実ネットワークに影響を与えること無く、柔軟にネットワークの実験を行うことができます。
インストールを終えたら、まずは3つのルータから構成されるネットワークトポロジーを作成してみてください。
GNS3に用意されているVPCS
(Virtual PC Simulator)や、追加インストールを行ったWireshark
を使えば、より複雑なトポロジーに対する実験や、ネットワークパケットをキャプチャする検証が可能です。
引き続き、次の記事も参照いただければ幸いです。
- VLAN間ルーティング - Router on a Stick, https://qiita.com/v_avenger/items/85a4db548dbe090141c5
- Cisco スイッチに対するVLANとEIGRPを使った設定, https://qiita.com/v_avenger/items/b1a0b2afe82d949f2a17