GNS3上でルーターを外部ネットワークや仮想OSと連携される方法を調べてみた
こんにちは、GNS3でDockerを連携させる設定を見つけて驚いているシゲルです(使ってみるとは言ってない。)先日、こんな感じでGNS3のインストールに関する記事を書いてみました。今回はGNS3上のルータを動作させているPCにつながっている外部ネットワークへ接続したりGNS3上でVirtualBoxでつくった仮想サーバを連携させてみます。
GNS3なんですがちょこちょこ触ったりしているとやっぱり、ルータ、スイッチだけでは無くゲストOSと連携させてみたーい、物理ネットワークの方にも繋げるんなんて事もやってみたくなりましたので、今回調べてみました。
GNS3で物理NICを通じて外部接続する方法
ローカルサーバを使う場合(PCの物理NICを直接使う)
外部ネットワークと連携させる場合は下の画像のようなイメージです。「Cloud」のパーツと接続されたRouterのインターフェースがPCのネットワークのセグメントに接続されます。
PCのインターフェースとRouterのインターフェースをブリッジ接続されたようになります。
設定方法はメニューの左側より「cloud」のパーツを配置し、次に「Router」を配置して接続します。
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」になるようにしておきます。
ルータ側(R1)のコンフィグは仮想サーバへDHCPでIPを配るためインターフェースとDHCPサーバのコンフィグだけを実施しています。
続いてGNS3の設定をしていきます。メニューから「Edit」から「Preferences」を選択し「VirtualBox」の項目に進み「New」を選択し「Run this VirtualBox VM on my local computer」そのまま「Next」で次に進みます。
VM listから対象の仮想サーバを選択し、「Finish」で完了です。
GNS3の「Startボタン」を押すとRouterとゲストVMが起動してきます。 GNS3を終了される時、VirtualBoxの仮想OSも自動的に停止しますが、これが時々上手く動作しないようで強制的にシャットダウンした状態になります。そして次回起動すると下の写真のようにリカバリーに入る場合があるので焦らずに仮想OSを起動させましょう。
ついでに連携させた仮想サーバからNATしてインターネットに出てみる
次に折角なのでGNS3上でルータに接続した仮想OSから外部のネットワークに接続してみます。 ネットワーク図はこんな感じです。
仮想サーバ側のネットワークの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