Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 17 Oct 2008 22:38:04 -0400
From:      "Alexandre \"Sunny\" Kovalenko" <gaijin.k@gmail.com>
To:        "Marc G. Fournier" <freebsd@hub.org>
Cc:        freebsd-virtualization@freebsd.org
Subject:   Re: Software for virtualisation for FreeBSD needed
Message-ID:  <1224297484.1118.28.camel@RabbitsDen>
In-Reply-To: <E2733F3DCE938E271E7AD42F@ganymede.hub.org>
References:  <48F88B2B.1080700@web.de> <1224245114.75001.7.camel@RabbitsDen> <E2733F3DCE938E271E7AD42F@ganymede.hub.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2008-10-17 at 21:28 -0300, Marc G. Fournier wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> 
> 
> - --On Friday, October 17, 2008 08:05:14 -0400 "Alexandre \"Sunny\" Kovalenko" 
> <gaijin.k@gmail.com> wrote:
> 
> > I am using VMware extensively on Linux and Windows hosts and QEMU on
> > FreeBSD host (with Windows, Linux and OpenSolaris guests)
> 
> Can you run multiple guest QEMU environments simultaneously?  With networking?
Yes. <tentative>Yes.</tentative> ;)

I can definitely run multiple QEMU guests simultaneously. Did you have
any problems doing that?

Now, networking part is slightly trickier to answer. Let me try to map
this into VMware experience:

-- assigning IP addresses. I am doing static configurations. It Should
Not Be Hard (sm) to beat isc-dhcp into serving different address ranges
to different tapX, but I have not done it. 

-- guest-to-guest internal networking. Easy: you have separate tapX with
their separate IP addresses, as long as you have
net.inet.ip.forwarding=1 set, it "just works".

-- nat-to-outside-world. Slightly harder, but doable:
  sunny:RabbitsDen>cat pf.nat.conf
  # Internal interfaces (for QEMU and or Bluetooth clients)
  int_if_0 = "tap0"
  int_if_1 = "tap1"

  # Private network for QEMU and Bluetooth clients
  private_network_0 = $int_if_0:network
  private_network_1 = $int_if_1:network

  # External interface (if we are providing NAT for the clients above)
  ext_if = "ath0"

  # Provide NAT services for private clients
  nat on $ext_if from $private_network_0 to any -> ($ext_if)
  nat on $ext_if from $private_network_1 to any -> ($ext_if)

  pass from { lo0, $private_network_0 } to any
  pass from { lo0, $private_network_1 } to any
  sunny:RabbitsDen>sudo pfctl -F nat
  sunny:RabbitsDen>sudo pfctl -f pf.nat.conf

  We are done. Admittedly, if you have many clients which flicker in and
out of existence, this gets very messy very quickly. Some scripting is
advised.

-- bridging-to-outside world. Have not tried it for the lack of need. 

HTH,

-- 
Alexandre "Sunny" Kovalenko (Олександр Коваленко)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1224297484.1118.28.camel>