Прокси работает только с теми протоколами которые он (данная программа) поддерживает. Основной смысл прокси - скрыть пользователя, но с этим вполне хорошо справляется файрвол, по сему прокси логично использовать для кеширования и фильтрации.
С сетевой точки зрения прокси бывают двух видов: обычные и прозрачные. Чтобы работать с обычным сервером пользователь должен установить настройки прокси в своем браузере (или иной программе), а при прозрачном прокси, роутер должен иметь механизм перенаправления не своих транзитных пакетов на прокси - т.е., в принудительном порядке и прозрачно для пользователя.
Особенность прозрачных прокси: перехватываемый протокол должен содержать в себе информацию о том хосте, на который пользователь послал запрос. Это связано с тем, что адреса в пакетах подменяются и прокси-сервер не знает куда юзер обращался. Например, для HTTP нужна версия 1.0 и больше и обязательно должен быть параметер "Host" (по некоторой информации, имя хоста можно передать в самой первой строке, заменив URI на URL).
По этому лучше делать "обычный" прокси. Его механизм прост: юзер конектится к прокси, а не к конечному серверу. Т.е., юзер добровольно это делает. Принудить его к этому можно запрещением прямого доступа на соотв. порты (80,443, и т.п.). Тут есть изъян - на той стороне http сервис может быть на
любом порту - не все же закрывать файрволом. А если юзер, минуя файрвол, выйдет на внешний прокси, то далее он может попасть куда угодно (в рамках данного протокола).
Тут я делал упор в основном на HTTP, но все это может быть, с некоторыми поправками, на иные протоколы.
Что касается ICQ: неплохо работает и без вспомогательных программ на роутере. SOCKS кое в чем ему поможет, но он не обязателен.
Типичное решение:
1) для пользователей закрываются порты 1-1023 и порты некоторых серверов (см. сам какие у тебя есть) выше этого диапазона, но отдельные порты можно (по необходимости) разрешить (например: прямой доступ к ftp (21), http (80,443), pop3 (110) и т.п.).
2) все входящие соединения блокируются, кроме специально разрешенных (обязательны все параметры: входящий IP, протокол и порт).
Решений может быть много - это вопрос баланса между защищеностью сети и желаниями пользователей.
Пользователь - главный враг админа
Если сделать хорошо защищенную сеть, то пользователь помрет на работе от скуки