All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Sartor <BenSar@web.de>
To: Netfilter Development Mailinglist <netfilter-devel@vger.kernel.org>
Subject: RFC Announce active-active solution: availability-manager
Date: Thu, 11 Oct 2007 16:35:12 +0200	[thread overview]
Message-ID: <200710111635.12529.BenSar@web.de> (raw)

Hi!

During my diploma thesis which was sponsored by credativ (www.credativ.de) I 
implemented an active-active firewall solution. It implements a loadbalancing 
cluster that is able to detect new nodes (on-the-fly integration) and failed 
ones. Furthermore, it synchronizes the connection tracking table of the 
nodes, so that at a failover no connection gets lost.

In order to achieve this the kernelmodule "clusterdev" was implemented. It is 
based on Harald Welte's "clusterip" and so it uses a multicast MAC address to 
share an IP address on multiple nodes. Which node is responsible for a 
connection is determined by a responsible range (0 ... 255) assigned to each 
node.

The second part of my solution is the userspace 
application "availability-manager". It sets the responsible range and 
implements a simple heartbeat protocol. Furthermore, it uses 
libnetfilter-conntrack to make sure the connection tracking table of each 
node is known by the others. Thus at a failover the connection tracking 
entries can be reallocated among the remaining nodes.

The software is released under the GPL and can be downloaded at:

http://sourceforge.net/projects/avail-manager/

A translation of my diploma talk can be found at:

http://avail-manager.sourceforge.net/talk.pdf

I tested the software with kernel 2.6.22 and libnetfilter_conntrack-0.0.81. 
For the future it is planned to include IPv6 support. Furthermore I think it 
may be possible to make it work with "clusterip".

Although I consider the software to be in a pre-alpha state, it runs quite 
stable in a productive environment at the credativ GmbH. Any comments are 
highly appreciated.



Regards

  Ben Sartor

                 reply	other threads:[~2007-10-11 14:35 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200710111635.12529.BenSar@web.de \
    --to=bensar@web.de \
    --cc=netfilter-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.