クラウドとマレーシアでぐだぐだする日記

いい感じのITエンジニアでいるためにアウトプットします

GNS3上でルーターを外部ネットワークや仮想OSと連携される方法を調べてみた

こんにちは、GNS3でDockerを連携させる設定を見つけて驚いているシゲルです(使ってみるとは言ってない。)先日、こんな感じでGNS3のインストールに関する記事を書いてみました。今回はGNS3上のルータを動作させているPCにつながっている外部ネットワークへ接続したりGNS3上でVirtualBoxでつくった仮想サーバを連携させてみます。

shigeluma-tech.hatenablog.com

GNS3なんですがちょこちょこ触ったりしているとやっぱり、ルータ、スイッチだけでは無くゲストOSと連携させてみたーい、物理ネットワークの方にも繋げるんなんて事もやってみたくなりましたので、今回調べてみました。

GNS3で物理NICを通じて外部接続する方法

ローカルサーバを使う場合(PCの物理NICを直接使う)

外部ネットワークと連携させる場合は下の画像のようなイメージです。「Cloud」のパーツと接続されたRouterのインターフェースがPCのネットワークのセグメントに接続されます。

PCのインターフェースとRouterのインターフェースをブリッジ接続されたようになります。

f:id:shige_shigetan:20171014214352j:plain

設定方法はメニューの左側より「cloud」のパーツを配置し、次に「Router」を配置して接続します。

f:id:shige_shigetan:20171014201318j:plain

Routerの設定ですがPCを接続しているネットワークセグメントですがDHCPでIPを配布しているため、Router側もDHCPクライアントとしてIPが取得できるようにしています。

interface FastEthernet0/0  
ip address dhcp  
duplex auto  
speed auto  

これでルータ側からPCに接続されたネットワーク(お家のルータなど)やインターネット向けに通信ができるようになります。

R1#ping 192.168.17.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.17.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 32/60/124 ms
R1#

R1#ping 8.8.8.8

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 60/63/68 ms

GN3と仮想OS VirtualBox の連携方法

連携させる仮想OSとしてWindows 2012を使います。ホスト名は「win2012r2」ととしています。ほぼほぼインストールしたままの状態です(作業性を向上させるWindows FirewallはオフにRemote Desktopはオンにしています)

注意点としてはVirtualBoxネットワークアダプターを外しておく必要がある点です。ゲストVMを作ると通常「NAT」でネットワークアダプタが構成されますがそのままだとエラーになります。ですので外して「Not attached」になるようにしておきます。

f:id:shige_shigetan:20171014201319j:plain

ルータ側(R1)のコンフィグは仮想サーバへDHCPでIPを配るためインターフェースとDHCPサーバのコンフィグだけを実施しています。

続いてGNS3の設定をしていきます。メニューから「Edit」から「Preferences」を選択し「VirtualBox」の項目に進み「New」を選択し「Run this VirtualBox VM on my local computer」そのまま「Next」で次に進みます。

f:id:shige_shigetan:20171014201322j:plain

VM listから対象の仮想サーバを選択し、「Finish」で完了です。

f:id:shige_shigetan:20171014201324j:plain

GNS3の「Startボタン」を押すとRouterとゲストVMが起動してきます。 GNS3を終了される時、VirtualBoxの仮想OSも自動的に停止しますが、これが時々上手く動作しないようで強制的にシャットダウンした状態になります。そして次回起動すると下の写真のようにリカバリーに入る場合があるので焦らずに仮想OSを起動させましょう。

f:id:shige_shigetan:20171014201321j:plain

ついでに連携させた仮想サーバからNATしてインターネットに出てみる

次に折角なのでGNS3上でルータに接続した仮想OSから外部のネットワークに接続してみます。 ネットワーク図はこんな感じです。

f:id:shige_shigetan:20171015163048j:plain

仮想サーバ側のネットワークのIPアドレスをGNS3を動かしているPCが接続されているネットワークのIPアドレスに変換する必要があるのでルータにNATの設定が入れています。

ip nat inside source list 10 interface FastEthernet0/0 overload
access-list 10 permit 192.168.0.0 0.0.0.255

interface FastEthernet0/0
  ip address dhcp
  ip nat outside

interface FastEthernet0/1
  ip address 192.168.0.254 255.255.255.0
  ip nat inside

設定後、ゲストVMからPingを打つと何故か異常に遅いですがインターネットネットに接続する事が出来ます。

PS C:\Users\Administrator> ping 8.8.8.8

Pinging 8.8.8.8 with 32 bytes of data:
Reply from 8.8.8.8: bytes=32 time=1299ms TTL=60
Reply from 8.8.8.8: bytes=32 time=849ms TTL=60
Reply from 8.8.8.8: bytes=32 time=648ms TTL=60
Reply from 8.8.8.8: bytes=32 time=856ms TTL=60