企業活動の重要なインフラとなったネットワークを検証するのは難しい。エンジニアにとって自由に使えるラボでもあればよいが、なかなか難しいのも事実。しかし、ルーターのエミュレーター「GNS3」があれば、大規模なネットワークの検証も可能になる。
大規模なラボじゃなくてもネットワーク検証を可能にする方法って?
昔々、今から20年ほど前のこと。インターネットそのものが自由に遊べる「砂場」だった時代があった。若手のネットワークエンジニアがルータやスイッチ、サーバーをつないであれこれ設定を試し、多少失敗しても、「あれ、落ちちゃった」で大目に見てもらうことができた牧歌的な時代だった。こうした失敗を通じて、エンジニアは腕を磨いていくことができたのだ。
だが今はまるで違う。インターネットは、日常生活やビジネスに不可欠なインフラとして機能しており、ネットワークサービスの停止は多大な影響を及ぼす。中には厳密にSLAが定められたサービスもあり、ほんの少しの停止や遅延ですら、金銭的な損害につながってしまう恐れもある。ネットワーク設定の変更作業は手順書に沿って進めなければならず、エンジニアが好奇心の赴くまま手を動かせる場ではなくなってしまった。
だが一方で、必要不可欠なインフラだからこそ、ネットワークを新規に構築したり、構成を変更する際には、事前の検証作業が欠かせない。変更しても既存のサービスやシステムへの影響はない、ということが分かって初めて、変更を実運用環境に反映することができる。
目をWebサービスの世界に向けてみると、そんなことは当たり前だ。仮想マシンを活用して新規サービスのプロトタイプを作成したり、実環境とそっくり同じ構成で構築したテスト環境で事前検証を行なう、といったことが気軽に行なわれている。
これに対してネットワークの世界はどうだろうか。ベンダーやシステムインテグレーターが機器を揃えた検証用ラボを提供してくれることもあるが、予約手続きや予算の面で気軽に使えるとは言い難い。ちょっとした動作検証や設定内容の確認を行ないたくても、そう簡単には行なえないのが現状だ。
Webサービスの世界と同じように、ネットワーク機器についても自由にテストし、検証できる方法はないだろうか? それを可能にしてくれるのが、ネットワークエミュレーターの「GNS3」(Graphical Network Simulator)だ。GPLv3の元で配布されているフリーソフトウェアで、誰でも無償でダウンロードできる。
PC上でネットワーク機器をエミュレートし、自在に操作できる「GNS3」
GNS3は、PCや仮想マシン上でネットワーク機器、具体的にはシスコを始め各社のネットワーク機器をエミュレーションするソフトウェアだ。PC上で仮想的に複数のIOSを動作させてネットワーク環境を作り、その上でさまざまな変更や検証作業を行なうことができる。実ネットワークへの悪影響を心配することなく、自由に操作できることが特徴だ。
作成した仮想ルーターには、通常のルーターと同様にコンソール経由でログインし、さまざまなコマンドを入力して操作を行える。設定を変更するとどんな影響が生じるか、どんな情報・ログが出てくるかといった事柄を事前に確認できるようになっている。必要に応じて、現実世界のハードウェアやネットワークトポロジと接続し、検証やテストを行うことも可能だ。
サポートするOSはWindows 7以降やMac OS X 10.9(Mavericks)以降、Linuxとなっている。メモリ4GB、ストレージ容量は1GB以上が必要だが、最近のスペックのPCならば十分と言えるだろう。別途、IOSのライセンスを用意する必要があるが、ルーターをまるごと用意するのに比べれば少ない手間とコストで、自由に使える検証環境を用意できる。
日本語での技術情報も提供されているGNS3
現時点での最新バージョンは1.4。ベースとなる仮想マシンのアップグレードに加え、マーケットプレイスで提供されているアプライアンスのインストールが容易になったほか、リモートパケットキャプチャのサポートなど、多くの機能が追加されている。
GNS3のもう一つの用途としては、ネットワークエンジニアの教育が考えられるだろう。世の中、全てのネットワークエンジニアが自宅にラックを設置できるわけではない。GNS3とPCが一台あればCiscoルータを再現し、その上で自由に操作を行い、必要なスキルを身に付けることができる。「GNS3 Academy」には、有償、無償のネットワークスキル学習コースが用意されており、ルーティングの基本からIPv6、SDNといった最新の技術までを、手を動かしながら学習できるようになっている。
なお、日本国内ではソーラーウインズ・ジャパンの技術コミュニティサイト “Thwack”で、導入方法を知ることができる。
(提供:ソーラーウインズ)