My new Mikrotik Love

Recently I’ve begun playing around with Mikrotik routers as part of my normal day job, and I’m really impressed by them! I’ve now used two different models:

  • The RB2011LS-IN, which I’ve set up as an edge router on our backup SHDSL link, so that I can do more complex routing than a normal consumer router could do, and survive the high-usage scenarios that our old router (a Cisco 877 router with suspect stability) was stressed by.
  • The RB751U-2HnD, which I’ve now set up two of: one as the main router in a small business, providing two virtual access points; and a secondary switch and access point to that same network.

I’m really loving both the web interface and the Windows GUI interface, but the fact you still retain the command-line interface as well (like a Cisco device) is pretty cool. The fact that it uses the same operating system across all devices is also great, as it means a nice upgrade path exists if we want it.

As far as I can see, Mikrotik routers are basically Cisco gear without the indestructible casing (though don’t get me wrong, Mikrotik stuff is still pretty well built) and a price tag that’s a fifth of what an equivalent Cisco router would cost (usually even less!).

I’m seriously considering buying a Routerboard for home; the only thing they lack as far as I can see is an ADSL2+ port. I reckon I’ll just use a simple TP-Link modem in bridge mode until my home gets provided with a fibre-to-the-premises link (hopefully) later this year. I’m not yet sure what model I’ll buy. My heart really wants a rackmount device, because rackmount is codeword for cool, but my brain says something from the RB751 series or the RB433 series would do the trick.

Setting up a Home Server on (almost) nothing

There are any number of reasons you might want to set up a home server. Serving a website for cheap may be it. You might want to compile software, or backup your files onto another computer for safe-keeping. Whatever the reason, here’s how to do it.

Assuming you already have an Internet connection, it’s surprisingly easy. First, you’ll need a computer. For a server destined for a single user, you don’t need a lot of processing power (or a lot of RAM). This makes the whole process a lot easier.

The first place I would look is the local computer shop (preferably one that repairs computers). Ask them if they have any spare old computers you could have. Most would be willing to palm off any old computers they have lying around from upgrades (usually their customers don’t want the old computers back) for either free or a very low price. I used to work at a computer store as a technician. We had old computers lying around everywhere. Most of them were working fine. They may not give you the hard drive, but you can pick up one of those for cheap as well.

If you have a friend of family member working in a larger company (especially in an IT department), asking them for a computer might be fruitful. Most larger companies replace all their computers every 3 or 4 years, and as such usually have quite a few old ones lying around doing nothing. You can get amazingly good systems (usually with no faults or blemishes to be seen) if you ask around.

The next place to look would be a tip (or dump) shop. These are places (usually run by charities or co-operatives) that scavenge off the tip face and then sell what they find for incredibly low prices. You might think that all you’ll end up with is a 386 computer that’s been lying in bacon fat for the last month, but you’d be wrong. It’s amazing what people through away. My entire sound system (including high quality (albeit aged) speakers, amplifier, tuner and so on) was picked up at a tip shop for less than $20. All working perfectly.

The final place I would suggest looking for cheap computers (or the missing parts you weren’t able to find from a computer shop or tip shop) is eBay. You’ll be looking for incredibly cheap postage on the items (on computer cases this is a killer), so limit the search to places nearby that allow picking up the item. Don’t get carried away with bidding high for the ‘perfect’ server. Used computers are a dime a dozen on eBay, especially if you live in a more populated city.

Once you have a computer, it’s time to start installing some software on it. For this, you’ll need a monitor, a keyboard, a mouse, and an Internet connection. Once the base software is installed you’ll no longer need the keyboard, mouse or monitor, so you can borrow these from your main computer temporarily if you have to.

First though, you’ll need to get your hands on the software. The up side is that it’s all free. The down side is that there is no support line (though there are thousands upon thousands of sites where you can ask for help from other users). You’ve probably heard of an operating system called Linux (more formally known as GNU/Linux). Server environments are where it shines.

There are hundreds upon hundreds of Linux distributions (collections of standard software packaged up in a particular way). Each one has its own advantages and disadvantages, and I won’t dictate to you which is the best to use for a particular use. That said, there are a few that are worth your first attention. Names such as Fedora, SUSE, Debian and Ubuntu are well-known, and have been around for a decade or more (and as such, can be assumed to not be going anywhere anytime soon). If all you’re going to use your server for is storing files, a particular distribution (technically a different operating system, but the difference for most practical purposes is nil) called FreeNAS pops up. Check this out if all you want is to store files and nothing else.

The installation of most Linux distributions works thus (check the particular distribution’s website for details):

  1. Download an image (known as an ISO) of the operating system installer.
  2. Burn the image to a CD using image-burning software. For Windows, one I particularly like is called IsoRecorder.
  3. Insert the disc into the drive on the server, and turn on or restart the server (whichever is applicable).
  4. The disc will take a few minutes to start up, and after that just follow the instructions on the screen. Note that during the installation process the machine will probably want to configure network access. It’s best to already have the server connected to your modem or router before the installer starts.

After the installer is finished, you’ll end up with a bare server, ready for more software and configuration to take place. Read the manual of the distribution for details, but in general you’ll want to install some or all of the following software:

  • SSH. I recommend installing this so you can access the server remotely over the Internet. Port 22.
  • Apache or Lighttpd. These are web servers. Only install one of them. Port 80.
  • Samba. File sharing with Windows machines.

Note that I’ve listed these things called ‘ports’ in the list above. Why is this? These are configuration changes you’ll need to make to your router in order to let the Internet traffic see your server. If you’re confused, Google ‘port forwarding’ and the model number of your router for instructions.

You’ll also want to set up something called Dynamic DNS, which you can do at dyndns.org. This allows you to use a name to access your server (such as example.dyndns.org) instead of a dynamically changing IP address (such as 218.214.200.21, which can change every 24 hours or so).

There’s a lot to read and understand here, but once you’ve set all this up, it’s likely you’ll have a much greater understanding of how computers, computer networks, and the Internet all work. Oh, and you have a home server.