**iptables** is stronger than you think. There are other options as well. Some of them allow you to manage with a very easy to UI. But knowing Linux admins, they will be more than happy to deal with the CLI.
I used ZeroShell for a few servers, physically installing it on a machine, having the router to cascade connections to it and manage everything from it. It allows you to use a web UI to deal with most firewall stuff like ip tables, rerouting, setting sub-networks, captive portal and so on.
I can deal with iptables but I see the advantage of a simple and clear UI for it
@Abhi what do you mean how do I make it work? You basically put it in a cd, put it in the machine and it works.
There are pros and cons. One setup I used with a VPS was contain everything in lxc containers, which are kinda lightweight virtualization (not really but to give an idea), and are quite easy to use. All traffic was going to a DMZ container that was just dispatching traffic between other containers with iptables, each container a service (one for the forum one for a website and so on). Was a very easy setup to maintain, but does not have all the powers of a fully fledged firewall in case you also want to manage the intranet and access points
Yes, a lot of admins like Clouflare against DDoS. Maybe because it is simple and can be setup easily through cPanel.
How about cooling ? Considering it will be a decently powerful machine, there will be a need for some sort of cooling system, right ? Don't mind, I excited to meet someone who actually runs a self-maintained rig.
@Abhi well it depends what is the machine supposed to do. I had a server that was basically just serving files, no high CPU work only loads of hard disks, and just leave it in a room with the AC on was fine. Usually when you buy a computer that is made to be a server they are equipped with good cooling, oftentimes very noisy fans included =D
If you like the idea just get yourself a raspberry pi or something, for like 30-40 bucks you can have your own server at home! I have 2 I use as personal cloud, syncing files and torrent seeders