我想实现这样的功能,应该用什么实现?

我想实现这样的功能,应该用什么实现?

现在我是用ipchains实现NAT把公司里面共享上网,指定某个IP可以上网,那个时段可以上;
以前用过squid+ipchains不过设置那些IP可以上哪些不可以上,就要两个的conf文件也需要修改,太麻烦,所以现在只用ipchains.
因为只用rh7.0所以,不用使用iptables,除非升级内核,不过太麻烦,而且因为上次升级内核导致不能启动有点害怕,而且服务器不能关太长时间,所以还是暂时不用iptables.

但现在上司要我实现的功能是:
1.通过用户名字来识别能否上网,
2.某些用户只能限制访问某个网站.
3.具有计时功能,每个月察看用户上网的情况.
4.不同用户不同的时间限制.
我上次看过用文章"Squid实现代理上网及计费",
但好像还有点功能没有,请问怎样可以实现这功能呢?
thx
      
现在好象有不少做防火墙和代理服务器的公司,他们的产品中好象有些是可以提供你说的这些功能的,至于免费的产品,我想现在可能没有,至少我没有找到.
而且这可能是一个相对比较麻烦的项目了.
如果,你有钱,可以找人帮你做作      
要想实现总是可以的,只是有点麻烦。
第一个功能用squid实现,
2.用ipchain加squid吧
3.使用weblizer软件
4。做个脚本,放在crontab中自动执行。