Cisco Csr 1000v Gns3

  • Using the Cisco CSR1000V in GNS3 With VirtualBox. The better part of a year ago when the Cisco CSR1000V was publicly released, I quickly tested the notion of running the Cloud Services Router in VMWare Fusion on the Mac, rather than on a full vSphere server. Since then, I occasionally see that some readers land on my blog after searching for the terms “CSR1000V GNS3” looking for assistance in integrating the CSR with the popular networking simulation platform.
  • GNS3 Cisco CSR 1000v setup and configuration Part 2: GNS3 NFV Learn how to configure an NFV appliance with GNS3. In this video we discuss importing and configuring a Cisco CSR 1000v with GNS3.

CSR 1000V and GNS3 on Cisco's Website I'm trying to learn about IOS-XE and saw that many people are using GNS3 which now supports the CSR 1000V (running IOS-XE). All the blogs/tutorials discussing getting the CSR1000V image is stating that you can get it free off of Cisco's website.

We have discussed the configuration of Guest Shell on Cisco CSR 1000v platform in a previous tutorial. The guest shell is a built-in Linux container with CentOS 7 installed, which can be activated on the fly when Linux applications are needed. Our lives are currently affected by SARS-CoV-2 and long-standing quarantine, so why not do something crazy and completely useless just for fun? For me, this is the configuration and operation of the Urban Terror server on the Cisco CSR1000v server.

So, what we need to run Urban Terror server on the Cisco CSR 1000v? First of all, we need to create a VMware CSR 1000v instance and license it. The whole process is explained in the previous tutorial. When the licensed VMware instance of CSR 1000v is ready, we can add it to the GNS3 network topology. GNS3 is a great tool because it allows you to add and connect network nodes very quickly without really knowing what's going on under the hood. It also supports the VMware Workstation Pro hypervisor, which we will use for virtualization.

Once the CSR router is added to GNS3 topology, we must connect the router to the GNS3 cloud symbol using tap interface. Before we actually do this, we need to create a tap interface, connect it to the bridge interface, and connect the physical Ethernet interface to the bridge. In other words, the job of the bridge is to create a connection between host computer (K55VM) running Urban Terror client and virtualized CSR 1000v VM running Urban Terror server. The network topology is depicted on the Picture 1.

Note: Nodes Debian 10 and the SOHO router are shown for reference only, so you can get a general picture of what our network topology looks like.The nodes are not a functional part of the GNS3 topology.

Picture 1 - GNS3 Network Topology

In order to somehow automatize the process of creating tap and bridge interfaces, connecting physical Ethernet interface enp4s0f2 and tap interface to the bridge, I have created a Bash script which performs this task for you. Edit the script to reflect your configuration such as IP address for the br0 interface and run the script with a single argument - the number of the tap interfaces you want to create.

In our case, the script creates a br0 and tap0 interface and connect the Ethernet interface and tap0 interface to the bridge br0.

$ bash./ 1

Based on the number of detected tap interfaces, the script removes tap interfaces and Ethernet interface from the brodge br0 and deletes br0.

Cisco csr 1000v ordering guide

$ bash./


  • Asus K55VM
    - Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz
    - RAM - 2 x Kingston DDR3 8192MB
  • SOHO router - a physical SOHO router that connects LAN to the Internet


  • Host OS - Debian 10 Buster with installed VMware Workstation 15.1.0 build-13591040 and GNS3 2.2.5
  • Guest OS - CSR1000v VMware instance (Cisco IOS XE Software 16.07.01, AX feature with the maximum throughput 2500 Mbps ) (Picture 2)

Picture 2 - CSR1000v VMware Instance Parameters

1. Route Configuration

Cisco Csr 1000v Datasheet

Configuration of the guest shell has been covered in a previous tutorial so we can go further and connect CSR instance to the Internet. To do so, configure a static default route via SOHO router ( on CSR1000v.

CSR1(config)# ip route

In order to route packets destined for the guest shell subnet, we need to create a route on host computer (Debian 10) via the IP address (IP address of the GigabitEthernet2 of CSR router).

$ sudo ip route add via

The same route must be configured on SOHO router, so it can route packets to the guest shell container (IP address

$ sudo ip route add via

Once the Internet connection is working, we can update CentOS 7 in guest shell container.

CSR1# guestshell
[[email protected] ~]$ sudo yum update -y

2. Urban Terror Server Download and Configuration

Urban Terror requires about 1.4GB free disk space thus switch to the directory /bootflash that is 7.4GB. Create the directory UrbanTerro4.3 and download the installation script [15kB] with wget command.

[email protected] ~]$ cd /bootflash/
[[email protected] bootflash]$ mkdir UrbanTerror4.3
[[email protected] bootflash]$ cd UrbanTerror4.3/
[[email protected] UrbanTerror4.3]$ wget ''


Now, assign the executive privilege to the script and run it. The script is interactive so it will ask you few questions. Download will start shortly.

[[email protected] UrbanTerror4.3]$ chmod +x
[[email protected] UrbanTerror4.3]$ ./

Cisco Csr 1000v Aws

Once the download is complete, create the config file for server.

[[email protected] UrbanTerror4.3]$ cp q3ut4/server_example.cfg q3ut4/server.cfg

We can start the server with the command:

[[email protected] UrbanTerror4.3]$ ./Quake3-UrT-Ded.x86_64 +set fs_game q3ut4 +set fs_basepath /bootflash/UrbanTerror4.3/ +set fs_homepath /bootflash/UrbanTerror4.3/ +set dedicated 2 +set net_port 27960 +set com_hunkmegs 128 +exec server.cfg

Server starts listening on port 27960.

Picture 3 - Socket Opened for Urban Terror Server

3. Urban Terror Client Configuration

Start the Urban Terror Client on Debian 10 Linux (IP

Cisco Csr 1000v Cost

$ ./Quake3-UrT.x86_64

Enter the game console pressing the key ` and connect to the server with the command:

] connect

Picture 4 - Connection to Urban Terror Server (IP Address Running in Guest Shell Container on Cisco CSR 1000v

TCPdump started in the guest shell container confirms communication on UDP port 27960 between Urban Terror client ( and server

[[email protected] ~]$ sudo tcpdump -i eth0 host and port 27960 -n

Cisco Csr 1000v Configuration Guide

Picture 5 - Communication Between Urban Terror Server and Client on UDP 27960

Happy gaming!

Cisco Csr 1000v