"Ashley T. Howes" wrote: <snip>
What tools are available for me to implement this in Linux? I guess the Linux box will need 2 ethernet cards, one for incoming traffic (from internal machines) and one for outgoing (to the router). Where is the best place to look for configuring Linux to do this?
IPchains under kernel 2.2 or IPTables under 2.4, what you want to do is masquerade connections through the firewall so they appear to be coming from the gateway onto the internet, you then want to configure the firewalling rules to only forward packets based on IP address and of course secure your network from traffic coming from the other direction.
The tools to do this are included with most (all?) distros you will want to read the IP Masquerade How-to the IP-Chains How-to the O'reilly book building internet firewalls may help give more background if you get really stuck.
There is also a tool that you can get from www.pmfirewall.com called pointman firewall that sets up things for you automagically but it got things wrong in my case and I had to do some tinkering but may be helpful for looking at the output to get an idea of what your trying to do.
Finally, it would be really cool if I would log the amount of access from each internal machine (in Mb of traffic transferred).
As Neill says MRTG let you know bandwidth usage, but you will need to get some SNMP tools and I'm not sure if it will be able to extract the relevant information based on IP address as you require though.
Adam