если сеть внутренняя, шлюз с двумя карточками, внутренние адреса вроде 192.168.x.x то почему, как указывалось выше не поднять iptables (ipchains) и не перенапрвлять все запросы на 80 порт через Ваш прокси (3128), все запросы к DNS - к Вашему днс и т.д.
И запустить скрипт по крон, который при превышения лимита подымает дополнительные правила - все эти машины вместо 80 порта идут на Ваш какой-то там, на котором видят страничку, что их время истекло
(+ дополнительные правила пишутся в дополнительный файл, который читается в случае перезагрузки машины). Ну и скрипт с амнистией с начала месяца