SOHO Router/Server Project
- I'll be building a linux based router PC (If all goes well), which will also act as a normal SOHO (small office home office) style server.
- Electricity - I need to run a SOHO server PC anyway, so combining the SOHO with the router will have some power saving benefits
- Power - A standard home router is generally on much weaker hardware, such as a slower embedded processor such as a RISC processor with 16 megs of ram. While I admire how much has been accomplished through custom firmware, I am looking for something much more capable.
- Flexibility - With a full blown linux server as my gateway, I will not be restricted in hardware or software compared to an embedded router solution which the entire unit must be changed in order to upgrade a single component (wireless hardware, networking bridge, ram, cpu, etc). Software for a 32 bit/386 platform is vastly available, while building software for the different processors for embedded devices can be a difficult and tasking process. I do understand an impressively large number of apps have been ported and designed to work very well with OpenWRT, but it is no comparison to the number of applications available to the 32 bit platform.
- Connectability - Using a linux server pc as a router will allow one to connect and route any type of layer2 network that can be ran on a standard linux box. Basically this means it will be more or less trivial to add a bluetooth tethered connection and route my entire network through that in the event of an outage. I could also use a 3G cell service without much headache, while getting these services to work under an embedded solution is quite difficult. Finally, dual WAN failover is very interesting to me. With DSL direct only being $20/month and ISP's beginning to monitor and restrict bandwidth, getting 2 ISP's and having dual wan failover is something we all may have an interest in as power users someday. I am preempting this a bit by getting a setup with dual wan failover which will ensure reliability of service and the ability to see the internet from 2 completely different vantage points without the need for purchasing commercial or dedicated lines such as a T1 for my residence.
- It's a good question worth asking. I have had many suggest already to not do this, so if you're thinking this may be a good project for you to delve into yourself, you may want to consider some things. It will be very difficult to get this system working properly without purposely selected hardware and a rather difficult set up. To be entirely honest, BSD might even be a better OS to run on something like this, but I'm not as familiar with it so I have chosen linux for the time. Since I am just using the cheapest hardware I can get, or am simply using the stuff I already have laying around, getting it to play nice might be one of my biggest challenges. If this is something you're considering trying yourself, please first fully understand the challenges involved, and the alternative solutions that may be more suitable
Also, there's a great risk the configuration may be just an SSH interface, rather than a pretty web GUI that we all love with those off the shelf routers. I might be able to use webmin or something similar, but doing so may incur a security risk as well as not really have the routing options available (more system maintenance than anything, really)
Finally, as has been mentioned many times, price. The price of this may be much higher than a regular WRT54GL router which you can buy off of the shelf, load OpenWRT/DD-WRT/Tomato on and get up and routing your network in a matter of an hour or less. This setup will be far more costly as far as price to purchase and maintain equipment, and the time required to put into it. I would not recommend this for everyone, but it may be something we begin to see more of in the future.
- I hope to have this server act as a routing platform for routing my home network through unlimited amount of gateways to the internet. I may be using cable, dsl, cell phone service, 56k, etc. This will change depending on availability to me and what I feel like playing with. I also use skype (soon switching to magic jack) for my home phone service, I need to have this server run this as well, since one of my primary objectives is to combine all of my server needs into one machine. This may be challenging due to lack of linux support both skype and magic jack hardware have. Finally, I have some standard services I'd like to serve, including: NFS, Squid, httpd, ftpd, identd, pybnc, and openvpn. I will be adjusting this list constantly according to needs of course.
- I have not entirely decided yet, but since there seems to be no viable existing linux distros which will allow what I am trying to accomplish, I am leaning towards Gentoo due to its flexibility, and lack of a "standard build". IPCop and pfsense are very appealing, but do not offer the amount of expansion I'm hoping for. It would be silly to go through all the effort then be limited by the distro I chose. eBox ubuntu based SOHO distro is _very_ appealing, but unfortunately makes my current box chug quite a bit because of how much it has on it.
- Processor: P3 1Ghz
- Ram:512mb pc133 (non-ECC)
- Network:3Com 3C920 Integrated 100mbit NIC, Linksys NC100 100mbit NIC, Foxconn 54g pci Wireless card (rt2500 chipset)
- Expansion:5 PCI slots (2 in use), 2 USB slots (1 in use)
- VOIP:Zoom Skype ATA 5900
- Cost:$30 (so far)
If you have any suggestions for good hardware to use, especially for wireless (range+linux compatability most important) and VOIP (magicjack+skype) please let me know.
Current pic of setup: