Go outside and pop the hood of your car. You should see a thick metal barrier at the back of the engine compartment. This is called the firewall. To see how it works, poke a small hole in the fuel line so that a tiny amount of gasoline starts dripping on the engine block. Now close the hood, start the car, and head out on the highway (Some of you may choose to save life and limb (and time!) by merely visualizing this exercise).
If you have positioned the puncture correctly, within a few minutes the escaped gasoline should ignite and cause a small engine fire. At this point you may see smoke emerge from the engine compartment. Continue driving. You should be able to proceed a considerable distance before the heat becomes uncomfortable and toxic fumes and flames start to enter the passenger compartment.
The reason you can drive so far with a flaming engine is because the firewall is a highly effective barrier between the engine compartment and the passenger compartment. If your car had no firewall, the engine fire would have already melted the dashboard electronics and plastic, destroyed the upholstery, and toasted you to a crisp.
Now. Pull over and very carefully extinguish the fire.
A similar principle can be applied to networked computers. Picture your machine as the cozy, tricked-out interior of your automobile, and the outside world as the dirty but powerful engine that makes it go. It won’t do to have the vulnerable components of your network exposed to the engine’s maliciously raging heat — it’s best to install a firewall.
Let us abandon our weakening metaphor here before it carries us into a ping-pong tournament without a paddle. A firewall, in the networking sense, is a machine that straddles the interface between a private network and the Internet at large, and follows predetermined rules for allowing certain traffic to pass, while blocking traffic that’s unwanted.
So, how to get yourself one of those disaster-averting firewalls? You can start by reading on.
Continue Reading “Set Up a Linux Firewall on Your Network” »
OK. You and ten of your closest pals have decided to work on the greatest-ever web page/Perl script/whatever. You all want to work on the same file from the same location at the same time. Then when you’re good and ready, you’ll roll out releases of the code.
Does it sound like a logistical impossibility? Well it’s not if you have the right tool — a source control system.
A good source control system is the secret behind any successful web development project. If you look at any large-scale software development project, you’ll see a source control system at work.
Continue Reading “CVS for Beginners” »
Now that everybody* has a home broadband connection, the need for IP addresses is a growing concern. With the rollout of IPv6 still pending, IP addresses are a limited resource. ISPs are understandably reluctant to hand a static IP address to every US$50/month subscriber. Some ISPs do, and some allow you to pay extra for one. For the most part, though, they’re a bit of a pain to get.
* not everybody
This is not a problem for the majority of home broadband users. Their needs — efficient web browsing, quick downloading of large files, “always-on” service, productive hours spent on WoW or AIM — are met admirably by the service provided. Giving them a static IP address, if they even noticed, would just result in increased security headaches as their insecure Windows machines suddenly had fixed addresses, making them easier to break into.
Continue Reading “Set Up Dynamic DNS” »
Setting up a home server running an open-source operating system is a popular and useful activity. Useful in what ways, you may ask. You could use it to run a website (I use a home server to power my world travel website, luxagraf.net), collect and send e-mail messages, store your OpenID credentials or serve your music around the home.
As you can guess, we have a great many tutorials on Webmonkey for getting the most out of that machine in your closet. But here are some guidelines for the hardware side of it.
Continue Reading “Set Up a Home Server” »
The setup described here enables you to store all your email (and email for other people) on a single machine, which might be a home server, a remotely hosted server, or even a desktop, and then access it from anywhere.
Continue Reading “Set Up a Debian or Ubuntu Machine as a Maildrop” »