GNS3 VMを使ってリアルネットワークへ
その3で予告した内容。GNS3 VMを使ってリアルネットワークへ接続できることがわかった。そのメモ。
GNS3 VM
ネットワークアダプタ
ネットワークアダプタ2は、NAT(Macを共有)となっている。
Shell
GNS3 VMのメニューから「Shell」を選択すると、プロンプトが表示され、Linux(Ubuntu)が動作していることがわかる。いくつかコマンドをタイプ。
gns3@gns3vm:~$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:e6:23:9f:93 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.88.135 netmask 255.255.255.0 broadcast 192.168.88.255
inet6 fe80::20c:29ff:fecc:9e7e prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:cc:9e:7e txqueuelen 1000 (Ethernet)
RX packets 153466 bytes 183313424 (183.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 32603 bytes 4320206 (4.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.245.159 netmask 255.255.255.0 broadcast 192.168.245.255
inet6 fe80::20c:29ff:fecc:9e88 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:cc:9e:88 txqueuelen 1000 (Ethernet)
RX packets 3254 bytes 372103 (372.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3607 bytes 314796 (314.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
gns3tap0-0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::8410:26ff:fee4:8294 prefixlen 64 scopeid 0x20<link>
ether 86:10:26:e4:82:94 txqueuelen 1000 (Ethernet)
RX packets 3065 bytes 316468 (316.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8961 bytes 566305 (566.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 63978 bytes 7004688 (7.0 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 63978 bytes 7004688 (7.0 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:c8:5b:91 txqueuelen 1000 (Ethernet)
RX packets 1356 bytes 194944 (194.9 KB)
RX errors 0 dropped 28 overruns 0 frame 0
TX packets 300 bytes 115465 (115.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
gns3@gns3vm:~$
gns3@gns3vm:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.245.2 0.0.0.0 UG 100 0 0 eth1
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.88.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.245.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.245.2 0.0.0.0 255.255.255.255 UH 100 0 0 eth1
デフォルトゲートウェイとして、「192.168.245.2」が見える。GNS3 VMを動作させているMac上でのネットワークアダプタを確認すると、
/// Mac
vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 00:50:56:c0:00:08
inet 192.168.245.1 netmask 0xffffff00 broadcast 192.168.245.255
となっているので、GNS3 VM Shellにて「ping」を実施。
gns3@gns3vm:~$ ping -c 5 yahoo.co.jp
PING yahoo.co.jp (182.22.16.251) 56(84) bytes of data.
64 bytes from edge1800.img.vip.otm.yimg.jp (182.22.16.251): icmp_seq=1 ttl=128 time=8.53 ms
64 bytes from edge1800.img.vip.otm.yimg.jp (182.22.16.251): icmp_seq=2 ttl=128 time=4.98 ms
64 bytes from edge1800.img.vip.otm.yimg.jp (182.22.16.251): icmp_seq=3 ttl=128 time=4.96 ms
64 bytes from edge1800.img.vip.otm.yimg.jp (182.22.16.251): icmp_seq=4 ttl=128 time=6.05 ms
64 bytes from edge1800.img.vip.otm.yimg.jp (182.22.16.251): icmp_seq=5 ttl=128 time=5.24 ms
--- yahoo.co.jp ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 4.963/5.950/8.528/1.347 ms
インターフェース「eth1」を使い、GNS3 VMから外部へ疎通がある(通常のVMと同じ)。
GNS3にて
設定
下記のようなネットワークを構成する。
NATを選択するときに、
「GNS3 VM」を選択するのがポイント。
検証
DHCPにてIPアドレスを取得できそうなので、それを前提に、ルーターR1でコマンドをタイプ。
R1(config)#ip domain-lookup
R1(config)#interface fastEthernet 0
R1(config-if)#ip address dhcp
R1(config-if)#no shut
R1(config-if)#
*Mar 1 00:04:41.403: %LINK-3-UPDOWN: Interface FastEthernet0, changed state to up
*Mar 1 00:04:42.403: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0, changed state to up
R1(config-if)#
*Mar 1 00:04:48.487: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0 assigned DHCP address 192.168.122.142, mask 255.255.255.0, hostname R1
R1(config-if)#end
R1#ping
*Mar 1 00:04:59.587: %SYS-5-CONFIG_I: Configured from console by console
R1#ping yahoo.co.jp
Translating "yahoo.co.jp"...domain server (192.168.122.1) [OK]
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 183.79.219.252, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/14/24 ms
R1#
ルーターR1からリアルネットワークへの疎通成功。また、ルーターR1のIPアドレスが「192.168.122.xxx」となっているので、GNS3 VM上のネットワークアダプタ「virbr0」と接続されていることがわかる。
Cloud(NATではなく)を用いてブリッジ接続
(Macではうまく動作せず、Windows環境で実施。)
下記のようなネットワークを構築するのであるが、
GNS3 VMにてネットワークアダプタを追加して、ブリッジ接続により、リアルネットワークへ接続することができた。
R1(config)#interface fastEthernet 0/0
R1(config-if)#no shut
R1(config-if)#
*Mar 1 00:00:47.523: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar 1 00:00:48.523: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R1(config-if)#ip address dhcp
R1(config-if)#
*Mar 1 00:01:57.567: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/0 assigned DHCP address 192.168.10.109, ma sk 255.255.255.0, hostname R1
R1(config-if)#exit
R1(config)#ip domain-lookup
R1(config)#exit
*Mar 1 00:02:32.815: %SYS-5-CONFIG_I: Configured from console by console
R1#ping yahoo.com
Translating "yahoo.com"...domain server (192.168.10.1) [OK]
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 98.137.11.164, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 192/206/224 ms
R1#
終わりに
リアルネットワークへの接続は、GNS3 VMを使うのがイージー。