Virtual LAB with RouterOS devices (VmWare vs GNS3)

Hi,

I would like to create virtual lab with 2-3 virtual RouterOS for testing network solutions.
As I know there are two ways for virtualization: VmWare and GNS3.

What are pros and cons of these ways ?

I use GNS3 with the CHR image running under Qemu.

My CHR version + the version of Qemu in GNS3 seem to crash if I try enabling the IPv6 package, but other than that, it’s great because the demo license is limited in a way that doesn’t hinder lab experimentation, but the x86 version has a 24hr limitation which got annoying sometimes.

I also like the ability to make whatever network topology I want in GNS3 where it’s not so straightforward when you run the virtual router in VMWare.

Of course, virtual switch configurations in the host systems can let you connect a VMWare image to multiple vlans, etc - but I find the gui of GNS3 to be the best for doing labs quickly.

The only thing that’s annoying about using GNS3 is how Qemu defines the ethernet interfaces and what they’re connected to at boot time, so you have to shut down a virtual Mikrotik in order to modify the network connections.

Hello ZeroByte !

Thank you very much for response.

I have esxi host (Vmware 5.5) at home for tests and would like use it somehow for gns3.
I searched gns3 appliance for vmware, but seems it doesn’t exist.
So, I trend towards GNS3 itself also.

GNS 1.4 also supports VMware VMs, so it’s not really a “vs” anymore.

I don’t know about ESXI, but Workstation and Player are certainly supported.

… so I’ve been shooting myself in the foot by clicking “Upgrade Later” whenever I’ve been launching GNS 1.3?

I knew I should’ve upgraded.

And that is just the biggest new thing you’re missing out on :wink:

There’s also several more minor features that you’ll appreciate, including

  • custom symbols for devices (like, ANY graphic, not just a predefined selection)
  • a GUI for creating virtual disks with qemu-img*
  • the ability to name interfaces with a custom pattern, like “e0”, “e1” (or “ether1”, “ether2”, etc.*)
  • VNC console to devices
  • the ability to specify boot order in Qemu
  • the left pane is hidden when you have only one device selected*

And more that I can’t remember right now, because there’s so many

\

  • Contributed by me :sunglasses:

If you’re on the dev team, may I make a humble request that they never ever ever drop the “Legacy” skin for the application appearance? I nearly had an apoplectic fit when I saw the charcoal and classic views - I think that the fact that I was getting this new look at the same time I was discovering the “jungle news” window was just too much.

I’m merely a contributor (my say has only as much weight as yours), and… I think the legacy look might have already been dropped in 1.4… maybe… I don’t know, as I use “Classic” (and I have GNS3 on a different PC…). But I’m with you, in that I don’t like Charcoal. But the jungle feed is gone already - YAY!


EDIT: I checked, and “Legacy” is currently still there in 1.4.0… I just like Classic best.

Oh well, I knew they were going to get rid of it some day. I was very very upset at the new look - it looked kind of cool in screen shots, but when the program was really running on my screen, it looked so bad to me. I was quite angry.

I also don’t like the “facebook for GNS3” community. It was a lot to swallow when I upgraded from a really old copy to find that I loathed the forums replacement, loathed the commercialization, and loathed the new application look and feel.

Forums are so much better for things like this.

Yay on the Jungle feed being eliminated. I would have actually paid them money to remove it.

I have a question about the interface naming - I see that I can set the format to ether{0} - but the interfaces are still ether0 .. ether4 if I set up 5 adapters.

The “First port name” field lets me name the first one whatever - I can type ether1 into this field, but then the interface labels are bizarre:

ether1
ether0
ether1
ether2
ether3

Am I just doing something wrong?

Use {port1} instead of {0} to get the numbers starting with 1. With {0} or {port0}, you get 0 based numbers.

(The first port name is primarily intended to address the case where the first one doesn’t have a number, like Windows 10’s “Ethernet”, “Ethernet 2” scheme; But doubles for cases when the first interface is intended for management and the like)

I kind of figured that - in fact it’s useful for a script I had added to my custom x86 qemu image because I always used ether1 as the management interface, I could set the script to rename it “mgmt1” and do likewise in GNS3. That’s pretty cool.

Thanks for the tips, Boen!

I noticed in another thread about CHR images that you were experiencing the same issue I am - where enabling IPv6 package on Qemu-hosted CHR causes the system to crash.

I had hoped that this would go away when I upgraded to GNS3 1.4 but it’s still happening for me
(CHR is 6.34rc19)

Are you still getting this behavior?

Me? I don’t think I did… I’ve never really used IPv6. If anything, the issue you’ve seen is me being unable to get DHCPv6 working on a real MikroTik router, because it doesn’t support giving out a DNS server… And I think I had another one where IPv6 was not really working at all, but again on a real router.

I suggest you try some of these binaries instead of whatever is bundled in GNS3.

I had the 2.5.0 x64 ones crash on me whenever I connect anything in GNS3, but I blame Qemu, as the 2.4.0 x64 binary works flawlessly, and the syntax isn’t changed (or is not documented to have changed).

I’m going to try rolling with VMWare on it to see if that gives any better/worse results.

I tried 2.5.0 and get the crashes that you experienced. I also feel that Qemu is probably to blame, because I saw some other oddities that came and went as I tried different qemu versions. (but can’t recall what those were now - d’oh!)