ESXi 上の VM で動作している GNS3 を経由して別 NW の VM に接続する。

今回はESXi上の仮想マシンにGNS3をインストールして遊びます。
気軽に始めてみましたが、接続完了に至るまでいくつかドハマりしたとこがあったので手順を簡単にまとめてみます。

■GNS3とは

GNS3はCiscoルータのエミュレーションソフト「Dynamips」をGUIで操作するための無償のフロントエンドツール。このツールを使用すると単一のマシン上でCiscoルータを動作させることが可能。(ただしCatalystシリーズは非対応)シミュレータではなく本物のIOSを使用するため、シュミレータだからこのコマンドは使えないなんて制約も少ない。IOSはどうにか手に入れるしかないので、頑張って準備します。オークション等で実機を安く購入して、IOSを吸い出すのが一番確実かも。

■ESXi

VMware社から提供されている仮想マシンを稼働させることができるハイパーバイザ。機能制限があるが無償で利用することができる。

■GNS3より更に奥に別のNW,VMを配置して通信する。

GNS3を使用すれば仮想ルータを一台のhost上で動作させることができます。でもただトポロジ作っておしまいじゃつまらないので、実際に使用するサーバのトラフィックをGNS3上の仮想ネットワークを経由させてみました。完成図はこんな感じです。

GNS3が動作しているWindows7 VMの下にvSwitchをぶら下げています。GNS3内にvirtual box等で仮想マシンを動作させることもできますが、Windows7 VM自体が激重になるので、仮想マシンは外に出しました。

用意するもの

  • VMware ESXiマシン
    • 仮想マシン 3台
      • GNS3がインストールされたwindows7 VM * 1台
      • CentOSがインストールされた VM * 2台

Windows7の仮想マシンが最も処理能力を要します。体感でCPU : 4core,Memory : 8GBくらいあったほうが良さそう。CentOSは接続確認用なのでなくてもOK。

手順ざっくり

  1. ESXiでvSwitchの追加作成
  2. Windows7にNIC追加
  3. クライアント用VMを2台準備・NIC設定
  4. GNS3をインストール・設定
  5. 仮想ルータ、ホストの設定・接続確認

1.ESXiでvSwitch追加作成

GNS3で作成した仮想ネットワークのOS外部への出口にはwindowsのNICを指定されます。GNS3で指定される出口となるNICが接続される仮想Switchの作成のためESXiでVswitchを作成します。ESXiの構成管理からvSwitchを作成します。物理マシンの構成タブ内のネットワークを選択して、「ネットワークの追加」を選択。

標準スイッチを作成します。物理NICのバインドは必要ありません。

VLANはなしでOKです。

同じ要領で2つのvSwitchを作成します。

次に各スイッチ(vmnetwork,vsw01,vsw03の3つ)のプロパティからポートグループのセキュリティポリシーを変更します。無差別モードを「承諾」に変更します。これをしないとwindows7のGNS3上で動作するルータ向けの通信が通りません。(ハマった。)必ず変更する必要があります。

以上でvSwitchの設定は完了です。

3.クライアント用VMを2台準備・NIC設定

接続確認用なのでなくても問題はないです。ポイントはネットワークアダプタのネットワークラベルを先程作成したvSwitchのネットワークを選択することです。

ESXiのネットワーク構成上は以下のようになっています。

2.Windows7にNICを追加

つぎにWindows7のNICを追加します。赤枠の部分です。

注意点は、NICの認識される順番です。ESXi側から追加した複数のNICデバイスがwindows内で、ESXi側で認識されている順通りに識別されるとはかぎりません。(ハマった)

なので、以下手順を繰り返して追加を行います。

  1. ESXi側でwindows7 VMに1つNICを追加する
  2. Windows7側で認識されたNICを確認する。
  3. windows7側でNICの名前を変更する。

まず現在の認識されているWindows7のNICを確認。もともとあったNICはEth0に名前を変更してます。

ESXiからNICデバイスを追加。前の手順で新規作成したvSwitchのポートグループにラベルを割り当てます。

windows7側でNIC確認。名前を変更しておきます。


繰り返し追加を行い下記のようにwindowsでNICが追加されました。ESXi側から見ると、windows7のデバイス設定は以下のようになりました。

ESXiのネットワーク構成はこのようになりました。

この時点で一度Rebootを行うことをおすすめします。以降、GNS3を操作しますがWindows7のNICを追加や削除する場合には都度再起動します。(GNS3が変更をうまく認識してしてくれない時が多いので)

4.GNS3インストール・設定

Windows7 VMにGNS3をインストールします。インストール方法はそこらじゅうに転がってるので、割愛します。
参考:http://changineer.info/network/ccie_network_emulator/gns3.html

