From owner-freebsd-isp@FreeBSD.ORG Fri May 16 12:40:06 2003 Return-Path: Delivered-To: freebsd-isp@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8D77F37B401 for ; Fri, 16 May 2003 12:40:06 -0700 (PDT) Received: from cultdeadsheep.org (charon.cultdeadsheep.org [80.65.226.72]) by mx1.FreeBSD.org (Postfix) with ESMTP id C2E9B43F3F for ; Fri, 16 May 2003 12:40:04 -0700 (PDT) (envelope-from sheepkiller@cultdeadsheep.org) Received: (qmail 11330 invoked from network); 16 May 2003 19:40:02 -0000 Received: from unknown (HELO lucifer.cultdeadsheep.org) (192.168.0.2) by goofy.cultdeadsheep.org with SMTP; 16 May 2003 19:40:02 -0000 Date: Fri, 16 May 2003 21:40:03 +0200 From: Clement Laforet To: Peter Gradwell Message-Id: <20030516214003.213bd63a.sheepkiller@cultdeadsheep.org> In-Reply-To: <5.1.0.14.2.20030516154351.066350a8@pop3.gradwell.net> References: <5.1.0.14.2.20030516154351.066350a8@pop3.gradwell.net> Organization: tH3 cUlt 0f tH3 d3@d sH33p X-Mailer: Sylpheed version 0.8.11 (GTK+ 1.2.10; i386-portbld-freebsd4.8) X-Face: ._cVVRDn#-2((lnfi^P7CoD4htI$4+#G/G)!w|,}H5yK~%(3-C.JlEYbOjJGFwJkt*7N^%z jYeu[;}]}F"3}l5R'l"X0HbvT^D\Q&%deCo)MayY`);TO Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit cc: freebsd-isp@freebsd.org Subject: Re: Load Balancing X-BeenThere: freebsd-isp@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Internet Services Providers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 May 2003 19:40:06 -0000 On Fri, 16 May 2003 15:52:39 +0100 Peter Gradwell wrote: > Hello > > Has anyone come accross anything like the LinuxVirtualServer > project for FreeBSD? (www.linuxvirtualserver.org) which provides > a generic tcp load balancer in software? As far as I know there's only only one "usable" load balancing solution : loadd (www.bsdshell.net). But it seems that development is stopped, but it can't be considered as a "FreeBSD Virtual Server". I started to patch natd to provide load balancing algorithms but natd is not the better way to do this, because of natd lives in userland and listen to divert socket. loadd (latest CVS version) uses netgraph to translate packets but, NAT implementation is very poor and seems to be CPU intensive. IMHO, as long as FreeBSD doesn't have in-kernel NAT capabilty, LVS equivalent is not possible. Using KAME in-kernel NAT may be a good way to start the work. :) Currently, FreeBSD can provide only round-robin load balancing. You can use : * ipfilter round-robin capabilty * pf for FreeBSD Don't use natd to do LSNAT, internal hash is based on aliased IP and port, incoming redirections can't be store in a unique place in the table, so look up takes a long long time under heavy load... it was my 2 cents advices :) clem