Roll your own high performance corporate firewall/router

July 14th, 2008

Jake Shimabukuro – Time after Time

So yesterday I was bored and contemplating some discussions we’ve been having around our team at work. After some complicated backhistory, our office had replaced its perfectly fine Linux based firewall with a string of Juniper Netscreens, which can be best described as prohibitively complicated and increasingly useless. We cannot do any decent logging, graphing or statistics. We cannot easily put in a VPN to a client. We cannot maintain reliability of our own VPN services. We are tied to a platform that simply isn’t working, is wasting a lot of time to maintain and simply providing no business value. And for what? The illusion that hey, we get support from Juniper, and we pay money so it must be better! etc

Now, geeks and tinkerers will all yell out loud about how you can just get commodity PC hardware from a pile of decommissioned junk and throw in some cheap $5 NICs and install TEH LUNIX! Linux will save the day, linux will feed your cat and pleasure your wife in ways the Kama Sutra could only dream about, blah blah blahnix, while I work in my basement getting a realtek driver ported to an older kernel so that I can get 0.0001% performance out of this 486! IN LUNIX!

And they’re right, you can recycle an old box with a couple of NICs and make yourself a very powerful router and firewall using something like Smoothwall, or, if you have a bit more grunt, Clarkconnect or Untangle.

But we’re talking corporate level stuff here. All the advantages of no vendor lock-in with all the performance of corporate level gear. And a Celeron with a few realtek cards from Dick Smith simply won’t cut it. Especially when you’re talking multiple gigabit ethernet connections which will completely flood an ancient PCI bus.

We specifically have a need for some 18 ports of routing, some of which can get by with plain old 10/100, but most if not all should be GbE if possible. So, you’re looking at a PCIe bus and maybe these, Intel Pro/1000 PT Quad PCIe cards. Also for the kind of theoretical maximum throughput, you’re looking at a CPU over 3GHz preferably.

Anyone got a 3GHz+ box with multiple PCIe slots just lying about? Didn’t think so.

So I was looking around for specific products that achieved this; looking specifically at SBC, PC/104, m-ITX etc with a scope for scalability, rack-mountability, and the ability to be used for other tasks such as graphing, logging, SNMP, DHCP, DNS caching and Transparent Squid proxying. I was disheartened to find no such devices at the easy end of a google search and contemplated rolling my own solution and on-selling it. There was plenty with lots of 10/100 ports, a few with GbE but only a PCI slot… none with quite the right combination.

Then I found this:

It’s almost perfect. Using a mix of PCI and PCIe, you could max that out with 10x GbE ports and 8x 10/100 ports. Throw in a mini-PCI VPN accelerator, a hard drive for logs and caching, then either hand craft OpenBSD or install pfsense. If you need more ports or redundancy, configure another one and link the two together using CARP.

I would also recommend maxing out the CPU at the fastest that the board can take, as well as maxing out the memory with a decent brand (crucial, mushkin). Sure, you could spec it lower and upgrade further down the track, but on the other hand will the components still be around when it comes time to upgrade? Max it out now and you should get a considerable life-time out of the device.

I’m still waiting on a local distributor to get back to me with a price, but it’s promising.

Article Tags>> | | |

DesktopBSD 1.6 Released

January 9th, 2008

From DesktopBSD’s websitekmenu.png

It is my great pleasure to announce the availability of DesktopBSD 1.6 final. This release is the first stable release of the 1.6 branch and comes with a great number of new features and improvements. It is based on the second release candidate of FreeBSD’s upcoming production release 6.3 and provides the user with an enhanced KDE 3.5.8 desktop environment.

The most notable new features are:

  • FreeBSD 6 as a modern and reliable base system
  • X.Org release 7.3, improving support for modern graphics hardware
  • Live CD/DVD feature for testing the system without installation to a hard-drive
  • Revised installer supporting upgrades from 1.0 and previous 1.6 release candidates
  • Improved package manager usability and performance
  • Many enhancements and bugfixes for the DesktopBSD tools
  • Support for multiple processors and multi-core CPUs
  • Inclusion of the NVIDIA graphics driver for hardware 3D rendering
  • DesktopBSD build servers as an up-to-date source for precompiled packages

Please read the release notes for more information.

ISO images for the 32-bit DVD (i386), 64-bit CD (amd64) and 32-bit CD (i386-CD) are available. An add-on CD with language packages for the 32-bit CD is also provided (not required with the DVD). The files can be obtained from our download page.

PC-BSD 1.4

September 25th, 2007

PC-BSD, a counterpart project to DesktopBSD, has released their 1.4 version today.

pcbsdlogo.png

