Ну самый тупой способ - поставить
на firewall tcpdump и парсить его
выдачу скриптом. Подробность -
неограниченная, реализовавать -
замучаешься. Ресурсы кушать тоже
будет немало.
Многого можно добиться средствами
IP-accounting в ядре Linux
(но вот куда ходили - не узнаешь -
не писать же на каждый адрес в Internet
отдельное правило на firewall)
Но если речь идет только об http-траффике,
то ставится transparent (или не
transparent, если юзеров можно заставить
пользоваться) proxy и в логах
proxy-сервера (скорее всего squid,
все и смотрится)