Archive for category GNS3

TFTP with GNS3

In order to do all this fun Tcl and EEM stuff, I needed to be able to access a TFTP (could have been FTP or SCP, I suppose) server to the virtual routers in GNS3.   GNS3 (through dynagen/dynamips) supports the use of a cloud which can attach to real interfaces on the host computer.  I just didn’t know how to do it.  So I Google’d it and found this joshatterbury.com page with some great explanation.  Check out his site for more details.  He has some verification stuff that I’m going to skip over.  I pretty much followed his directions which are below:

I use my wireless interface (wlan0) for everything so I decided to bind the GNS3 tap0 interface to my eth0 interface so it wouldn’t affect my blogging.  Additionally, I wouldn’t be opening up my TFTP server to the Internet (also controlled through iptables).

Create the bridge interface called br0

brctl addbr br0

and activate it with

ip l s dev br0 up

Now is time to create the tap interface.  To do this, I needed to install uml-utilities which was a simple (I love linux)

yum install uml-utilities

To create the tap interface using the username of the logged in user after the -u

tunctl -t tap0 -u username!

I bound the tap0 and eth0 interfaces to the br0 bridge interface

brctl addif br0 tap0
brctl addif br0 eth0

That’s pretty much it!  I had to give the br0 an IP address so it could talk to the interface that is connected to the router.  So I bound 192.168.1.1/24 to the br0 interface.  After starting up GNS3 (as root), throwing in a router and a cloud, I configured a tap interface named tap0 and connected the cloud to a router.

with_cloud_smaller

Then I had to install the TFTP server with

yum install tftp-server

and configure it by changing the  /etc/xinet.d/tftp  file so it was enabled, and restarting xinetd.  Then UDP/69 traffic had to be allowed through iptables over interface br0.

Thanks Josh!

I’ve upload a copy of my .net file for reference (and for me when I bork mine).    Click here to download it. (MD5: 12ec565963cabd436a669bd3cc53f803)
I also created a very very basic script to setup the bridged interface on my linux box.  Click here to download it (MD5: 9476bd4953fab7c7a296d26b392d7cde)

No Comments