The PC-BSD team is pleased to announce the availability of PC-BSD 1.4 (da Vinci edition)!
This release is made available via the efforts of many developers and testers, who have spent the past months refining and improving upon the core PC-BSD experience. テつ
PC-BSD 1.4 retail editions are now available to be purchased via our store provided by freebsdmall.com, or it may be freely downloaded on the 1.4 download page.

This release of PC-BSD includes several notable highlights, including:

テつ* Moving the FreeBSD base version to 6-STABLE
テつ* Xorg 7.2
テつ* KDE 3.5.7
テつ* Compiz-Fusion 0.5.2
テつ* Support for Flash7 in native BSD browsers. (Konq, Opera, FireFox)
テつ* Official NVIDIA drivers to simplify activating Hardware acceleration.

People in New Zealand can grab it from the NZFUG FTP

Microsoft doing something good for Open Source?

September 6th, 2007

Creedence Clearwater Revival – As Long As I Can See The Light

Microsoft has released Silverlight, its Adobe Flash Killer. And on top of that, they’ve announced that they’re going to help out on Moonlight, the Linux version of Silverlight being spearheaded by the Mono guys.

This is both a blessing and a curse.

A blessing because there’s good promise that this will extend to BSD, and may force Adobe to pull finger on its Linux Flashplayer development, maybe even making Flash more BSD friendly.

A curse because well, it may take the internet back to when Flash was new – imagine: Useless Silverlight intro pages, and websites with no accessibility displaying side to side full on Silverlight. Sure, it looks good, but how are you conveying the content to people with visual impairments?

It seems that the GPL-zealots are already dribbling on about how this won’t be software libre, how our freedoms will be stepped on, and how this is like a Microsoft Trojan Horse being rolled into the Linux camp. Then there are people proclaiming it will be bug-ridden and exploit filled who are missing the point.

Microsoft will NOT be releasing the Linux version, they will simply help with Moonlight – an open source project. Useful posts like this are sinking in a sea of zealotous rubbish:

It’s not about what Silverlight can do that flash can’t. It’s about how you make Silverlight do things. For flash, you need to code in ActionScript. For Flex, you have to code in JavaScript which every developer says is the worst language ever. With Silverlight, you can use Ruby (which some people really love), Python, JavaScrip, C#, VisualBasic, XAML. And you can mix these languages on the fly. It’s a developer’s heaven.

The other point I’m seeing made is that Microsoft doesn’t have a good history with cross-platform endeavours – namely they support such work long enough to get people hooked and then drop support for all platforms except for Windows. Again, so long as this gets the hibernating Adobe to wake up and get to work on Flash and Flex, then maybe the competition will see the web skip forward in overall quality.

This guy is doing some interesting Silverlight work, too.

FOSS and the Microsoft Stack

August 21st, 2007

Air – Don’t Be Light – Edit

fossvsms.png

I was reading the comments on Dru Lavigne’s article about Kubuntu vs PC-BSD and I’m finding myself getting frustrated.

The Linux community needs to stop blithering on about licences ad nauseum. It needs to stop dribbling on about software freedoms. And it needs to stop bickering inhouse about whether it’s Linux or GNU/Linux. And the BSD community needs to bite its lip and remember the mantra – BSD: Quality not quantity, freedom not politics.

There is no reason for these two communities to be infighting, neither BSD nor Linux is better than the other – each has their own strengths and weaknesses, and can, in my eyes at least, live in a happy duality where Linux pushes the bleeding edge and BSD sits back and quietly achieves. But while the FOSS community at large bickers internally about licences and freedoms etc, Microsoft has been pushing forward with their stack. You can tie in Windows Server with IIS, MSSQL, Sharepoint, Exchange, Active Directory, Office and so on providing a centralied and manageable solution.

And where the FOSS community can match these individual components one on one, as an entire stack I don’t believe we measure up. FreeBSD/Linux with Apache, PostGRES/MySQL, Drupal+wiki, Zimbra, LDAP, OpenOffice… can the lot interoperate on the same level? Oh no, let’s focus instead on arguing which is better: GPL2 or GPL3! *sigh*

So, to the FOSS community, I beg of you – gag the zealots, preoccupy Saint Stallman and his Stallmanites with something shiny, stop making more bloody Linux distributions and shave that down to about a 6-12 core distributions, foster the BSD/GPL duality I mentioned and get on with the job. Stop bleating on about “this is the year of Linux on the desktop!” like we have been for the last decade, because while it may be true that we’re making inroads to the home user desktop, in the corporate space we’re still being measured against Microsoft. And until we can match or beat the Microsoft stack, we’ll stay exactly where we are now – bickering among ourselves.

It’s time the bazaar grew up and became a more civilised market.

