GNS3 Windows版の使い方

Contents


GNS3 (Graphical Network Simulator)はCisco IOSのエミュレータで、Ciscoルータの動作確認ができます。Cisco IOSのエミュレータですので、IOSのバグも含め実機と同じコマンドの動作確認が可能です。GNS3は教育用途やCCIE試験対策用途として語られる事が多いですが、私は実務でも簡易的な動作確認用途としても使っています。

以下、Windows環境におけるGNS3 最新バージョン(version 1.3,1)の使い方について説明します。なお、以下のスクリーンショットはGNS version 1.1のものも含まれていますが、version 1.3.1でも同様の手順でGNS3を使う事ができます

新バージョン or 旧バージョン

新しいversion 1.3.1は便利な便利な新機能もあれば不具合もあります。また、旧version 0.8.7の頃のプロジェクトファイルとの互換性がありませんので、バージョンアップすべきかは慎重に考えた方が良いです。

もし、旧version 0.8.7を使用したい場合は、以下URLのSourceForgeからダウンロードする事ができます。

なお、version 1.3.0から、旧versionの設定ファイルを新versionの形式へ変換するコンバーターの機能が搭載されました。しかし、リリースノートから判断すると不具合が枯れているとは思えないので、新versionへ乗り換える場合は切り戻しに備えバックアップを取得する事をお勧めします。

GNS3とは

GNS3とはCisco IOSのエミュレータです。正確に言えば、以下のソフトウェアをGUIで操作するソフトウェアで、ネットワークのエミュレートを行なっているのはdynamipsです。

ソフトウェア概要
dynamipsCisco IOSなどをエミュレートするソフトウェアです。
winpcapパケットキャプチャを行なうためのAPIです。後述のwiresharkを使用するために必要です。
wiresharkパケットキャプチャソフトです。
response time viewerネットワークパフォーマンスを可視化するためのツールです。
vpcsVirtual PC Simulatorというソフトウェアです。ping, tracerouteなどのコマンドを実行できる最小限の仮想マシンです。
puttyターミナルソフトのひとつです。
super puttyputtyをタブブラウザかのように使えるようにする機能です。

なお、これらソフトウェアの構成の把握は必須ではありません。非常に便利なUIになっているし、それほどトラブルも発生しないので、中身を理解しなくてもある程度はGNS3を使用する事ができます。

GNS3のインストール

GNS3のダウンロード

まずGNS3公式サイトへアクセスします。現時点(2014/11/08)の公式サイトURLは以下の通りです。

GNS3をダウンロードするには、コミュニティへの参加が必要になります。ますは会員登録しましょう。「JOIN THE COMMUNITY」を押下して下さい。

gns3_download_001

「登録」を押下します。

gns3_download_002

Facebookアカウントをお持ちの方は「facebook」を押下して下さい。Facebookアカウントをお持ちではない方は「メールアドレス」を入力して下さい。

gns3_download_003

以上の操作でGNS3 コミュニティへのログインができました。ログインができましたら、Software, Downloadの順に押下します。

gns3_download_004

お使いのOSに合わせてボタンを押して下さい。対応OSは、Windows, Debian 系 Linux, Macです。Redhat 系 Linuxは対応していない事に注意して下さい。

gns3_download_005

以上の操作で「GNS3-1.2.3-all-in-one.exe」をダウンロードする事ができました。

GNS3のインストール (1)

先ほどダウンロードしたexeファイルを実行し、GNS3のインストーラーを起動させます。

Welcome画面です。「Next」を押下します。

gns3_install_001

ライセンス同意画面です。「I Agree」を押下します。

gns3_install_002

スタートメニューの名前を指定する画面です。そのままの状態で「Next」を押下します。

gns3_install_003

インストールするコンポーネントの選択画面です。デフォルト設定で特に困る事はございませんが、「SolarWinds Response Time View」のチェックを外す事をお勧めします。このソフトウェアはインストール時にメールアドレスを聞いてくるので、インストール作業がやや面倒になります。

コンポーネントの選択が完了しましたら、「Next」を押下します。

gns3_install_004

インストールするディレクトリの指定です。そのまま「Next」を押下します。

gns3_install_005

しばらく待つと以下のような画面で、インストーラーが固まります。

gns3_install_006

これ以降は、WinPcapなどのGNS3が必要とするコンポーネントのインストーラーが別ウィンドウで立ち上がります。

WinPcapのインストール

WinPcapはパケットキャプチャを行なうためのWindowsライブラリです。これはパケットキャプチャソフトwiresharkに必要となるライブラリです。

GNS3インストールの過程で以下のような画面が立ち上がっているはずです。以下WinPcap SetUp画面で、「Next」を押下します。

gns3_winpcap_install_001

ライセンス同意の画面です。「I Agree」を押下します。

gns3_winpcap_install_002

“Automatically start the WinPcap driver at boot time”にチェックが入った状態で、「Next」を押下します。

gns3_winpcap_install_003

「Finish」を押下して下さい。

gns3_winpcap_install_004

wiresharkのインストール

続いてwiresharkのインストール画面が立ち上がります。

Welcome画面です。「Next」を押下します。

gns3_wireshark_install_001

