Astaro has some very good, opensource-based solutions. And for personal use (less than 50 IPs I believe) they are free. You can setup a gateway that can report...and limit...bandwidth usage.

http://www.astaro.com/