Does anyone here run their routing through virtual machine, have virtual machine setup as main router/getaway etc ? If yes, how many clients are using this kind of setup ?

For those who are wondering why I'm asking this. I got assignment for my internship to create all in one "box" which would do routing and be IP PBX in one time ( only open source solutions can be used, expect RouterOS). The routing part is currently done through RouterOS and for VoIP they want to use sipXecs. RouterOS supports virtualization through KVM, but RouterOS itself only supports 2GB of memory ( and wont support more in near future). sipXecs needs allot more than 2GB. I told them that we could solve this problem by putting RouterOS as virtual machine to 64bit hostOS ( e.g. CentOS), and other virtual machine would run sipXecs. By that we would be able to use whole memory. But they told me that it's to risky to do something like that and that they need something with "enterprise stability/reliability". I told them that we could make redundant image of each VM which would automatically start if one VM stop's working, but I was told the same thing. So this is why I asked those question above, to see if I really suggested something that's not good to do, or maybe this is something completely normal and it can be done with "enterprise stability/reliability" :)

Thank you for answers, Kristian

Edit# @ Zoredache ~ I suggested that to them, but they didn't like it either :/

  • Those requirements are strange for "enterprise stability/reliability". Typically an "enterprise" can afford redundant servers to prevent downtown caused by maintenance. They'll have to reboot the server sometime. – Eric H May 8 '10 at 23:53
  • Why is RouterOS a requirement? Why don't you just configure the routing, firewalling, and VoiP on the base OS? – Zoredache May 8 '10 at 23:58

There is no reason this won't work, although it's not the way most would choose to do it. One suggestion I would make is to use bare metal virtualization, such as ESXi or Xen Server, rather than using application mode virtualization. Obviously you need to consider the consequences of not having the router available when the host is booting. e.g. You won't be able to manage the machine if it relies on the router being up and for some reason it isn't.

  • Thank you for the info guys. I'll try to think of something else then. I was thinking about trying PAE in guestOS... but I don't have to much faith in it. Thank you one more time. – Kr1stian May 9 '10 at 10:26

I don't know why this shouldn't be stable and reliable. Depending on the virtualization technique and the hardware, the virtualization of the network might be more expensive then doing it natively.


I ran my router as virtual host on VMWare ESXi. I had no problem doing so and the box was rather reliable as a custom built server. It requires some knowledge on how everything routes together, and unfortunately, I don't really remember how I did everything. The only problem I'm immediately aware of is that VoIP has some issues running as a virtual machine. So you'll need to do some research to ensure that your application will run alright with whatever kernels are available on your hypervisor.

  • Thnx for the info about VoIP part, I wasn't aware of it. – Kr1stian May 9 '10 at 10:29

I have been running a VM as a router for a network I manage for over a year through Hyper-V on server 2008 R2. The only things to keep in mind are to disable the host machine's access to at least one NIC you're routing across, and that you'll need to set the VM up to automatically turn on. The setup I have is that the VM routes external traffic into the DMZ and the physical box does the routing for the internal network (3 NICs needed).


if you use dynamips ( http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator ) for instance, this will run your router in a MIPS virtual machine.

I know some ISP using this as backup router

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.