External Connectivity

The External Connector node (ext-conn) can be used to connect lab nodes to networks in other labs or outside of the CML virtual environment. The node’s single interface may be connected by a link directly to a lab node, or to an (unmanaged) switch to provide connectivity to other connected nodes. There are two pre-configured ways to connect each node with the outside environment: L3 NAT and through an L2 System Bridge.

In L3 NAT mode, the CML VM performs dynamic network address translation for L3 traffic initiated by lab nodes. The default (not configurable) subnet is 192.168.255.0/24, and lab nodes should be configured for DHCP on the connected interface. The traffic is ultimately routed out of one of Controller host’s virtual network interfaces (vNIC) using that host’s own routing configuration. L3 NAT mode is useful when you only want to provide outbound connections from your topology (e.g., provide Internet access to download additional software).

In L2 bridge mode, the CML VM vNIC is shared with the virtual lab. A node connected to an L2 bridge form of external connectivity will be on the same L2 subnet as the VM’s vNIC. L2 bridge mode is useful:

  • when you want to peer with external devices using routing protocols like OSPF or EIGRP

  • when you want to use your own DHCP server to provide IP addressing

  • when you want to connect to your running topology directly from an external network (e.g., with network management or automation applications).

You can add as many External Connector nodes as you want, each using any of the available modes. You can, for example, connect each node directly to an external network. You can also connect a switch to an external network and then connect subsequent nodes to that switch to provide common external network access. You can connect multiple interfaces of a node to any external network, though connecting some node types to the same network multiple times can trigger undesirable behavior in such nodes.

Neither External Connector nor Unmanaged Switch nodes count toward the running node count license, and neither do they consume dedicated CPU cores as resources. All External Connectors point towards one of a few Linux bridges as set up by the installation or later by the administrator. Each Unmanaged Switch is also realized as a bridge on the CML server. The host can typically handle up to a few hundred Linux bridges running at the same time, depending on its size.

Caution

If you connect an IOSvL2 switch to an L2 bridge external connector node, that switch will participate in spanning-tree and dynamic trunking protocol by default. This may cause unintended effects on your local network. Consider enabling BDPU filter and turning off dynamic trunking negotiation on the port in the switch’s day 0 configuration.

For another example, the third-party software running the WAN Emulator node, when connected to the same bridge with multiple interfaces, will flood the interfaces with IGMP group join messages, which can disrupt access to the CML UI and prevent users from stopping the node or links. Do not connect any WAN Emulator node to the same network multiple times.

External Connector node configuration

To add external connectivity to a lab, drag the External Connector node from the palette to the topology. Select the node and go to the Config tab in the sidebar pane. Select between NAT or System Bridge based on the desired form of external connectivity. Only unstarted and wiped nodes may change their selected configuration values, just like all other nodes in the lab.

The values set as the External Connector node’s configuration, like System Bridge or NAT, each point to bridge interfaces on the CML server. A newly-created External Connector node will be configured as NAT, using bridge virbr0. The System Bridge uses a bridge named bridge0, which also contains the main interface of the CML server configured during initial post-installation setup.

Additional connectivity options are possible and discussed further in the CML Administrator’s Guide on External Connectors. Once these connectors have been set up using the guide, they become available as options to the External Connector nodes’ Config dropdown.