I recently decided to finally install a wired network in my house after suffering the faults of WiFi. I had considered buying a new WiFi router, but nearly every single router I looked at had its bad reviews. It was around this time I decided to wire up the place and caught a couple episodes of Hak 5 (718, 720) that tickled my fancy…Build my own router. The concept never made sense on my strictly wireless network, but everything came to a head at the same time and I was obsessed. I held off on completing my main rig by finally getting a real graphics card in order to complete this project without braking the bank.
Fleshing it out
After much experimentation and deliberating, I decided the easiest and most useful set-up (for me) would be a Windows 7 rig running the firewall OS in VirtualBox. All my PC’s run Windows 7, so it only makes sense for my server to run it. Why go through the hassle of getting Linux distro to play nice when a Win7 box will just work. And as for the firewall software, I decided on SmoothWall for now. I had originally tested Untangle, but could not get it running efficiently in a virtual machine.
The whole rig was purchased for just over $300 after shipping from NewEgg.com. This router will only have to support me and my brother on a regular basis and every now and then a guest’s computer or one that I am working on on the side. If I had it to do over, I might get a processor that explicitly supports visualization, but this gets the job done.
Realization of Virtualization
After much research on the overwhelmingly confusing topic of visualizing a firewall, I stumbled upon this incredibly helpful post. And after much experimenting, I finally managed to get SmoothWall running and routing while virtualized in Win7. My area of expertise is mainly in hardware and desktop support and any networking knowledge I posses is due to what I have had to learn to get by. Throw my lack of network experience in with trying to apply it to virtualization and bridged networks and you get a very frustrated geek. I should say that most of my frustration was with trying to optimize Untangle before I gave in and went with SmoothWall.
The trick was setting the dummy IP address on the RED NIC (network port that connects to the modem) in the host OS. It was a detail that kept overlooking in the link above. And was also something that I didn’t really see reference to on other similar tutorials. You then assign the GREEN NIC (network port that connects to the rest of your network) in the host OS to DHCP or the appropriate static IP.
After getting the firewall working, I did get the host OS onto my workgroup and sharing a storage folder. I even got VNC working after getting around some of the problems that it has on Win7. So now I can manage it headless. I also found a great little application for running Virtual Box VM’s as a service at boot-up that is dead simple to set-up and is working like a charm.
Results…or Was it all worth it?
Yes! Now your mileage may vary, but I am seeing great speed and performance increases. My subscribed DSL speed is 6Mbps and really never had issues with getting that speed on my old Belkin router. I did however have problems that required my restarting it at least once an evening. Which was one of the factors driving this project. With the my new custom rig I am now seeing regular speeds of around 6.5Mbps and even see some steady 8Mbps speeds in some Steam downloads. These kinds of improvements might seem ridiculous, but I am not really surprised. I live in a small town and live just outside the city limits. And I can imagine that Windstream (my ISP) is pumping out a healthy signal to get as far out in the boonies as possible. There are also relatively few subscribers between me and town. So my more powerful router is just taking advantage of every bit it can. I have also not had to restart any part of the machine after the initial setup process and boot-up testing. So yes it was all worth it.