ライセンス同意画面です。「I Agree」を押下します。

gns3_wireshark_install_002

インストールするコンポーネントを選択します。デフォルト設定のまま、「Next」を押下します。

gns3_wireshark_install_003

ショートカットや拡張子の関連付け設定です。特にこだわりがないのならば、そのまま「Next」を押下します。

gns3_wireshark_install_004

インストールするディレクトリの指定です。そのまま「Next」を押下します。

gns3_wireshark_install_005

WinPcapをインストールするかどうかの画面です。上記手順の場合は、既にWinPcapインストール済のはずですので、「Install WinPcap」のチェックを外すと手間をひとつ減らせます。

「Install WinPcap」のチェックを外した状態で、「Next」を押下します。

gns3_wireshark_install_006

インストールが完了するまで待ちます。

gns3_wireshark_install_007

「Finish」を押下し、インストールが完了です。

gns3_wireshark_install_008

Response Time Viewerのインストール

Response Time Viewerはネットワークパフォーマンスを可視化するツールです。もちろん、無料です。

何らかのメールアドレスを入力して下さい。もし、ニュースレターを受け取るのがイヤならば、10 minute mailなどの使い捨てメールアドレスを使用しましょう。

gns3_response_time_viewer_install_001

スタートアップ画面です。「Next」を押下します。

gns3_response_time_viewer_install_002

ライセンス同意画面です。「I Accept the terms of the License agreement」にチェックを入れ、「I Agree」を押下します。

gns3_response_time_viewer_install_003

インストールディレクトリの画面です。そのまま「Next」を押下します。

gns3_response_time_viewer_install_004

「Next」を押下します。

gns3_response_time_viewer_install_005

インストールが完了するまで待ちます。

gns3_response_time_viewer_install_006

「Finish」を押下しインストールを完了させます。

gns3_response_time_viewer_install_007

GNS3のインストール (2)

以上のGNS3に関連するソフトウェアのインストールが完了しましたら、GNS3のインストーラーの画面に再び戻ってください。以下のようにインストールのプログレスバーが進行し、「Next」ボタンが押下できるようになっています。

「Next」を押下します。

gns3_install_007

GNS3のインストールが完了すると、「Solrwinds Standard Toolset」のライセンスを入手するかどうかを問われる画面が開きます。GNS3ユーザ限定で、200$相当のSolrwinds Standard Toolsetのライセンスを無料で使えるそうです。

この画面では明示的に書かれていませんが、「Toolset F.A.Q」をよく読むと、2015/07/09までの使用期限があるようです。私は「無料期間終わったぞ、金払え、金払え」との催促が来る予感がしたので、「No」を選択しました。Solrwinds Standard Toolsetに興味のある方は、「Yes」でも良いでしょう。

gns3_solarwinds_license_001

「Finish」を押下し完了です。

gns3_install_008

GNS3の設定

Cisco IOSのダウンロード [必須]

GNS3はCisco IOSのエミュレータです。ですので、動作させるにはCisco IOSを入手しなければなりません。Cisco IOSはライセンスの入手方法は以下のような方法があります。

  • Cisco 公式サイトからダウンロード ( Cisco認定パートナー勤務の方 限定)
  • Ciscoの代理店からIOSを購入
  • ヤフオクなどで実機を購入し、実機からIOSを吸い出す
  • google先生にCisco IOSの入手方法を聞く

実機購入の場合は、IOSのバージョンやエディションに注意して下さい。IP BASEのような基本機能のIOSを購入しても、CCIEの試験対策にはなりません。

search_cisco_ios_001

Cisco IOSの設定 [必須]

GNS3を起動し設定を行ないます。

GNS3を起動すると、 以下のようにプロジェクト名を問われる画面が現れます。GNS3はネットワークエミュレートの環境をプロジェクトという単位で保存します。プロジェクトに何らかの名前を入力して下さい。

configure_dynamips_001

GNS3が起動しましたら、「Edit」, 「Preferences」の順番で押下します。すると、設定画面が起動します。

configure_dynamips_002

「Dynamips」, 「IOS routers」の順で選択し、「New」を押下して下さい。この操作により、IOSの設定ができます。

configure_dynamips_003

Cisco IOSの設定画面では、まずCisco IOSへのファイルパスを聞かれます。適切なファイルパスを設定して下さい。

configure_dynamips_004

Cisco IOSのファイルパスを指定すると、ファイル名に応じてPlatformとChassisが自動的に設定されます。Nameも自動的に設定されますが、デフォルト設定のc3600のような名前ではすぐに名前の重複が発生してしまうので、重複のない名前に変更しましょう。私の場合は、NameにIOSファイル名を指定するルールにしています。

Nameの入力が完了しましたら、「Next」を押下します。

configure_dynamips_005

ルータに割り当てるメモリを選択します。慣れないうちは、デフォルト設定のまま「Next」を押下しましょう。

configure_dynamips_006

ルータに装着するアダプタを選択します。この設定により、イーサネットやシリアルケーブルの差込口をエミュレートできます。慣れないうちはイーサネットアダプタ4つの「NM-4E」をお勧めします。

configure_dynamips_007

