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.

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)