If your 4 port adapter is 100 mbit , it probably doesn't have auto crossover. So in that case you'll have to buy some crossover plugs. http://tinyurl.com/crossoverplug
Then install isc-dhcp-server if you want dhcp functionality and other toppings ..openvpn , poptop, freeswan , samba , utorrent , dns , ntp heaps more ....
shorewall is an iptables frontend , and makes it easy to configure.
You can set rules for traffic between ports of the bridge as well.
For windows it's probably easiest to use something like winroute (if that thing still exists , idk it's been ages) or something equivalent (there's even internet connection sharing in the later versions of window ; not very configurable though); and as with linux , bridge the nic's on the 4 port card. (ctrl click on the interfaces , right click select make bridge)
If you want to do traffic control between those ports on windows however , you'll probably need to make each port a different subnet and add routes.
There is elaborate firewall/routing software for windows .. one of the better firewalls I've messed around with was FW-1 from checkpoint software.
All in all I would recommend linux tbh .. straight server package.. any disto will do , but I like debian and ubuntu server personally /shrug. There are special firewall disto's if you don't want to mess around manually. Using a server diqsto instead of a firewall disto has the added benefit of easily being able to add programs with more specific behavior later on.