CML2(Cisco Modeling Lab version 2.0)で外部ネットワークと接続するための手法についてまとめます。CML2から外部への片方向の接続が可能になる「NAT」とCMLと外部が双方向で接続可能になる「Bridge」の2種類の接続方法があります。「Bridge」を使用する場合は、アドレスバッティングなどに注意ください。
NATを使用する場合
ラボ作成
「External Connector」とネットワーク機器がLayer2で接続されるようにラボを作成します。
「External Connector」を選んで「Edit Confit」タブを開きます。Interface Typeを「NAT」にします。
Interface Typeの変更が可能なのはラボの起動前のみです。もしラボを起動してしまった場合は「Wipe Lab」を押下すれば再設定可能です
DHCPによるアドレス取得
「External Connector」を「NAT」とした場合は、「External Connector」がDHCPサーバとして動作します。External Connectorと接続しているInterfaceにDHCP clientを設定します。
interface GigabitEthernet0/0 ip address dhcp no shutdown
しばらく待つとDHCPによるアドレス取得が完了します。
Router(config-if)# *Aug 30 07:29:33.874: %LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to up *Aug 30 07:29:35.020: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up *Aug 30 07:29:46.394: %PLATFORM-5-SIGNATURE_VERIFIED: Image 'flash0:/vios-adventerprisek9-m' passed code signing verification *Aug 30 07:29:47.113: %DHCP-6-ADDRESS_ASSIGN: Interface GigabitEthernet0/0 assigned DHCP address 192.168.255.45, mask 255.255.255.0, hostname Router(config-if)#
DHCPによってデフォルトゲートウェイが設定された事を確認します。
Router#show ip route Codes: L - local, 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, H - NHRP, l - LISP a - application route + - replicated route, % - next hop override, p - overrides from PfR Gateway of last resort is 192.168.255.1 to network 0.0.0.0 S* 0.0.0.0/0 [254/0] via 192.168.255.1 192.168.255.0/24 is variably subnetted, 2 subnets, 2 masks C 192.168.255.0/24 is directly connected, GigabitEthernet0/0 L 192.168.255.45/32 is directly connected, GigabitEthernet0/0 Router#
インターネットへの疎通が可能である事を確認します。
Router#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 = 23/44/66 ms Router#
staticなIPアドレス設定
External Connectorを「NAT」とした場合は、External ConnectorのIPアドレスは動的ではなく「192.168.255.1」の固定IPアドレスです。192.168.255.0/24のセグメントからIPアドレスをアサインし、192.168.255.1へデフォルトゲートウェイを向ければ、CML2の外部に接続する事ができます。
interface GigabitEthernet0/0 ip address 192.168.255.20 255.255.255.0 ! ip route 0.0.0.0 0.0.0.0 192.168.255.1
インターネットへの接続が可能である事を確認します。
R20#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 = 89/289/591 ms R20#
Bridgeを使用する場合
ラボ作成
「External Connector」とネットワーク機器がLayer2で接続されるようにラボを作成します。
「External Connector」を選んで「Edit Confit」タブを開きます。Interface Typeを「Bridge」にします。
Interface Typeの変更が可能なのはラボの起動前のみです。もしラボを起動してしまった場合は「Wipe Lab」を押下すれば再設定可能です
CML2 仮想マシンの設定確認
CML2の仮想マシンの設定を確認します。NICが「NAT」になっているならば、NATのセグメントに存在する他の仮想マシンを双方向で通信が可能ですが、筐体外への通信は片方向のみ可能です。NICが「ブリッジ」になっているならば、筐体外含め双方向の通信が可能です。
staticなIPアドレス設定
CML2内部のルータに対してIPアドレスを設定します。
CML2仮想マシンのNICが「NAT」に接続されているならば、そのNATのセグメントのIPアドレスを設定します。CML2仮想マシンのNICが「ブリッジ」ならば物理NICと同一セグメントのIPアドレスを設定します。以下は設定例です。
interface GigabitEthernet0/0 ip address 192.168.9.20 255.255.255.0 no shutdown ! ip route 0.0.0.0 0.0.0.0 192.168.9.2
CML2外部の機器からpingなどの疎通が可能である事を確認します。
[root@localhost ~]# ping 192.168.9.20 -c 3 PING 192.168.9.20 (192.168.9.20) 56(84) bytes of data. 64 bytes from 192.168.9.20: icmp_seq=2 ttl=255 time=21.9 ms 64 bytes from 192.168.9.20: icmp_seq=3 ttl=255 time=18.9 ms --- 192.168.9.20 ping statistics --- 3 packets transmitted, 2 received, 33.3333% packet loss, time 47ms rtt min/avg/max/mdev = 18.930/20.418/21.906/1.488 ms [root@localhost ~]#
サーバとの連携事例
CML2の外部と連携するニーズが発生するのは、サーバとの結合試験です。結合試験の一例として、snmpwalkによる疎通例を紹介します。
まずはCisco IOS側にsnmpgetに応答する設定を入れます。
snmp-server community public ro
サーバ機器かわsnmpwalkコマンドによる値取得が可能である事を確認します。
[root@localhost ~]# snmpwalk -v 2c -c public 192.168.9.20 SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software, IOSv Software (VIOS-ADVENTERPRISEK9-M), Version 15.8(3)M2, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2019 by Cisco Systems, Inc. Compiled Thu 28-Mar-19 14:06 by prod_rel_team SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.1041 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (215702) 0:35:57.02 SNMPv2-MIB::sysContact.0 = STRING: SNMPv2-MIB::sysName.0 = STRING: R20 SNMPv2-MIB::sysLocation.0 = STRING: SNMPv2-MIB::sysServices.0 = INTEGER: 78 <omitted>