I did one at home. For the network side, I used some Ubiquiti equipment. For example, the EdgeRouter X is hard to beat for $50 and it will NAT a full gig of internet traffic. I also have it programmed (from command line) with zone-based firewall between VLANs, time-based rules, etc.
As a dev, I learned a valuable strategy from the way their command line tools work. The device configuration is stored as JSON in MongoDB. And their command line is basically just a wrapper for setting values at a JSON path. You can look at a JSON config and figure out what command you need to run. And vice versa. And the CLI still manages to feel similar to other kinds of routers like Cisco. Brilliant design.
I used my old gaming computer to host VMs.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.