I recently had a problem, where due to a VPN having so many clients, the home-use wireless modem/router we were using kept bumming out and causing connectivity problems for client machines. After a bit of a think, and deciding against spending a huge amount of money on a Cisco system, I came up with the following plan…
I built a barebones PC from a VIA EPIA 15000G motherboard we had lying around, a 160Gb HDD (although much smaller would have sufficed), and a spare gigabit ethernet card. I then installed Smoothwall Express 3.0 SP1, setting it to Green and Red mode, to allow a port for connection to the LAN, and a port to connect to the Internet.
The next problem I faced was how to go about connecting to our ISP’s PPPoA connection, as Smoothwall only has the facility for connecting to PPPoE. I attempted to get a couple of home-use modems to work in full-bridge (PPPoA-PPPoE) mode, but was unsuccessful with every attempt, so shortly abandoned that as a bad job. The solution to this problem was to use a Draytek Vigor 120, which acts as a modem, and a PPPoA-PPPoE converter. The only configuration which was then needed to connect the Smoothwall box to the Internet was done very simply via Smoothwall’s sleek web browser interface.
The final issues to clear up were that there was only one LAN port on the router, and that there was no wireless function as yet. Both of these issues were cleared up by connecting a Linksys WRT54GL with DD-WRT v24 SP1 installed, configured as an access point, with the WAN port used as another switch port. This achieved both wireless connectivity and allowed access for more than one wired connection to the Internet.
Once this was set up, the BIOS on the motherboard was set to auto-restart on AC loss, and the entire kit was plugged in. Any supplemental configuration, such as NAT/port forwarding, can be very simply configured from the Smoothwall box’s web interface.
Nice and simple, and far cheaper and easier to implement than a full blown Cisco system.
As always, if anybody has any questions, or even spots any errors I’ve made, just direct them to me via the comments! I’d also be glad to hear of any potential improvements people may have to the system!