Idle-PCの設定画面が現れます。ネットワークをエミュレートする時にCPU使用を抑える設定がIdle-PCです。「Idle-PC finder」を押下し、Idle-PCが計算されるまで待ちます。

configure_dynamips_008_01

Idle-PCの値が設定された事を確認し、「Finish」を押下します。

configure_dynamips_008_02

設定が完了すると、以下のようにルータのアイコンが表示されます。もし、複数種類のCisco IOSを使用する場合は、「New」を押下しCisco IOSの設定を繰り返します。

configure_dynamips_009

複数種類のCisco IOSを設定する場合は、以下のような画面になります。

configure_dynamips_010

Cisco デフォルトのディレクトリ指定 [任意]

GNS3の設定画面で「General」の「General」タブを見ます。すると、プロジェクトの配置場所(My projects)やCisco IOSの配置場所(My binary images)のディレクトリを変更する設定があります。

もし、デフォルト設定が使いづらいと感じる方は、適宜デフォルトのディレクトリを変更して下さい。

configure_project_path_001

コンソール(ターミナルソフト)の設定 [任意]

GNS3のデフォルト設定は、黒背景にオレンジ文字のターミナルが起動されます。これはputtyのskin 4の設定です。

configure_terminal_001

この画面が使いづらいと感じる人もいるかもしれません。そのような方は、お好みのターミナルソフトの設定をGNS3に組み込む事ができます。

コンソール(ターミナルソフト)の設定 – putty以外を使用する場合 [任意]

putty以外のターミナルソフトを使用したい場合は、「General」の「Console applications」タブを押下します。Preconfigured commandsでお好みのターミナルソフトを選択し、「Set」ボタンを押下して下さい。

以下スクリーンショットはTera Term 64bitを使用する場合の設定例です。 ( 最新版 version 1.2.3 では、デフォルト設定のTeraTerm実行コマンドに不具合がありますので手作業による修正が必要です。詳しくは後述のTipsをご覧ください。 )

configure_terminal_002

Console applicationsの設定を変更すると、以下スクリーンショットのようにデフォルトで使用されるターミナルソフトが変更されます。

configure_terminal_003

コンソール(ターミナルソフト)の設定 – putty skin 変更 [任意]

puttyは使いたいけど、デフォルトの「黒背景オレンジ文字」を変更したい場合は、以下のように–skinで渡す引数を変更して下さい。例えば「–skin 0」とした場合は、「黒背景白文字」になります。

configure_terminal_004

以下スクリーンショットのように、puttyの色が変化します。

configure_terminal_005

コンソール(ターミナルソフト)の設定 – putty 設定変更 [任意]

puttyの文字サイズやログなどのデフォルト設定を変更したい場合は、GNS3組み込みのputtyに対して設定変更を行ってください。GNS3から呼び出されるのは、puttyインストーラーによって導入されたputtyではなく、GNS3組み込みのputtyです。

GNS3がインストールされたディレクトリを調べるとputty.exeが存在する事が分かります。このputty.exeの”Default Settings”を変更する事によって、GNS3から呼び出されるコンソールの挙動を変える事ができます。

configure_terminal_006

ルータの初期設定(startup-config) [任意]

GNS3によって起動されるルータは、”no ip domain-lookup”, “logging synchronous”などのルータ初回起動時に毎回手作業で入力するコマンドが自動的に設定されています。このように、ある程度便利な初期設定がデフォルトの状態で組み込まれています。

この初期設定の正体は、IOSの設定画面を見ると確認できます。デフォルトの場合は、”configs\ios_base_private-config.txt”に書かれた設定を読み込みます。

configure_router_initial_001

“configs”という相対パス表記は、GNS3のインストールディレクトリから見た相対パスです。デフォルト設定の場合は、”C:\Program Files\GNS3\configs”が絶対パスになります。この初期設定のテキストファイルを変更する事によって、ルータの初期設定を変更する事ができます。

デフォルトの状態の初期設定は以下の通りです。

デフォルトの状態でも充分便利ですが、CCIE トラブルシューティングの練習をする時などは、”no logging console”などを入れておくと良いかもしれません。

VirtualBoxの設定 [任意]

syslog, snmp, netflowなどのIP Serviceの分野を学習するにあたり、WindowsやCentOSなどのサーバと連携させないと動作確認ができません。物理的なサーバと連携させるのは非常に手間ですので、多くの人はVMware Player, VirtualBoxの仮想化ソフトウェアを用いて動作確認を行っています。

数ある仮想化ソフトウェアのなかで、GNS3はVirtualBoxとの連携が強化させています。GNS3はボタンひとつで直感的操作でVirtualBoxとCiscoルータを連携させる事ができます。VirtualBoxと連携させるには、設定画面で「VirtualBox」,「VirtualBox VMs」の順に押下します。

configure_virtualbox_001

「VM list」の中から使用したいVMを選択し、「Finish」を押下します。

configure_virtualbox_002

設定が完了すると、以下のようにVMが表示されます。

configure_virtualbox_003

syslog, snmp, netflowなどのIP serviceの分野はサーバ側との連携になりますので、このようにVirtualBox等を使用しないと動作確認ができません。

実際のCCIE試験のIP service分野は、サーバ機器は存在せず、configが想定通りかで採点されます。とは言っても、日頃の学習において自分が書いた設定が想定通りかどうか確認できないのはとても不安と思いますので、私はVirtualBox連携の方法は会得した方が良いと考えています。

GNS3 基本的な操作の流れ

GNS3は、ネットワークをエミュレートする環境を「プロジェクト」という単位で保存します。プロジェクト新規作成, 作成済プロジェクトの起動などの基本的な操作を説明します。

プロジェクトの新規作成

プロジェクトを新規作成するには、デスクトップ上の”gns3.exe”へのショートカットをダブルクリックします。

create_project_001

すると、以下のようにプロジェクト名を問われるダイアログが表示されます。何か適切なプロジェクト名を入力し、「OK」を押下します。

なお、ここで「Cancel」を押下すると、プロジェクト名の決定を後回しにする事ができます。

create_project_002

プロジェクトの基本的な操作

ルータの配置

画面左側のルータのアイコンをクリックします。すると、”c3640″などのIOSの設定が完了したルータが表示されます。私用したいルータを中央へドラッグ&ドロップします。

create_project_003

ルータ間の結線

ルータ間の結線を行なうには、まず画面左側のケーブルのアイコンをクリックします。すると結線のモードに遷移します。

この結線のモードでルータR1を選択すると、インターフェースの一覧が表示されます。接続したいインターフェースを選んで下さい。

create_project_004

片側ルータR1の結線が完了している状態で、もう一方のルータR2を選択します。すると、インターフェースの一覧が表示されますので、接続したいインターフェースを選んでください。

create_project_005

結線のモードを終了させるには、もう一度、画面左側のケーブルのアイコンをクリックします。

create_project_006

ルータの起動

ルータを起動させるには、ルータの右クリックメニューで「start」を選択して下さい。または、画面上部の「再生」ボタンでもルータの起動が可能です。

create_project_007

コンソール接続

コンソール接続をするには、ルータの右クリックメニューで「Console」を選んでください。画面上部のコンソールボタンでも同様にコンソールを起動させる事ができます。

create_project_008

コンソールが立ち上がった状態のスクリーンショットは以下の通りです。

create_project_009

プロジェクトの保存

プロジェクトを保存するにはまず「write memory」を行なって下さい。実機同様に保存されるのはNVRAMのみです。write memoryを忘れると、今まで投入した設定は消えてしまいます。

create_project_010

Ctrl + Sでプロジェクトを保存する事ができます。また、「File」, 「Save Project」からでもプロジェクトの保存が可能です。

create_project_011

作成済プロジェクトの起動

「File」, 「Open Project」の順に押下します。

create_project_012

gns3という拡張子のファイルを選択し、「開く」を押下します。

create_project_013

GNS3のリリースノートを見るとversion 1.2.1以降では、gns3ファイルのダブルクリックでプロジェクトの起動が可能な旨が記載されています。しかし、version 1.2.1でgns3ファイルをダブルクリックしても”This node isn’t initialized. Unknown error.”とのエラーが出力されるだけです。今度のバグ修正に期待しましょう。

パケットキャプチャの使用

パケットキャプチャを使用するには、リンクの右クリックメニュー「Start Capture」を押下します。

how_to_capture_001

キャプチャするインターフェースを選択し、「OK」を押下します。

how_to_capture_002

キャプチャが開始され、以下のような画面が表示されます。

how_to_capture_003

GNS3の使い方

Ethernet Hubの使い方

Ethernet Hubはパケットを単純に転送するだけの、いわゆる「ばかハブ」です。後述のEthernet Switchと異なりVLANを定義する事ができません。

Ethernet Hubを使用するには、スイッチのアイコン(矢印のアイコン)を押下し、スイッチのメニューを表示させます。その後、「Ethernet Hub」をドラッグ&ドロップします。

gns3_tutorial_hub_001

Ethernet Switchの使い方

Ethernet SwitchはVLANを定義できるスイッチです。

Ethernet Switchを使用するには、スイッチのアイコン(矢印のアイコン)を押下し、スイッチのメニューを表示させます。その後、「Ethernet Switch」をドラッグ&ドロップします。

gns3_tutorial_switch_001

スイッチの右クリックメニューで「configure」を押下します。

gns3_tutorial_switch_002

以下のような画面で、VLANを定義する事ができます。

gns3_tutorial_switch_003

動作確認のため、以下のようなIPアドレスを付与し、疎通確認を行いましょう。以下の設定例は、CCNAの教材で有名な「Router on a Stick」の設定例です。

gns3_tutorial_switch_004

各ルータに以下のような設定を投入します。

設定ファイル全文は以下の通りです。

R1からR2, R3への疎通可能な事を確認します。

Frame Relay Switchの使い方

Frame Relay Switchとはフレームリレー環境において、DLCI(フレームリレーにおえるLayer 2 アドレス)にも基づいたスイッチングを行なう機器です。レガシーな技術なので使う機会は少ないと思いますが、2014年時点でまだ少しは需要が残っているので、念のための説明を行ないます。

フレームリレーによるカプセル化はイーサネットケーブルではサポートさせいません。フレームリレーを使用するにはシリアルケーブルが必要です。GNS3環境でフレームリレーを使用するには、シリアルケーブルに対応したモジュールをルータに装着する必要があります。

ルータ機器を選択した状態で、右クリックメニュー「Configure」を押下します。

gns3_tutorial_frame_relay_001

ルータにシリアルケーブルが装着可能なモジュールを取り付けます。Slotsタブで、「NM-4T」などのモジュールを選択して下さい。末尾が「T」であるモジュールがシリアルケーブルのモジュールです。

gns3_tutorial_frame_relay_002

ルータの接待が完了しましたら、Frame Relay Switchを配置します。「矢印」アイコンを押下した後に、「Frame Relay switch」をドラッグ&ドロップします。

gns3_tutorial_frame_relay_003

スイッチの右クリックメニューで「configure」を押下します。

gns3_tutorial_frame_relay_004

frame relay のスイッチングについて定義します。Mapping欄が以下のようになるように編集し、「OK」を押下します。

gns3_tutorial_frame_relay_005

「ケーブル」のアイコンを押下し、結線を行ないます。

gns3_tutorial_frame_relay_006

動作確認のため、以下のようなIPアドレスを付与し、疎通確認を行います。

gns3_tutorial_frame_relay_007

各ルータに以下のような設定を投入します。

設定ファイル全文は以下の通りです。

LMIにより、Frame Relayのマッピング情報が自動的に作成されている事を確認します。

R1からR2, R3への疎通可能な事を確認します。

Hostの使い方 – (1) ホストOSとの接続

ホストOSと接続するのは、Loopback Adapterを使用するのがお勧めです。物理的なNICや無線アダプタを使用してもホストOSと接続できますが、接続可能なのはリンクアップしている時のみです。ですので、PCの状態に依存せず安定した動作確認環境を作るためには、Loopback Adapterを使いましょう。以下、Loopback Adapterを用いたホストOSとの接続方法を説明します。

Loopback Adapter Windows7への追加」の手順を元に、Loopback Adapterを追加します。追加したLoopback Adapterは「ローカルエリア接続(2)」のような意味のない名前ではなく、予め何か分かりやすい名前に変更して下さい。

gns3_tutorial_loopback_001

Loopback Adapterに対して適当なIPアドレスを付与します。以下のスクリーンショットはLoopback Adapterに”192.168.0.100/24″を付与する例です。

gns3_tutorial_loopback_002

Loopback Adapterの設定が完了しましたら、次にGNS3を起動します。

ホストOSと接続するには、右側の「PC」のアイコンを押下した後に、「Host」をドラッグ&ドロップします。

gns3_tutorial_loopback_003

結線の操作をする際は、Loopback Adapterを表すNICを選択します。

gns3_tutorial_loopback_004

動作確認のため、以下のようなIPアドレスを付与し、疎通確認を行います。

gns3_tutorial_loopback_005

各ルータに以下のような設定を投入します。

設定ファイル全文は以下の通りです。

コマンドプロンプトを起動し、ホストOSからGNS3への疎通が可能である事を確認します。

gns3_tutorial_loopback_006

GNS3 Cisco IOU / IOL 連携

Cisco IOU / IOL とは

Cisco IOU ( IOS on Unix ) / IOL ( IOS on Linux )とは、Unix/Linuxサーバ上で動作させる事ができるCisco IOSです。現時点(2014年)では、Cisco社員と教育パートナーのみで使用可能な限定的なソフトウェアですが、非常に便利なのでライセンス入手可能かどうか検討してみましょう。

Cisco IOU / IOLの優れている点は以下の通りです。

  • NM-16ESWでは検証できないRSTP, MST, etherchannelなどの動作確認ができる
  • GNS3に比べて動作が安定している
  • idlepcを設定する手間がない
  • CCIE v5 試験範囲であるIOS 15.2(T)が比較的容易に手に入る ( 詳細はgoogle先生に聞いてみましょう )

GNS3とCisco IOU / IOLを連携させるのは非常に手間ですが、一度、連携の設定を行なえば、検証の幅がぐっと広がるはずです。

Cisco IOU / IOL – 仮想イメージの入手

GNS3プロジェクトでは、Cisco IOU / IOLの仮想OSのイメージをライセンス上の問題がない範囲で公開しております。ソースコードやRPMからCisco IOU / IOLを構築するのは非常に手間ですので、仮想イメージを使う事をお勧めします。

仮想イメージを手に入れるため、SourceForgeのGNS3プロジェクトを訪れます。「Files」を押下して下さい。

gns3_tutorial_cisco_iou_001

「IOU VMs」をダウンロードして下さい。

gns3_tutorial_cisco_iou_002

Cisco IOU / IOL – 仮想イメージのインポート

先ほどの仮想イメージを仮想化ソフトウェアにインポートします。以下、VMware Playerにインポートする手順を示しますが、VirtualBox等の他の仮想化ソフトウェアでも問題なく動作します。

VMware Playerを起動し、「仮想マシンを開く」を押下します。

gns3_tutorial_cisco_iou_003

先ほどダウンロードした仮想イメージのテンプレート(ovaファイル)を開きます。

gns3_tutorial_cisco_iou_004

「インポート」を押下します。

gns3_tutorial_cisco_iou_005

場合によっては以下のようなエラーメッセージが表示されるかもしれません。そのような場合は、「再試行」を押下して下さい。再試行する場合は、チェックが緩和されるためインポートに成功する事があります。

なお、OVFテンプレート内にCDドライブの設定が含まれているため、CDドライブを備えていないマシンの場合は必ずエラーが出力されます。

gns3_tutorial_cisco_iou_006

インポートが完了するまで待ちます。

gns3_tutorial_cisco_iou_007

インポートしたマシン「GNS3 IOU VM」を選択した状態で、「再生」ボタンを押下します。

gns3_tutorial_cisco_iou_008

CDドライブを備えていないマシンの場合は、以下のようなエラーメッセージが表示されます。無視して差し支えないエラーメッセージですので、「いいえ」を押下します。

gns3_tutorial_cisco_iou_009

VMが正常に起動し、ログインプロンプトが表示される事を確認します。

gns3_tutorial_cisco_iou_010

Cisco IOU / IOL – IOS のアップロード

Cisco IOU / IOLは、IOU / IOL専用のCisco IOSを使用します。使用するIOSは、以下のように「linux」という名前がついています。

  • i86bi_linux_l2-ipbasek9-ms.may8-2013-team_track
  • i86bi_linux-adventerprisek9-ms.152-4.M1

適切な手段で、IOU専用のCisco IOSを入手して下さい。 ( 他のブログでも同様の事を述べていますが、間違っても、4sharedの使い方やbittorrentの使い方を私に聞かないで下さい。お答えできかねます。 )

IOSをアップロードするために、まずは仮想マシンのIPアドレスを調べます。仮想マシンのコンソールを開き、以下ログイン情報を使用してログインします。

  • ユーザ名 ; root
  • パスワード : cisco

gns3_tutorial_cisco_iou_011

「ifconfig」コマンドでIPアドレスを調査します。もし、IPアドレスが付与されていない場合は、仮想化ソフトウェアの設定を見直しましょう。「GNS3 IOU VM」はVMware Playerの環境を前提として作成されているので、VirtualBox等の他仮想化ソフトウェアを使用する人は若干の設定変更が必要となると思います。

gns3_tutorial_cisco_iou_012

「GNS3 IOU VM」は8000番ポートで、IOSをアップロードする画面を備えています。以下のURLをブラウザで開いてください。VMware Playerを利用する人は注意不要ですが、VirtualBoxを使用する方はポートフォワード設定などにも注意を払いましょう。

  • http://<ip address>:8000/upload

「参照」ボタン, 「upload」ボタンを用いてCisco IOSをアップロードします。

gns3_tutorial_cisco_iou_013

アップロードが完了すると、以下のように表示されます。

gns3_tutorial_cisco_iou_014

Cisco IOU / IOL – ライセンスキーの発行

Cisco IOU / IOLはライセンスが必要となります。ライセンスはホスト名とUUIDに基づいて発行されます。この手順の場合は。仮想OS「GNS3 IOU VM」のホスト名とUUIDに対してライセンスを発行する必要があります。ライセンスキー発行の詳細については、GNS3 forum [SOLVED] IOU License Issueのディスカッションを参照ください。

ライセンスが発行されましたら、以下のようなiourc.txtというテキストファイルを作成します。作成するディレクトリは任意の場所で差し支えございません。

GNS3を起動し、Edit, Preferencesの順で押下します。

gns3_tutorial_cisco_iou_015

IOS on UNIX, General settingsの順に押下し、ライセンスファイル(iourc.txt)へのファイルパスを指定します。

gns3_tutorial_cisco_iou_016

Cisco IOU / IOL – GNS3 設定

Cisco IOU / IOLをGNS3で使用できるように設定します。GNS3を起動し、Edit, Preferencesの順で押下します。

gns3_tutorial_cisco_iou_017

GNS3 server, Remote serversの順で押下します。Cisco IOU / IOLがインストールされた仮想マシンのIPアドレスをポート番号を指定します。

gns3_tutorial_cisco_iou_018

IOS on UNIX, IOU devicesの順に押下し、「New」を押下します。

gns3_tutorial_cisco_iou_019

「Remote」が選択された状態で、「Next」を押下します。

gns3_tutorial_cisco_iou_020

「OK」を押下します。

gns3_tutorial_cisco_iou_021

Name, IOU imagesを入力して下さい。TypeにはL2 imageかL3 imageのいずれかを指定します。設定が完了しましたら、「Finish」を押下します。

gns3_tutorial_cisco_iou_022

同様の手順を繰り返し、必要な分だけCisco IOSへのファイルパスを設定します。設定が完了しましたら、「OK」を押下します。

gns3_tutorial_cisco_iou_023

Cisco IOU / IOL – 使い方

L2スイッチ、またはL3スイッチを使用するには、左側の「矢印」アイコンを押下し、スイッチ機器をドラッグ&ドロップします。

gns3_tutorial_cisco_iou_024

ルータ機器を使用するには、左側の「ルータ」アイコンを押下し、ルータをドラッグ&ドロップします。

gns3_tutorial_cisco_iou_025

動作確認のため、以下のようなIPアドレスを付与し、疎通確認を行います。

gns3_tutorial_cisco_iou_026

各ルータ/スイッチに以下のような設定を投入します。

設定ファイル全文は以下の通りです。

R1/SW1間で疎通可能な事を確認します。

gns3_tutorial_cisco_iou_027

Cisco IOU / IOL – 設定ファイルの保存とエクスポート

Cisco IOU / IOLをGNS3で使用する場合は、設定ファイルの保存方法とエクスポート方法について注意が必要です。

よく使用する”write memory”, “copy run st”コマンドですが、このコマンドは仮想マシン上のバイナリファイルとして保存されます。具体的に言うと、仮想マシン上のプロジェクトディレクトリ配下の”nvram_00001″というファイルにバイナリ形式で保存されます。

もし、後から設定ファイルを振り返りたい場合は、UNIXファイルシステムに対して設定を保存します。Cisco IOU / IOLをGNS3で使用する場合はエクスポート機能が存在しませんので、代わりに「copy run uninx:<file_name>」というコマンドを使用します。

R1.cnfというファイルが作成された事を確認します。

Cisco IOU / IOL – 不要ファイルの削除

Cisco IOU / IOLには不要ファイルを削除する機能が整っていません。以下のようにプロジェクトが保存されるディレクトリを調べると不要ファイルが残る構造になっている事が分かります。

以下のように、適宜、不要ファイル削除(ゴミ掃除)を行なってください。

Tips

version 0.8.7 と version 1.X の 設定ファイルの違い

正直残念で仕方ないのですが、GNS3 version 0.8.7とversion 1.Xは互換性がありません。version 0.8.7とversion 1.Xでは設定ファイルの形式が異なります。

 version 1.1version 0.8.7
拡張子.gns3.net
ファイル形式JSONINI

新バージョンを使うメリット

アダプタ装着設定の手間削減

version 0.8.7の頃は、プロジェクト作成のたびにNM-4Eなどのアダプタ装着設定を行なわなければなりませんでした。しかし、version 1.1では、Cisco IOSとアダプタの設定を紐付ける事ができるので、version 0.8.7で一番ストレスフルだったアダプタ設定作業の手間を削減する事ができます。

パケットキャプチャが便利

version 0.8.7のパケットキャプチャは、capture start, capture stopの操作を行なってからパケットを観察する操作になっていました。しかし、version 1.1では”tail -F”のようにリアルタイムでパケットを観察する事ができます。

新バージョンを使うデメリット

toolメニューが一切使えない

version 1.1の画面上部メニュー「tools」を押下しても一切反応が返ってきません。version 0.8.7の頃は、Windows Loopback Adapterの作成など便利なツールを使う事ができました。

gns3_tools

今まで作成したプロジェクトファイルとの互換性を切り捨てられたしまった

version 0.8.7まではdynagenと互換性があるINIファイル形式で、version 1.0からはJSON形式になってしまいました。以前作成したINI形式のファイルを新バージョンのGNS3では起動する事ができません。

過去の資産を有効活用するには、INI/JSON変換のコンバーターを書くしかなさそうです。

多言語対応していない

version 0.8.7の頃は多言語対応のメニューがありましたが、versoin 1.0以降は多言語対応がありません。version 0.8.7までは、もちろん日本語化も可能でした。

version 1.2.3 TeraTerm実行コマンド不具合

version 1.2.3の場合、自動生成されるTeraTerm実行コマンドは以下の通りです。/Mオプションで渡されるTeraTermマクロのファイルパスが相対パスになっているため、「ttstart.macro」というファイルを見つける事ができません。そのため、TeraTermの起動に失敗します。

マクロは単に改行を1回行なっているだけの処理なので、マクロを削除しても差し支えないでしょう。以下のようにマクロ指定を削除する事でTeraTermの起動が可能になります。

もちろん、マクロの指定を絶対パスに変更する修正方法でも差し支えございません。

免責事項

このページのCisco IOL/IOUに関する記述はGNS3 Jungleのフォーラムに書かれている情報を全てまとめた物です。私にはライセンスを入手する権利が存在しないため、実際に動作確認を行ったわけではございません。

ブログ記事Router Reflector : Cisco IOU Web Interfaceによると、Cisco IOL/IOUはCisco社内ツールです。Cisco勤務以外の方がIOL/IOUを使用するのは、法律上グレーゾーンです。

動作確認環境

動作確認を行った環境は以下の通りです。

  • 動作確認日 : 2015/04/18
  • Windows 7 64bit ( レッツノート CF-J10)
  • GNS3 version 1.3.1
  • dynamips 0.2.14
  • Wireshark 1.12.1
  • WinPcap 4.1.3
  • Oracle VirtualBox 4.3.18

シェアする

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

フォローする

