I need a virtualization solution with the following properties:

  • guest OSes can receive multicast traffic from the host machine.
  • some services running on the guest OS (eg: port 80) can be port forwarded, so it's visible on the host and other machines.

I tried vmware player, it doesn't support multicast at all.

I managed to set up port forwarding with Virtualbox, but multicast doesn't work seem to work.

link|improve this question

50% accept rate
I would imagine any good Level 1 hypervisor like ESXi, Hyper-V, Xen, etc would support this (though port forwarding might be tricky, and a strange requirement). – Chris S Oct 13 '11 at 18:51
feedback

2 Answers

If you can't use bridging mode for your virtual machine's NICs in your configuration, you might try setting up a separate private network and set up multicast routing between the pivate and the public network, presumably including NAT for outbound private traffic.

A possible solution might include host-only networking (this would give you a virtual NIC in your host operating system not connected to anything else but the virtual network) and the appropriate multicast routing / NAT setup at your VM host.

I don't think this is a good task for a Windows machine. If your Host must be Windows and you are not able to either get even a single further IP address for a Linux guest VM or a separate appliance performing this job or move the public IP address your host uses to the aforementioned Linux guest, you are probably stuck here.

link|improve this answer
by "works" I mean it works.... have you ever tried it? for example vmware player emulates an old network card which has no multicast support at all. – yi_H Oct 13 '11 at 19:51
note: I don't have another network card and unfortunately I cannot get another public IP for the VM. – yi_H Oct 13 '11 at 19:57
Multicast has no hardware NIC support beyond acceleration. The worst that can happen is that a multicast receiver is hogging CPU resources as it enables promiscuous mode on the NIC and all packets need to be processed - no matter if they are intended for the host or not. You do not need another NIC for bridging - see the VMWare documentation - it just places the virtual NICs in the same network as the physical NIC of your host. All you need is IP address allocation for the virtual adapters. – syneticon-dj Oct 14 '11 at 8:32
Thx! As I said I don't have another public IP for the virtual adapter so that solution won't work. If there were another IP I won't need the port forwarding.. – yi_H Oct 14 '11 at 9:01
Ah, I see. You should state that you can't use bridging for the named reasons in your question. – syneticon-dj Oct 14 '11 at 9:06
show 1 more comment
feedback
up vote 0 down vote accepted

Finally we managed to set it up with a mixed solution:

  • One virtual network card was set up to BRIDGED mode so we can get multicast traffic.
  • The other was set up to NAT so we can do port forwarding.
link|improve this answer
feedback

Your Answer

 
or
required, but never shown

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