GNS3 Integration
The GNS3 guide is designed to help users leverage Indeni as they learn how to create networks and map topologies for large scale deployment, or for simply testing and learning in your home lab. Not only can you understand if your network topology is correct in a virtualized environment, but you can now get in front of potential configuration issues while also gaining valuable insight into industry best practices.
SUPPORT & REQUIREMENTS
Support for GNS3
This process has been tested with the CISCO 7200 IOS v.12, v.15, and v.16. While other dynamips-based IOS images may work, we cannot guarantee the same results across the wide variety of IOS devices. If you encounter issues please join the Indeni Community so others can assist, test, and help remediate. We highly encourage collaborative testing!
Requirements
- You have downloaded and deployed the Indeni server. If you have not already deployed the Indeni server, please be sure to review the device requirements and installation instructions.
- You have installed GNS3 and added at least one supported Cisco device running a supported version of Cisco IOS.
- The Indeni server has network connectivity to the GNS3 device(s) you want to monitor. For example, the Indeni Server can access, via the SSH protocol (version 2), the devices hosted in the GNS3 environment. This requires that SSH v2 is enabled on the target Cisco device(s), and users are configured with privilege level 15 access.
CONNECTION & CONFIGURATION
There are many ways to network Indeni and GNS3 together. The following image shows a basic topology using the GNS3_VM. Please note that eth0, in the GNS3_VM, is bridged into the local LAN, with the Indeni server (not shown here) is bridged into the same LAN. This puts the Indeni server and the Cisco device (R1) on the same network, which is how Indeni can interrogate and monitor the Cisco device.
Configuring the Cisco Device in GNS3
Your GNS3-based device will need some basic configuration to allow Indeni to interrogate and monitor it, so here’s what you’ll need to know:
- Cisco IOS Commands
Please Note: The following is provided as a “quick start” to configuring your IOS device. For a more detailed explanation, see https://www.cisco.com/c/en/us/td/docs/ios/12_2/security/configuration/guide/fsecur_c/scfssh.html
You can run these commands to configure your device. In general, the steps are:
- Enter configuration mode
- Set the hostname
- Configure the device network interface
- Set the domain-name
- Add a user with EXEC privilege — required for Indeni
- Setup the SSH server
- Configure the terminal access for the local user:
R2>enable R2#configure terminal R2(config)#hostname R2 R2(config)#interface f0/0 R2(config-if)#ip address dhcp R2(config-if)#no shutdown R2(config-if)#exit R2(config)#ip domain-name example.com R2(config)#username indeni privilege 15 secret 0 indeni4it R2(config)#crypto key generate rsa modulus 1024 R2(config)#ip ssh version 2 R2(config)#line vty 0 4 R2(config-line)#login local R2(config-line)#transport input ssh R2(config-line)#end R2#write mem
Before trying to add the device to Indeni there are a few tests you can perform to make sure the device is ready:
- Ping your GNS3-based device from the Indeni server to make sure it is reachable.
- SSH into your GNS3-based device. For example, ssh -2 -l <cisco-username> <device-IP>.
SSH will prompt you for the password configured for the user. Once you have successfully SSH’d into your device with the above command, you can add the device to Indeni for monitoring and remediation suggestions.