コメント

  1. syauichi より:

    神林さん

    ご連絡が遅くなってしまい申し訳ございません。お問い合わせありがとうございます。
    さぞかし苦労しているようですね。

    ここまで頑張って環境を整備できないならば、「GNS3インストール済のVM(仮想サーバ)を使う」などの他の手段を考えた方が良さそうです。ここ3か月程GNS3の最新動向をチェックしていないので今現在の状況は不明ですが、2012年,2013年頃はGNS3インストール済のVM(Ubuntu)が出回っていました。

    私もVMを探してみますが、もし出回っていないようでしたら、私がVMを作って神林さんにお渡しします。恐らく神林さんと同じような現象で悩んでいる方も多いと思いますので。

    頂いた情報のみではトラブルの原因は分かりませんが、考えられるトラブルの原因を以下に列挙します。
    1. Firewallの設定によりDynamipsに接続できない
    2. 何らかの設定誤り(例えばpythonなどの実行環境)により、Dynamipsが起動できない
    3. アンチウィルス製品やディスク暗号化製品との相性の悪さ (勤務先PCを使う場合は要注意。私も今の勤務先ではGNS3は使えません)
    4. ポート番号の重複

    このようなトラブル原因が考えられますが、恐らくGNS3のVMを使う事を検討した方が近道かと思います。

  2. 神林 茂雄 より:

    初学者で一人で学んで居る者です 拝見させて頂いて大変ためになって感謝申し上げます
    冒頭書きましたように基本的なことが分かっていないのでかなり的外れな質問になっているかも
    しれないことを最初にお詫びしておきます
    GNS3のオフィシャルサイト質問欄にほぼ同じことかいてありました
    またおなじ問題に突き当たっているという人が25人おりました
    しかし返答はありません
    別の所ではfirewallを外す。。。ようなことも書いてありましたがにわかに信用できません
    私が突き当たっている「問題」は内容は以下の通りです
    「 Could not connect to server: [WinError 10061] No connection could be made because the target machine actively refused it”.」
    恐らくきわめて単純なものかあるいは。。まったく分からず使えていたGNS3が使えなくなり困っております
    iOSはc7200です 新規versionでも大丈夫でしたのですが さまざま失敗を繰り返してinstall繰り返しているうちに
    うまくいかなくなりました
    お忙しいところ恐縮でございますがぜひお教えくださいませ どうぞよろしくお願い申し上げます

    • syauichi より:

      神林さん

      ご連絡が遅くなってしまい申し訳ございません。お問い合わせありがとうございます。
      さぞかし苦労しているようですね。

      ここまで頑張って環境を整備できないならば、「GNS3インストール済のVM(仮想サーバ)を使う」などの他の手段を考えた方が良さそうです。ここ3か月程GNS3の最新動向をチェックしていないので今現在の状況は不明ですが、2012年,2013年頃はGNS3インストール済のVM(Ubuntu)が出回っていました。

      私もVMを探してみますが、もし出回っていないようでしたら、私がVMを作って神林さんにお渡しします。恐らく神林さんと同じような現象で悩んでいる方も多いと思いますので。

      頂いた情報のみではトラブルの原因は分かりませんが、考えられるトラブルの原因を以下に列挙します。
      1. Firewallの設定によりDynamipsに接続できない
      2. 何らかの設定誤り(例えばpythonなどの実行環境)により、Dynamipsが起動できない
      3. アンチウィルス製品やディスク暗号化製品との相性の悪さ (勤務先PCを使う場合は要注意。私も今の勤務先ではGNS3は使えません)
      4. ポート番号の重複

      このようなトラブル原因が考えられますが、恐らくGNS3のVMを使う事を検討した方が近道かと思います。

  3. 藍井 より:

    GNS3インストールするにあたり参考にさせていただきました。
    丁寧に解説してあり非常に参考になりました。ありがとうございます。手順どおり設定しましたが、初期設定終了後に
    ルータの配置したところ以下のエラーがあり、ルータを配置できませんでした。(ルータのアイコンが赤く表示されます)
    IOSのイメージファイルはcatalyst2600です。その他必要情報あればコメントお願いします。
    お手数ですがご存じであればご教示お願いします。
    以下メッセージです。
    Server error [-3200] : Bad number of parameters (3 with min/max=2/2)cygwin warning:
    MS-DOS style path detected: c:\users\kazushi~1\appdata\local\temp\gns3-absnt4-files\dynamips
    Preferred POSIX equivalent is: /cygdrive/c/users/kazushi~1/appdata/local/temp/gns3-absnt4-files/dynamips
    CYGWIN environment variable option “nodosfilewarning” turns off this warning.
    Consult the user’s guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames

    • syauichi より:

      藍井様

      このエラーメッセージは初見なので誤った推測かもしれませんが、GNS3ではなくcygwinのエラーかと思います。環境変数CYGWINに”nodosfilewarning”を追加してみて頂けますでしょうか。手順は以下ブログを参照下さい。

      http://takuya-1st.hatenablog.jp/entry/20110423/1303586388

      もし、上記の手順で解消されないならば、以下3点についてお調べ頂けますでしょうか。
      – 環境変数PATHにcygwinへの設定が含まれているか
      – cygwin版pythonを使っているか
      – 以前 cygwin版dynamipsをインストールし、過去の設定が残っているリスクはないか。
      エラーメッセージから推測するに、これら設定が悪さをしている可能性があります。GNS3は内部的にpythonを使用するため、pythonの設定は注意して見る必要があります。