【ネットワーク入門】
ネットワークに関する勉強は実践が一番。
でもネットワークスイッチなんて持ってないよね普通。
TCP/IP, UDP, Ethernet, IEEE802.11x, L2, L3, ...
現代のSEにはネットワークに関する知識は必須だったりしますが
本で読んだだけでは分かったつもりになっていても
いざ通信障害がおきたら何もできない。座学だけでは
実際はなかなか正確な知識が身についていないものです。
やっぱり実機を使って体で覚えていくのが一番早道なんだけど
実機なんかそうそう持ち合わせていませんよね。
そこでGNS3というエミュレータソフトを使ってパソコン1台で
実践練習をしようという記事です。
GNS3はシスコのネットワークスイッチの中身のソフト
(iOSといいます。iPhoneと名前がかぶってしまってますね)
をパソコン上で動かすことができるソフトです。
GNS3に関する情報は巷に結構出回っていますが
情報が散在してしまっているので
まとめた資料を作りました。
これからネットワークエンジニアを目指している人の参考になればと思います。
特に学生さんのために。
それでは長文ですが以下どうぞ↓↓↓↓
すぐに使えるGNS3
GNS3というのは、PC上でネットワークトポロジを作成してシミュレーションを行える優れも
ののフリーソフトウェアです※。トポロジ上に配置するルータやスイッチには本物のCISCO製
品を使用でき※、実物さながらの操作ができるのでCISCOの資格取得を目指した勉強には最強
のツールだと思っています。
※ 正確に言うとそれら機能はDynamipsという優れもののフリーソフトウェアが持ってい
るものです。GNS3はそれをグラフィカルにして操作性を向上させたフロントエンドだ
ということになります。
※ CISCOのルータ/スイッチに搭載された本物のソフトウェア(iOSと呼ばれています)
を、ハイパーバイザという名前のエミュレータを使ってWindows上で動かすことができ
ます。
実機をイジることなくネットワークの理解を深めることはかなり根性のいる作業だと思います。
パソコンを持たない人にネットサーフィンのやり方を教えるのは相当難しいだろうな~、とい
うのは想像に難くないですよね? そのせいか、ずっと以前からGNS3の存在はネットワークエ
ンジニアを目指す人たちの間でも話題となっており、誰しも一度は聞いたこと/使ってみよう
とトライしたことがあるんじゃないかと思います。が、実際に使いこなすところまでこぎつけ
た人にはなかなかお会いしたことがありません(ネット上にはたくさんいますがね。ただやっ
ぱりどこか情報が断片的だったりして、L2L3の勉強用に使えるところまでこぎつけるにはパソ
コン玄人でも暫くの試行錯誤が必要、有益な情報の大半は英語なのでそれもまた壁となる、な
どなどまだまだ簡単にはいかない状況です)。
ここでは、私がなんとかかんとかモノにしたGNS3の使い方をご説明致します。わかってしまえ
ば至極簡単な話です。
その前に
ネットワークの勉強は無料のここ↓から始めると良いです。
http://www.infraexpert.com/
ネット上で見つけた無料教材の中ではピカイチな、すごくわかりやすい解説をしてくれてます。
0.ソフトの用意
・以下のフォルダを作って下さい。
C:\CISCO\GNS3
C:\CISCO\Images
C:\CISCO\Projects
※海外製のフリーウェアや、UNIX/Linuxに慣れた人なんかにはピンと来る話かと思いますが、
フォルダ名に半角スペースが入ったり、日本語名のファイルやフォルダを使うこと自体がトラブ
ルの種です。外人さんは日本語版のPCを使ってテストしたわけじゃないですからね。極力日本語
は使わないのが安全です。でもインストーラが Program Filesをデフォルトで指定している場合
なんかはいちいち逆らわず従えば良いです。
・以下のファイル(GNS3アプリそのもの)を探し、ダウンロードしてGNS3下に置きます。
GNS3-0.8.2-all-in-one.exe
・自己責任でCISCOスイッチのiOSイメージファイルを探し、ダウンロードしてImages下に置きます。
ここに結構ある→http://noir-es.cocolog-nifty.com/blog/2016/07/gns3cisco-ios-4.html
↓以下の文言なんかで検索しても結構見つかる。
c2600-i-mz.123-22.image
c3620-p-mz.120-28.3.S.image
c3640-jk9s-mz.124-16.image
c3640-telco-mz.124-23.image
c3725-advipservicesk9-mz.124-16.image
c3745-adventerprisek9-mz.124-25.image
c3745-ik9s-mz.123-16.image
c7200-ik9s-mz.124-16a.image
c7200-jk9s-mz.124-13b.image
c7200p-spservicesk9-mz.124-15.T3.image
1.インストール
C:\CISCO\GNS3\GNS3-0.8.2-all-in-one.exe
をダブルクリックしてインストールを開始します。
ほぼほぼ言われるがまま、デフォルト設定でインストールしていきます。
WinPcap(パケットキャプチャソフト)のインストールも勝手に始まります。
Wireshark(WinPcapをグラフィカルに使いやすくするフロントエンドアプリ)のインストールも勝
手に始まります。
インストールはこれで完了です。
2.初回起動~設定
デスクトップにGNS3のショートカットが出来ているのでダブルクリックして起動します。
セットアップは3ステップに分けて順に行っていく流れとなります。
Step1:GNS3が内部で使用するDynamipsというプログラムがPCのどこに入っているかを定義してあげます。
Step2:GNS3が動かすCISCOスイッチのソフトウェア(iOS)がどこに入っているかを定義してあげます。
Step3:Step2で指定したiOS置き場フォルダ中の、どのiOSファイルを使うかを指定します。
先ずはStep1ボタンを押します。
現れた画面に最初から設定されている内容はいじらず、「Test Setting」ボタンを押してみて下さい。
緑文字で「Dynamips xxx-xxx successfully started」と表示されればOKです。前述のインストール方法
をきちんと守っていればエラーになることは無いです。
続いてStep2ボタンを押します。
Step2ではiOSの入っているフォルダを指定します。iOSは「イメージファイル」という形式の*.imageや
*.binといった拡張子を持つファイルです。「0.ソフトの用意」の項でCドライブ直下に置いたCISCO
フォルダ下(C:\CISCO\GNS3\Images)にiOSイメージファイルを置いてもらいました。そのディレクト
リを指定します。ついでに私が過去に作ったラボ※もProjectフォルダに同封してありますので
Project directoryはそこに指定しておいて下さい。
※ラボ ・・ GNS3で作ったシミュレーションのことをラボと呼んだりします。
Preference画面の 「GUI Setting」タブにて 「Always use manual mode when adding links」をチェック
しておきます。これは、トポロジー作成時にどのポートとどのポートを接続するかをGNS3に自動決定 “させなく”
する設定です(その都度どこに接続するかを聞いてくるようになります)。自動決定なんてさせない方が便
利なので。
Step3ボタンを押します。
どのiOSイメージファイルを使うかを指定する画面です。
「Image file」と書かれた部分の右側ボタンを押し、
iOSイメージファイルを選択します。
C7200、C3600、とシリーズ別(プラットフォーム別)に使用するiOSイメージファイルを指定できます。
で、実際に指定をしてみると、画面下に赤字でWorningと表示されると思います。これは後述する
「Idle PCの設定」を必ず実施して下さいね、と言う警告です。iOSイメージファイルを指定したら、
プラットフォーム毎に最低1度はその「Idle PCの設定」という作業を行う必要があるからです。
やらないとどうなるか?それはCPU使用率が100%でぶんマワることになります。Idle PCとは何か?
それは良くわかりません。ただ、設定手順だけはハッキリしています。とにかくオマジナイとして必ず
実施するようにして下さい。
Idle PCの設定
例えば、前出でC7200シリーズのiOSとしてイメージファイルの登録を行ったとします。
その場合、メイン画面左(部品画面)からRouter C7200をマウスドラッグし、
メイン画面中央(トポロジ表示エリア)にドロップします。これでC7200シリーズのルータ
※を一つ作ったことになります。
※文中でルータ/L2スイッチ/L3スイッチの表記が混在していて解りづらいかと思いますのでちょっと補足します。
ルータ/L2スイッチ/L3スイッチ、本来それらは別のものです。
ルータはその昔、TCP/IP以外の通信プロトコルもまだバリバリ現役だったころに、TCP/IPとその他の
プロトコルの間をとりもつ機器として存在していました。ルータの仕事はTCP/IPで用いるIPアドレスと、
例えばX25プロトコルで用いるDTEアドレス、双方に基づいたデータの仕分け作業でした。
やがて世の中がTCP/IP一色になり、TCP/IPの世界の中でセグメント間をとりもつ機器であるL3スイッチだ
けで十分な世の中になってきました(広域ネットワークすらTCP/IPで通信している)。L3スイッチの仕事
はIPアドレスに基づいたデータの仕分け作業です。
L2スイッチは基本的にはIPアドレスに基づいた作業をする機器ではありません。MACアドレスに基づいたデータ
の仕分けが主な仕事です。
しかしながらご存知の通り、L2スイッチが完全にMACアドレスだけに頼って仕事をしているわけではありません。
L3スイッチと同様、IPヘッダの中をのぞき見て情報を取り出すこともしています。その意味でL2スイッチとL3ス
イッチの機能はだいぶ重なりを持っています。
憶測も含む話ですが、CISCOのルータ製品のiOSには上記したTCP/IPを制御できる機能が入っており、その機能
の中にはIPヘッダを取り扱うL3的な機能も、MACヘッダを取り扱うL2的な機能も、ほぼ出し惜しみなく入って
います。このことが重要です。本来GNS3は「CISCOのルータ製品のiOSをエミュレートできるソフト」として登
場したものですが、構成を工夫することでルータにL2相当の動作をさせることが出来てしまうわけです。CISCO
のiOSだからこそ成せる技であります。そんなわけで、GNS3の画面上ではRouterと表記されているものの、
L2やL3として扱うことができる、だからこの3つの言葉が入り混じってしまう、といったことになっているわけです。
ご了承ください。
作成したルータを右クリック→Startを選択します。これでルータに電源が入ったことになります。
実際にiOSが動き出すわけです。
CPU使用率を見てみると結構高いです。2つも起動したらもう100%になっちゃうでしょう。
ルータ右クリック→Idle PCを選択します。
なんだか計算が始まってPCがムムムッとなり、暫くするとポンッと以下のダイアログが表示されます。
何だかわかりませんが難しそうな情報がプルダウンメニューでリストアップされます。この例では2つ
だけ表示されていますが、もっといっぱい表示されることもあります。その時々です。そして、リスト
アップされたうちの「左端に*マークが表示されている行」を選択します。この例では表示されていま
せんのでCancelしてやり直します。
ルータ右クリック→Consoleを選択します。開いたこのコンソールからは、当該ルータを操作することが
できるわけですが、この状態でIdle PCの計算を実施すると*マークのついた行が表示されやすいからです
(これは私の経験による話です)。
もう一度Idle PCを選択してみます。
良い結果が得られました。*マークのある行を選択します。
すると、CPU使用率がすごく少なくなりました。
登録したIOS毎に実施する必要があるので、今回の例では上記を3回繰り返して下さい。
また、以後新たなIOSを登録する際はその都度必ず実施しておいて下さい。
後述しますが、iOSはNM-16ESWを装填した場合より、NM-1FE-TXを装填した場合の方が処理負荷が高くなります。
逆に言うとNM-1FE-TXを装填した状態で上記IdlePCの調整を行うのがさらにベターな方法です(ここではまだ
意味がわからなくて良いです。後でまたここを読み返して下さい)。
試しにいくつかのルータを配置してみます。
3つ起動して10%ならマズマズです。
メイン画面右上の×ボタンを押して終了します。
以下のダイアログが出ますが保存する必要はないのでNoで終わります。
3.使ってみる
デスクトップのショートカットをダブルクリックしてGNS3を起動します。
プロジェクトを作りましょうというダイアログが表示されます。
適当な名前をつけ、Save nvram and virtual hard drivesに必ずチェックを入れてOKします。
プロジェクトの保存場所は前出ですでに指定した場所になっています。
好きなプラットフォームのルータを1つ配置します。
先ず行うべきことはルータに名前をつけることです
(いろいろやった後で変更すると壊れる可能性があります)。
右クリックからChange the hostnameを選択します。
適当に名前をつけます。日本語を使うことはお勧めしません。
次にやるべきは、作ったルータにどんな拡張ボードを装着させるかを指定することです。
最初は通信ポートが1つも搭載されていないモデルのルータもあります。
ルータ右クリック→Configureを選択します。
L2,L3スイッチをシミュレートさせたい場合はNM-16ESWモジュールを装着します
(ポートに対してswitchportコマンドが使える、IPアドレスはVLANに振る)。
ルータ、PCをシミュレートする際はNM-1FE-TX等を装着します(ポート自体にIPアドレスがふれる)。
NM-16ESWを選択した場合は以下のダイアログが表示されます。
接続ポート自動決定はできませんよという意味なのですが、既に前出で毎回マニュアル選択
するように設定済みなので問題ありません。OKします。
拡張ボードとしてNM-16ESW(100Base-Tを16ポート持ったデバイス)を搭載する設定が完了しました。
OKで閉じます。
それでは、具体的なトポロジーを組んでみたいと思います。
前で説明した通りC3700をドラッグ&ドロップで4つ配置し、2つはNM-1FE-TXを装着させてPCを模擬させ、
残り2つはNM-16ESWを装着させL2スイッチとL3スイッチを模擬させてみます。
2つのVLANを用意し、それぞれにPCを1つ配備、L3を使ってルーティングさせようという計画です。
メモ書きはこのツールで行います。
スイッチ間を接続します。
このボタンを押してからどれかスイッチをクリックすると接続ポート選択メニューがプルダウンされるので、
1つ選びます。
続いて接続先のスイッチをクリックし、同じ様に接続ポートを指定します。
こんな感じで繋がります。まだスイッチを起動していないのでポート状態が赤丸で表示されています。
この調子で全部を繋ぎます。このボタンを押しておくと接続ポートが表示されてわかりやすいです。
1こづつスイッチを起動し、コンソールを開いてコンフィグをしていきましょう。
※機器を停止する前には必ず 「Save」 メニューを実行する癖をつけましょう。
忘れると設定の一部(VLANに関する部分)が消えてしまうことがたまにあります。
特にスペックの低いPCで動かしていた場合。
PC1のコンフィグです。
次はL2スイッチをコンフィグしてみます。
L3についてもコンフィグしてみます。
ここまで出来たら、
PC1からPC2へセグメントを超えたpingを実行してみます。
うまく動いたなら L3SW_01におけるルーティングが機能していることが確認できたことになります。
出来あがったこの設定は、全体で「ラボ」と呼んだりします。研究室という意味ですね。
この状態でGNS3右上の×ボタンを押すと、
「現状のトポロジーを保存しますか?」と聞くダイアログが表示されるので、Yesを選択します。
すると、Projectsフォルダには最初に指定したプロジェクト名でフォルダが作られており、
その下にトポロジーファイルと呼ばれるtopology.netというファイルと、configs, workingの2つの
フォルダが出来あがっています。これらをまとめて「プロジェクト一式」と呼んだりします。
トポロジーファイルをダブルクリックすれば ”プロジェクト” が開き、先ほどの “ラボ” が使え
る状態になります。なんだか言葉が入り組んでいますが、
「GNS3のラボ、どんなの持ってる?」
「こないだVRRPのラボ作ってみたよ」
「いいねぇそれ、俺もいじってみたい、チョーダイチョーダイ」
「OK。じゃあプロジェクト一式を送るね」
みたいな会話をしてみて下さい。
4.コツ
GNS3に高負荷をかけると設定がセーブされず吹っ飛んでしまったり、設定がセーブ出来ない謎のプロ
ジェクトに成り果ててしまったりします。
なので、低スペックPCで取り扱う際には「まとめて停止」や「まとめて起動」のボタン使用は避けると良いです。
おわり
|
|