From owner-freebsd-virtualization@FreeBSD.ORG Sat Oct 18 02:38:21 2008 Return-Path: Delivered-To: freebsd-virtualization@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A30AD1065689 for ; Sat, 18 Oct 2008 02:38:21 +0000 (UTC) (envelope-from gaijin.k@gmail.com) Received: from mail-gx0-f16.google.com (mail-gx0-f16.google.com [209.85.217.16]) by mx1.freebsd.org (Postfix) with ESMTP id 4512B8FC12 for ; Sat, 18 Oct 2008 02:38:21 +0000 (UTC) (envelope-from gaijin.k@gmail.com) Received: by gxk9 with SMTP id 9so1841898gxk.19 for ; Fri, 17 Oct 2008 19:38:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:cc :in-reply-to:references:content-type:date:message-id:mime-version :x-mailer:content-transfer-encoding; bh=eQpfgYtI8NkvTcf//2LQtOVcGRJ6VjtkvTmPeNn0NUE=; b=Jl3FbX0S52Cka8ZvljkVR9F1ECKAbYtxfkyDiQR6kepbqaLJzZ/zRZjAqujn9QCWFw TvPbaACLuqauoCtr5SYZ0XRfQhhPzF+hhI8RwsNsC2WN6Gog6LhgUUzn5pDuOURMe8KG GZPWjantr/zm8fTNTi1SCQxa0SSHvb2REMdPU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:cc:in-reply-to:references:content-type:date :message-id:mime-version:x-mailer:content-transfer-encoding; b=d8Npk6wHApUHjCaFsBXfkE+wnGuQN6q8AmAb9Va5AYtWbLUmzL0XpTC7MDz9Y4NvEV reaBPfb7q09aqoDFi5Ezp71QawpZoUY/0uxiRnR3QMJ5hcYlPmujq85NzoTzB8It90hE yfEknUSF7/7b7SRw7wDNMcLpE5fbGsRwdRaYw= Received: by 10.150.204.12 with SMTP id b12mr7105167ybg.83.1224297500646; Fri, 17 Oct 2008 19:38:20 -0700 (PDT) Received: from ?10.0.3.231? (pool-70-111-10-128.nwrk.east.verizon.net [70.111.10.128]) by mx.google.com with ESMTPS id 4sm8118830yxj.7.2008.10.17.19.38.19 (version=SSLv3 cipher=RC4-MD5); Fri, 17 Oct 2008 19:38:20 -0700 (PDT) From: "Alexandre \"Sunny\" Kovalenko" To: "Marc G. Fournier" In-Reply-To: References: <48F88B2B.1080700@web.de> <1224245114.75001.7.camel@RabbitsDen> Content-Type: text/plain; charset=utf-8 Date: Fri, 17 Oct 2008 22:38:04 -0400 Message-Id: <1224297484.1118.28.camel@RabbitsDen> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 FreeBSD GNOME Team Port Content-Transfer-Encoding: 8bit Cc: freebsd-virtualization@freebsd.org Subject: Re: Software for virtualisation for FreeBSD needed X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Oct 2008 02:38:21 -0000 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" > 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. Yes. ;) 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 (Олександр Коваленко)