Perlbal in less than 5 minutes

Perlbal is something I always wanted to learn. A recent DDOS made sure I learned it in an hour or so. Apparently the regular stuff take about 4-5 minutes with it. This post will try to make it shorter.

Suppose you have three servers:
Web1 - webserver number 1 - 10.2.3.1.
Web2 - webserver number 2 - 10.2.3.2.
GW - your gateway server, which you want to use as a reverse proxy for Web1 and Web2.

What you basically need is 2 things:
- Perlbal configured for Web1 and Web2.
- Web1 and Web2's Apache (which is what I'm using) should set the forward headers correctly. This is optional but most people will want this. Also, it might be supported in Perlbal, but I didn't find it yet.

For the Apache, on Web1 and Web2 you just download and compile mod_rpaf using:apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
Then you follow the simple 5 config lines available at the mod_rpaf page.

On GW you install Perlbal from CPAN using cpan Perlbal. You'll need gcc and a few libraries (gzip and bzip2 devel, for example).

Then you create a folder "/etc/perlbal" and create inside it a file called "perlbal.conf", with this content: