Six years ago now, I wrote an article for Personal Computer World on how to build your own mail server with anti-spam and anti-virus features. The first part of the feature is here and deals with putting together a 1U rackmount server, on which to run my chosen operating system, which is OpenBSD. Sorry – no photos or screens, sadly.
Part two is available here, and explains the installation process, which was using version 3.6 of OpenBSD at the time. I still run essentially the same sytem, though it’s had a new motherboard, more memory and a couple of new versions of OpenBSD since then.
What I have now is an OpenBSD system that’s running the Courier IMAP server, hosting my main email accounts, allowing me to access all my emails from just about everywhere in the world (with a self-signed SSL certificate to give a degree of privacy when I’m doing so over mobile networks and WiFi).
There’s also an authentication daemon, which allows me to send messages through my server, wherever I am, but that’s essentially it. On the whole, I’ve found this a pretty reliable setup, capable of dealing with a lot of mail on relatively low-spec hardware.
The original inspiration came from a useful set of instructions maintained by Scott Vintinner; those have now been retired, but you can see the archived version here. For those who are more curious, I also have some scripts that we put together for the PCW cover CD, which made setting things up a little simpler – though of course they’re pretty out of date now, so there’s not much point publishing them here.
Getting ready for IPv6
So why am I bringing all this up now? Well, I’ve just been writing a short piece for RegHardware about IPv6, and what it will mean for users. While doing that, I came across this very useful post by a chap called Gordon.
Since I already have OpenBSD, I though it worth experimenting with the TunnelBroker service that he mentions, to see if I could get things set up. And it was astonishingly easy. So now, in addition to working as my mail server, the OpenBSD box is providing a tunnel service that allows other systems on my network to talk IPv6 to the wide world.
I hope to write up more about how to do this in a future piece for RegHardware, covering more than just OpenBSD. But it’s worth looking at and having a go if you’re interested in the meantime.
The hardest part wasn’t even really technical – it was best described as user, when after scratching my head about why the Mac and the OpenBSD system couldn’t see each over via IPv6 I finally remembered that they were actually on different networks. Sometimes, it’s the really obvious stuff that stumps us!