Network simulation with GNS3

Sand Castles

Connecting to the Outside World

Dynamips lets you connect virtual routers to physical network interfaces, so GNS3 can also connect virtual networks to physical hosts. The procedure differs fundamentally depending on whether you are working with a GNS3 VM or with a local server installation; it is far easier with the VM.

For the GNS3 VM, you need the Internet appliance from the Appliance category of the GNS3 Marketplace. The exact name is Internet for GNS3 VM , and it comes from the GNS3 development team. If the associated template is not available from the Marketplace, you can alternatively get it online [6].

A good idea is to create your own project for this module and then import the module into GNS3 with the File | Import Appliance menu command. After selecting the import file, GNS3 presents the Add Appliance dialog, which lists important appliance-specific data, such as the category (Router), the name (Internet), the manufacturer (GNS3), and the architecture (i386).

In the following steps, you will again be accompanied by a wizard, which now wants to know whether you want to use the VM or another server type. After selecting VM , determine the image file available on the VM. You have to agree explicitly to its installation. After the installation, the Internet router is available from the toolbar in the Devices category. In the next step, drag the Internet device into the workspace. You will also need two routers, which are automatically labeled R1 and R2 by GNS3 (Figure 1). Use the Link function to establish a connection between the two routers and one between the Internet device and R1 (Figure 2).

Figure 1: The assignment of the IOS image to the first router configuration. However, the IOS image is not included with GNS3.
Figure 2: The Internet template connects the virtual with the real network.

Log into the Internet appliance at the console by entering gns3 as the username and password. You can now use ping to check the accessibility of an external system from the console. If the configuration is correct, ping can query the desired system. In principle, you can also configure the virtual routers to use an IP address from your provider's DHCP server.

Individual Adaptations

GNS3 provides various customization options. For example, you can completely dispense with the GUI for configuration and administration by editing the configuration files gns3_server.conf (macOS and Linux) or gns3_server.ini (Windows). For example, in the text-based configuration file, you can change the server's IP address and port, the paths to the images, the project files, and the console access port. You can also adjust the paths to VMware and VirtualBox.

In practice, you can work with different server and VM configurations because of the classic separation between the GNS3 client and server. The simulation environment provides the profile function for this, which you first need to activate. Open the program settings with Edit | Preferences and switch to the Miscellaneous tab. When you get there, enable the Request for Profile Settings at Application Startup option, and then restart the system. The next time you start the program, GNS3 will show you the Profile Selection dialog. In addition to the standard profile, you can create a new profile by selecting New .

The scalability of GNS3 also speaks in favor of its use. By design, GNS3 is not subject to any restrictions regarding the number of nodes that the program can execute. The limit is set solely by the hardware used. If the locally available system does not have sufficient resources, you can simply run GNS3 in a cloud. This is especially easy if you set up GNS3 on a remote server with Ubuntu 16.04 LTS. In this case, you execute the following commands as root:

# cd /tmp
# curl https://raw.githubusercontent.com/GNS3/gns3-server/master/scripts/remote-install.sh > gns3-remote-install.sh
# bash gns3-remote-install.sh --with-openvpn --with-iou --with-i386-repository

The required packages and a VPN environment are set up for secure access to the remote system. To use the remote server, you only need to configure the GNS3 client for interaction. Remote access can be set up with the Setup Wizard, where you select the option Run Everything on a Remote Server and define the IP address, access protocol, port, and user data. However, that's not all: If one server is not enough, you can also use several servers and thus distribute the load. To do this, create additional servers under Server in the Preferences dialog. When creating new router configurations, you then assign the desired remote servers to them. Another special feature lets you export your network configurations to a ZIP archive and share them with third parties.

Conclusions

GNS3 is an excellent program for simulating Cisco-based networks. You have access to all the important configuration options and analysis tools that are usually required. However, this strength is also its weakness. You have to provide the Cisco images yourself, because the program does not offer integrated IOS images, limiting the range of application considerably. For those who are preparing for their Cisco exams, however, GNS3 is the tool of choice.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Open source multipoint VPN with VyOS
    The VyOS Linux distribution puts network routing, firewall, and VPN functionality together and presents a fully working dynamic multipoint VPN router as an alternative or addition to a Cisco DMVPN mesh.
  • Routing with Quagga

    Cisco and Juniper have implemented routing protocols to help your router find the optimum path. On Linux, you can use software like Quagga, with its Zebra daemon, to help automate this process.

  • Useful tools for automating network devices
    Armed with the right tools, you can manage your network infrastructure both automatically and effectively in a DevOps environment.
  • Virtual networks with Hyper-V in Windows Server 2016
    Microsoft provides some interesting virtualization features in current and future versions of Windows Server. You can connect or isolate virtual machines, and Windows Server 2016 even supports virtual switches.
  • Software-defined networking with Windows Server 2016
    Windows Server 2016 takes a big step toward software-defined networking, with the Network Controller server role handling the centralized management, monitoring, and configuration of network devices and virtual networks. This service can also be controlled with PowerShell and is particularly interesting for Hyper-V infrastructures.
comments powered by Disqus