Задача проста, как пробка. Нужно обеспечить справедливое деление нерезинового канала между пользователями, кеширование часто используемых объектов и простенькую защиту от ненужного контента.
Никаких аккаунтов, никаких списков доступа, никаких приоритетов или привилегий - просто проксирование. Считаю нерациональным ограничивать пользователей, сдерживать их истинные интересы в интернете, если с этим не справляется их собственный разум.
Делать это будем с помощью Squid - программного пакета, реализующего функцию кэширующего прокси-сервера для протоколов HTTP, HTTPS и FTP. Я выбираю Squid третьей версии, хоть он и не стабилен ещё, но обладает рядом очень хороших нововведений, ради которых можно мирится с его не совсем ровным дыханием.
Я использую на одной машине как обычный прокси-сервер, подразумевающий явное к нему подключение, так и "прозрачный", отрабатывающий трафик, отловленный на транзитных маршрутизаторах и перенаправленный, с целью экономии, на кеширующий прокси. Потому, буду описывать настройку обычного (ordinary) прокси-сервера так, как будто рядом с ним работает ещё один (transparent).