Add Qemu Host in GNS3.

 


gns3

By: Jaakko Rautanen      
13.8.2010
v1.1

Version history of this document:
v1.1 Added instructions for console connection
v1.0 Published

Overview

Qemu image of Microcore Linux 2.10, is small linux image ready to be used in GNS3 and which includes ssh, iptables, iproute, tcpdump and IPv6 support. It is quite well integrated and doesn't require much tuning.

 tux



Download Microcore Linux Qemu image


Microcore Linux 2.10 image can be downloaded separately from GNS3 web site.

Setup image for Qemu host

  • Go to Edit | Preferences | Qemu | Qemu Host
  • Setup new image with following properties
    Identifier: MicrocoreBinary image: local path to linux-microcore-2.10.imgMemory: 64 MBNIC: e1000Qemu options: -no-acpi
  • Press Save and just added image will appear into Qemu Host images list


Create topology and drop Qemu host on workspace

Here is the topology used in this tutorial. One directly connected subnet between host and router and one "remote" network in the Lo0 interface of R1 so that default route can be verified.

Add devices on workspace and connect link between them. If you want to get IP-addresses on the diagram use Add a note tool for that.
 
1
 

Start and Configure R1

Here are configurations of R1 used in this example.
Current configuration : 946 bytes
!
upgrade fpd auto
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1
!
boot-start-marker
boot-end-marker
!
logging message-counter syslog
enable password cisco
!
aaa new-model
!
!
aaa authentication login SSH-LOGIN local
!
!
aaa session-id common
ip source-route
ip cef
!
!
!
!
ip domain name cisco.com
no ipv6 cef
!
multilink bundle-name authenticated
!
!
username cisco password 0 cisco
archive
log config
  hidekeys
!
!
interface Loopback0
ip address 192.168.0.1 255.255.255.0
!
interface FastEthernet0/0
ip address 10.10.10.1 255.255.255.0
duplex half
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
control-plane
!
gatekeeper
shutdown
!
!
line con 0
stopbits 1
line aux 0
stopbits 1
line vty 0 4
password cisco
login authentication SSH-LOGIN
transport input telnet ssh
!
end

Remember to type crypto key generate command in config mode to get SSH enabled.

Start Qemu host and assign ip address and default gateway

  • Start Qemu Host by right clicking and pressing Start button Qemu window will open
  • Assign IP address for eth0 interface using command:
sudo su
ifconfig eth0 10.10.10.2 netmask 255.255.255.0 up
  • To verify what ip address eth0 interface has use following command
ifconfig eth0
  • You can also set hostname to host using hostname command:
hostname Qemu1

Try to reach directly connected network

  • Try to ping router (10.10.10.1) stop by pressing CRTL + C.

2

Setup default gateway to reach remote networks

Try to ping the Loopback interface of R1. It's not answering because of host doesn't know any route to it. To see routing table in linux use route command. To add default route use again route command. After adding default route towards R1 you can reach remote networks.

3

Using telnet and SSH

You can use Qemu host as telnet and SSH client when connection to R1 for example.

4


5


Making IP-address and default gateway persistent

By default when added using ifconfig and route commands IP-address and default gateway do not remain during reboot.

  • To make settings persistent do following:

sudo su
vi /opt/bootlocal.sh
  • Add follwing lines to the file:
hostname Qemu1
ifconfig eth0 10.10.10.2/24
route add default gw 10.10.10.1
  • Save file:
    • Press Esc
    • Type :wq!

  • Run following command:
/usr/bin/filetool.sh backup

Now you can reboot the router and settings will remain.

Running multiple host simultaneously

Currently you can't run multiple Microcore host simultaneuosly. GNS3 Development team is trying to resolve this issue...

Using console connection

As you might have noticed there is Qemu window appears after starting Qemu host. However, you have also option to use normal console connection with PuTTY or some other telnet application. To get this working you have to have correct Qemu image. Currently you can download one from here:
 
http://rapidshare.com/files/412603669/linux-microcore-2.11.5.img

Special Thanks to Jaakko Rautanen for making this tutorial .


Happy simulations using Qemu! :)