This setup is using OSX Mavericks, GNS3 latest stable (aye, not the prerelease, it is not relevant yet), VMWare Fusion and the iou-web CentOS VM.
(btw, this blog is no helpline. Do not try to contact me to ask me how I did it. Study my steps and search the Internet, this is more than enough help)
Part 1 - GNS3
- OSX Mavericks - Install tuntap opensource driver.
- GNS3 - run the binary as root. No help running 'sudo /Applications/GNS3.app', you need to run the GNS3 binary inside the app.
- Create the topology inside GNS3, insert a cloud, insert a NIO TAP with full device path, ie, /dev/tap0.
- After you connect that cloud port to a GNS3 device (I suppose you will connect it to a GNS3 switch, but whatever), the GNS3 will try to spawn the /dev/tap0, hence the root privileges.
- Check via ifconfig if the port exists. If it exists, create a new bridge interface and add it and whatever interface you want to the bridge.
sudo ifconfig bridge1 create
sudo ifconfig bridge1 up addm tap0 addm en0 addm vmnet3
Notice that if your GNS3 sessions is lost, you have to rebind the tap0 nic to the bridge, since GNS3 will destroy the tap0 with it.
- Now, a good test is in order. Fire up a GNS3 device connected to the cloud, put it in DHCP client mode, let it get an IP address. Ping the VMWare hypervisor, knock yourself out. First part is done.
Part 2 - IOU
Now on IOU, it was fairly easier, but the frakking software has the same verbose level as some morons I know. There were two catches.
- 1st catch, create or use any vmnet besides the one assigned to eth0. eth0 is hardcoded, so you cannot use it. I created a vmnet3 host-only network with a dhcp server and no authorization required for promiscuous mode. I read in some reports promiscuous mode is important. In any case, I had to enable the eth1 interface manually, and since I was there anyway, I added the promiscuous mode and got a DHCP client lease for it. As a good testing point, I pinged the routers inside GNS3 and it worked. The ping from the other side worked, well, just in case.
- 2nd catch, it was damm hard to find it. Because frakking ioulive86 (sorry, your software is great but could use some more verbosity) simply spat "no mapped ioulive86 instance found" and that was it. I was about to drop it and take a shit in name of my incompetence when I decided to create a new NETMAP entry and put the cloud line below the first line. What gives, it worked. So the caveat maybe is just that it needs to be on the second line of the NETMAP. I did not write it, I dunno what could be wrong. Maybe it just needed and line feed, whatever. It works. That is why I left software dev. I hate hasty code.
So, rants aside. With the cloud finally starting up on IOU, it was just a matter of repeating the same steps. Put an interface in dhcp client mode, enabled it and voilá, it got an IP address via the vmnet dhcp server. Pings at will and everyone is happy, I will now shit in honour of my greatness.
Conclusion
I have no idea why the heck I took all this trouble. I mean, that was a lot of work to get a lot of buggy software to work. Yet, that is how people study when they don't want to spend money on rack rentals right? It might come in handy. I was actually trying to see if I could do it. Just to see if I could make it work or not. And yes, the brownload is ready to start.
(my mood is awesome).
Nenhum comentário:
Postar um comentário