DesktopBSD: Improving consistency of bootsplash, kdm theme and kde splash

August 16th, 2007

Foo Fighters – Over And Out

I’ve been at it again – hacking away figuring out the inner workings of a tiny corner of DesktopBSD to work on standardising the boot process. The latest 1.6RC3 is still lugging around a horrible splash.pcx file from about two years ago, and when booting DBSD flicks between three different backgrounds – it’s not pretty.

So here’s a brief video on the left/top showing my computer booting DesktopBSD with my Red theme. The closeup is intended to show the position of the Caps Lock and Failed Login warnings – roughly centered. And on the right/bottom is my old laptop booting with the Blue theme, as it is in a lower resolution than the xml file is targetted for, the login prompt etc is off center.

Password Security

August 14th, 2007

Filter – Take A Picture

Here’s the type of documentation that I write. I won’t repeat it here because it’s a lot to chew on, but you can view it here:

http://desktopbsd.net/wiki/doku.php?id=doc:security

DesktopBSD 1.6RC3 Released

July 26th, 2007

Lemon Jelly – Somerset House Mix

The latest release candidate of DesktopBSD 1.6 has been released this morning. You can grab it here. Or if you’re in NZ and want a copy mailed to you on CD, drop me an email:

DesktopBSD 1.6 RC 3 is now available for download from our mirrors or via BitTorrent. This release candidate is a large step towards a final 1.6 release with major changes such as:

X.Org release 7.2, improving support for modern graphics hardware
NVIDIA graphics driver, providing 3D acceleration and other features for NVIDIA video cards
Latest FreeBSD 6-STABLE as base system, including HDA driver and other important audio improvements
Software packages are now built using our own infrastructure, allowing more frequent updates
KDE 3.5.7

Upgrades from 1.0 and previous release candidate are supported. A language CD and AMD64 DVD will be released soon.

While on the topic of BSD, New Zealand now has a FUG (presumably FreeBSD Users Group), the NZFUG. Once my WiMAX connection is up and running I’m hoping to host a BSD FTP/CVS mirror that the NZFUG might like to use, I just need some more SCSI drives.

/update: Seems the DBSD site is taking a heavy traffic hit so it might be slow

The departure of Oliver Herold

April 29th, 2007

Oliver Herold, a highly valued and very active member of the DBSD community has posted that he is leaving the DBSD community. It is his opinion that DBSD is a dead project. He also has this to say

No it’s maybe somewhat different, I’m actually not leaving FreeBSD or BSD, we do have a Jabber server with Debian and some game/fileserver for FreeBSD. But I’m evaluating it at desktop for some people, mainly beginners.
So actually I’m leaving this forum, because I don’t see anything useful in DesktopBSD anymore. Of course it’s a nice work, but I don’t see any future for it.

-there is no Flash
-there are no multimedia frameworks
-Voip with video is almost impossible
-Wine is crap in FreeBSD
-there is no virtualization
-there are no drivers for digital tv

and so on.

These things I hear again and again (I’m not using Flash or watch TV). People do know open-source lacks a lot of nice things from Windows world, but it’s even worse in FreeBSD.

So what should I tell them? Go away, you have to live like an ascetic to understand open-source or FreeBSD? Some of them are eager to learn, some of them are even found of using the console – but sacrificing almost anything multimedia for example is a dead end for them. I cannot yield any magic, so it’s impossible for me to help them – in the end I tell them of Linux.

Second problem the so-called FreeBSD-community, most of them are heavily afraid of these desktop BSDs. They don’t want them and they don’t support these systems at their forums at all. Of course you will see this crappy behavior in Linux too, but then again it’s only a small fraction of the whole huge community. FreeBSD isn’t able to live such a snobbish behavior. It’s very important to have a healthy community in *BSD, from the desktop, the enthusiast, up to the server admin. Maybe the desktop user of today is some commiter/maintainer tomorrow.

So these are some of my thoughts, I’m really found of this operating system, but I sick of these so-called professionals torpedoing any attempt to broaden the user base of FreeBSD.

テつサ Quote:
What should the BSDs do? As I’ve said several times in the last five years, that depends on what the projects want. But if we want to be seen as a viable alternative for use by non-developers, my big issue is that we need to understand the end user perspective. We can’t just say of any feature テ「??If there’s nobody there to support it, axe it.テ「?ツ As long as there are people who want that feature, we need to support it. If we don’t, BSD is gradually going to be usable only by software developers.

Greg Lehey, 2004

And some hype from FreeBSD development,

テつサ Quote:
FreeBSD developer Scott Long told ZDNet UK on Thursday that the operating system, descended from the Unix derivative BSD, is “quickly approaching” feature parity with Linux.