GNS3のネットワーク構成ですが、今回はシンプルにルータ1台のみにしてます。複雑な構成を組むこともできますが、うまく接続できなかったときのトラブルシューティングが面倒になるので、一通りできてから構成を組むことをオススメします。私は最初HSRPとかBGP,OSPFを取り入れて死にました…。

Windows7の各NICにはノード「Cloud」を使用して接続を行います。(hostでも可)Cloudの設定では接続するNICを選択します。

青枠が上のCloud,赤枠のNICが下のCloudに接続されます。

仮想ルータ、ホストの設定・接続確認

ここまでできたら後はルータ設定と接続されるホストのネットワーク設定を行うだけです。今回の環境はWindows7ホストのインターネット側ネットワーク(10.24.96.0/24)にOSPFルータ(10.24.96.254)が動作しているので、OSPFネットワークに参加させています。

//インターネット側NICの設定
RW01(config)#int fa0/0
RW01(config-if)#ip address 10.24.96.253 255.255.255.0
RW01(config-if)#no shutdown

//GNS3の奥のネットワーク設定その1
RW01(config-if)#int fa1/0
RW01(config-if)#ip address 172.16.10.254 255.255.255.0
RW01(config-if)#no shutdown

//GNS3の奥のネットワーク設定その2
RW01(config-if)#int fa2/0
RW01(config-if)#ip address 172.16.20.254 255.255.255.0
RW01(config-if)#no shutdown

//インターネット側ネットワークのOSPFに参加
RW01(config-if)#router ospf 1
RW01(config-router)#network 172.16.10.0 0.0.0.255 area 0
RW01(config-router)#network 172.16.20.0 0.0.0.255 area 0
RW01(config-router)#network 10.24.96.0 0.0.0.255 area 0

//OSPF , Route確認
RW01#show ip ospf neighbor

Neighbor ID Pri State Dead Time Address Interface
10.24.96.254 1 FULL/DR 00:00:31 10.24.96.254 FastEthernet0/0
RW01#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route

Gateway of last resort is 10.24.96.254 to network 0.0.0.0

172.16.0.0/24 is subnetted, 2 subnets
C 172.16.20.0 is directly connected, FastEthernet2/0
C 172.16.10.0 is directly connected, FastEthernet1/0
O 192.168.200.0/24 [110/20] via 10.24.96.254, 00:06:13, FastEthernet0/0
10.0.0.0/24 is subnetted, 1 subnets
C 10.24.96.0 is directly connected, FastEthernet0/0
O E2 192.168.254.0/24 [110/20] via 10.24.96.254, 00:06:13, FastEthernet0/0
O E2 192.168.1.0/24 [110/20] via 10.24.96.254, 00:06:13, FastEthernet0/0
O*E2 0.0.0.0/0 [110/10] via 10.24.96.254, 00:06:15, FastEthernet0/0

Edge Router側でもGNS3の接続ネットワークのルートが見えました。

admin@LRW-Core01:~$ show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
I - ISIS, B - BGP, > - selected route, * - FIB route

S>* 0.0.0.0/0 [1/0] via 192.168.1.1, eth0
O 10.24.96.0/24 [110/10] is directly connected, eth4, 5d18h14m
C>* 10.24.96.0/24 is directly connected, eth4
C>* 127.0.0.0/8 is directly connected, lo
O>* 172.16.10.0/24 [110/11] via 10.24.96.253, eth4, 00:07:35
O>* 172.16.20.0/24 [110/11] via 10.24.96.253, eth4, 00:07:35
C>* 192.168.1.0/24 is directly connected, eth0
O 192.168.200.0/24 [110/10] is directly connected, eth1, 01w0d15h
C>* 192.168.200.0/24 is directly connected, eth1
C>* 192.168.254.0/24 is directly connected, eth4

次にHostの接続性確認です。GNS3の仮想ルータの172.16.10.0/24セグメントにIPアドレスを設定しました。OSPFでGNS3の仮想ルータまでデフォルトルートが配布されているので、そのままインターネット接続もできます。

[root@VSW1-host ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:c1:b2:85 brd ff:ff:ff:ff:ff:ff
inet 172.16.10.1/24 brd 172.16.10.255 scope global eth0
inet6 fe80::20c:29ff:fec1:b285/64 scope link
valid_lft forever preferred_lft forever

[root@VSW1-host ~]# wget http://www.google.co.jp
--2017-01-09 17:59:13-- http://www.google.co.jp/
www.google.co.jp をDNSに問いあわせています... 216.58.197.195
www.google.co.jp|216.58.197.195|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 特定できません [text/html]
`index.html.1' に保存中

[ <=> ] 10,361 --.-K/s 時間 0.001s

2017-01-09 17:59:13 (9.09 MB/s) - `index.html.1' へ保存終了 [10361]

以上です。

 

Copyright © 2021 たぐたぐ.com. All rights reserved.