I use Shorewall for protecting my company’s network and to control traffic. It is the greatest firewall to use and really simple to configure and maintain.

One of its great functions is the Accounting feature. With Accounting you can create rules to count certain traffic. Fully customizable, it allows any type of rule to count traffic. Now this is great but combined with a graphing tool it becomes indispensable. Using MRTG as the graphing tool enables you to quickly and easily see what is happening on your firewall. A script to integrate MRTG and shorewall is available here.

However the script does not take into account rules that return small amounts of traffic such as NTP or SSH. Anything under 1KB/s is incorrectly considered as KB/s and multiplied by 1024. I fixed the script to handle these rules and the end result is available for download. I cannot contact the developer of the original script and until that time the original script will continue to have the bug.