“Lots of work is going on to make FreeBSD more friendly on the desktop,” Long said. “Within the year, we expect to have, or be near, parity with Linux.”

cnet-news

Makes me really laugh, May 12, 2006 and let me see … oh we are now in 2007, almost May
So hurry up FreeBSD development, 3-4 weeks only and then it’s a year … *almost* parity with Linux.

Maybe this sounds a bit polemically but there isn’t anything to hype, apart for nerds like myself or some server admins.

Cheers,

Oliver

And he does have a few good points. However, they’re not without rebuttals

-there is no Flash
-there are no multimedia frameworks

There is indeed Flash, however because Adobe chose to stick with ALSA for the audio subsystem in Flash-9, users of BSD are relegated to using the old Flash-7 branch. This is because BSD does not use ALSA, instead it uses OSS for its audio. It might be possible to get Flash-9 working using something like SALSA, but that’s work for somebody else as it’s beyond me. Alternatively, Adobe could have done as asked multiple times and used GStreamer, a multimedia framework available for both Linux and BSD.

But that’s really neither here nor there, the important part is this:

Second problem the so-called FreeBSD-community, most of them are heavily afraid of these desktop BSDs. They don’t want them and they don’t support these systems at their forums at all. Of course you will see this crappy behavior in Linux too, but then again it’s only a small fraction of the whole huge community. FreeBSD isn’t able to live such a snobbish behavior. It’s very important to have a healthy community in *BSD, from the desktop, the enthusiast, up to the server admin. Maybe the desktop user of today is some commiter/maintainer tomorrow.

And you know what? He’s right.

But at the end of the day, does it really matter? Looking long term, there’ll be a time where the underlying operating system won’t matter. You’ll be able to access your profile, documents, settings, everything from anywhere. Just you watch, client/server application delivery is coming back in a harder, better, faster form called Software as a Service (SaaS). You’ll be able to carry your profile with you on a usb stick, plug it in to virtually any internet enabled computer and immediately be able to work on your documents with any application you’re subscribed to.

What was once known as Application Service Providing has been given a web 2.0 workover, and while I think it will flop, it will pave the way. In ten years you wont even need to carry your profile with you. Merely sit at a computer and voila, some combination of an RFID descendant coupled with biometrics authenticates you, and you simply access your desktop across the internet. We can do that even now, but with our current network links it’d be painful to do with any scale.

So in that sense, perhaps the desktop BSD’s are ultimately an evolutionary dead end; headed the way of BeOS. Maybe they aren’t. I’d personally hate to see them go, as I strongly believe in the BSD code quality before bleeding edge mentality – with a bit of effort from the right people, DesktopBSD and PC-BSD could overcome their shortcomings and actually achieve Linux parity.

BSD: Nvidia drivers broken part II – a fix

April 18th, 2007

William Shatner – Common People (feat. Joe Jackson)

See Part I here

Thanks to Dwainehead of the DBSD forums, there is a potential resolve for this, here we go:

1. Preferably on a fresh install, update portsnap. If you’re on DBSD, fire up the package manager for the first time. This is some 47 megs of downloading

2. Update the kernel source. At the cli, su to root and enter
cp /usr/share/examples/cvsup/standard-supfile /etc/source-supfile
then
ee /etc/source-supfile
then change
*default host=CHANGE_THIS.FreeBSD.org
to
*default host=cvsup2.at.FreeBSD.org

3. Run a cvsup on the supfile
cvsup -g /etc/source-supfile

Note: If you do not have cvsup, you’ll need to portinstall cvsup or cd /usr/ports/net/cvsup/ && make install clean
Note 2: This will take AGES depending on your hardware and your internet connection. Overnight plus a few hours.

4. cd /usr/src/sys/i386/conf
cp GENERIC CUSTOM
ee CUSTOM

Change
cpu I486_CPU
cpu I586_CPU

to
#cpu I486_CPU
#cpu I586_CPU

You might like to consider adjusting these two settings while you’re at it:
options SMP
options PREEMPTION

5. cd /usr/src
make buildkernel KERNCONF=CUSTOM
make installkernel KERNCONF=CUSTOM
reboot

6. Your system has now compiled and installed your custom kernel, and all going well has rebooted using your new kernel. You’ll probably be looking at a gui login screen, CTRL + ALT + F2 to drop back to CLI and login as root

7. cd /usr/ports/x11/nvidia-driver-9631/ && make install clean
cd /usr/ports/x11/nvidia-xconfig/ && make install clean
cd /etc/X11
nvidia-xconfig
reboot

And that should be it! Crikey I hope they figure out a streamlined workaround… It worked fine for me, 1920 * 1200 of 24″ widescreen goodness is mine once more :)

ソス Previous Entries