NW機器エミュレータ「GNS3」導入してみた
NW機器のエミュレート(主にCisco IOS)をしたくなったので、GNS3を自宅のWindows 10環境に導入。その際の備忘録をまとめておきます。
GNS3のインストール
公式HPから自分のOSに合ったインストーラをダウンロードしてインストール。初めての人はアカウント登録必須。インストーラは基本デフォルト設定のままでOK。Solarwinds(NWとDBの監視・管理ツール)のライセンスを取得はNoを選択。
GNS3 VMのダウンロードと展開
GNS3はローカルにサーバ立ててそこにアクセスする形で動作している模様。そのため、GNS3 VMを仮想化ソフトに展開する必要がある。
ココからGNS3 VMをダウンロード。仮想化ソフトに合ったものをダウンロードする。VMwareが推奨されている。VMware Workstation Proも事前にインストールしておく必要がある(試用版が30日無料)。なお、無料版のWorkstation Playerだと、GNS3が認識してくれなかったので、Proではないとダメな模様。それか、動作速度が大幅に落ちる(らしい by 公式)VirtualBoxで行うと良いかも。
「仮想マシンを開く」からダウンロードしてきたGNS3 VMを展開する。
GNS3の環境構築
GNS3を起動すると立ち上がる"Setup Wizard"で、一番上の「Run modern IOS」を選択して進む。 Local serverの設定はそのままでOK。先程展開したGNS3 VMと紐付け。設定値はデフォルトのままでOK。そのままで進んでFinish。そのあと出てくるポップアップはCancelをクリック。
Cisco IOS ダウンロードとインストール
ココからCiscoのアカウント登録をする。登録時に会社名登録するとメールアドレスを会社のものにしないと弾かれるので、登録時はblankでOK。ログイン後、個人>プロファイル管理で会社名を登録する。会社名登録しないとIOSダウンロードできません。ある程度入力すると会社名と住所を自動補完してくれるので(やるやん)、クリックして確定。今回は、CSR1000VのOSをダウンロードする。コチラから一番下にあるものをダウンロード。
VMware Workstation Proの「新規仮想マシンの作成」からダウンロードしてきたIOSをソースとして仮想マシンを作成(名前はCisco CSR1000V)。OSはLinux、バージョンはその他のLinux 4.x以降のカーネル(64 ビット)を選択。メモリは4096MBに変更する。ネットワークアダプタをNATからVMnet2に変更する。VMnet2とVMnet3がない場合があるので、その際は仮想ネットワークエディタで作成しておく。
ひととおり、設定が完了したらパワーオン。「Would you like to enter the initial configuration dialog? [yes/no]: 」でnoを選択し、しばらく待ってEnter押して Router> 表示になったら完了。
同様に、もう一台仮想マシンを作成。名前はCisco CSR1000V2で、ネットワークアダプタはVMnet3。起動確認完了したら、両方ともシャットダウン。
GNS3でCSR1000Vを設定
GNS3の Edit > Preferences を開く。左のメニューからVMware VMsを選択し、Newをクリック。Server typeは「Run this VMware VM on my local computer」(てかこれしか選べない)。VM listからCSR1000Vを選択しFinish。同じ手順でCSR1000V2も追加する。
これでルータの起動準備が完了したので、Projectを作成する。File > New blank project から作成。
左のメニューからアイコンが4つまとまっている部分もクリックして、Installed applianceを選択。CSR1000VとCSR1000V2が一覧に出てくるので、これを画面中央にD&D。そしてStartボタンをクリックして起動。右のNodeのインジケータが緑色になれば起動完了。
ここで、Windowsのファイアウォール(FW)設定を確認する。GNS3に対してFWの例外許可をしていないと、このあとでエラーが頻発する。Private/Public両方とも許可しておく。
疎通テスト
CSR1000V(RT1とする)に192.168.12.1/24を、 CSR1000V2(RT2とする)に192.168.12.2/24を割り当てる。
RT1側には以下の設定を行う。
Router> en
Router# conf t
Router(config)# hostname RT1
RT1(config)# interface gigabitEthernet 1
RT1(config-if)# ip address 192.168.12.1 255.255.255.0
RT1(config-if)# no shutdown
RT1(config-if)# end
RT1# copy running-config startup-config
RT2側にも同じように設定を行う。
この時点でRT1からRT2にpingを実行しても疎通しない。結線されていないからである。
GNS3で左のケーブルアイコンをクリックして、CSR1000Vをクリックしてインターフェースを指定(今回はEthernet 0)してクリック、そして CSR1000V2をクリックしてインターフェースを指定(今回はEthernet 0)してクリックすると結線される。
この状態でpingを飛ばすと疎通する。
なかなかメモリ食うので、RAM 16GBだったら3台くらいが限界かな…
ディスカッション
コメント一覧
まだ、コメントがありません