An unfortunate incident here in my computer castle!
The Users are enjoying unfettered access to the internet to the point that (according to the boss) "Work has come to a screeching hault!.. And you gotta fix it!" (meaning me, that is)
lucky you

so, with tears in my eyes, I was about to shut down my beloved e-smith communicatioins server thus severing Internet access for all of the little people out there in cubicle land who were too busy looking at "gosh knows what" to finish the simple tasks for which they earn their stipend. Just as I was about to hit the button, the boss handed me a list of people and web addresses and said "This is the sights that I want these people to be able to see. Everyone else needs their Internet access!"
There is a way.....
I believe that your users is using DHCP to get there IP-information and so ?. If this is true then you can setup DHCP to give the same infomation to some people (the ones that can go anywhere). Like this:
User joe > get info from DHCP, DHCP sees joe MAC addresse and give him the ip adresse and other info. that your have put in the DHCP.conf. Lets say that joe every time he starts his OS gets ip: 192.168.0.2.
Then you can limit the people that can have access to the Internet via ipchains, a firewall program:
ipchains -A forward -s 192.168.0.2/32 -d 0/0 -eth? -j MASQ
Now joe is connected to the Internet.
The users that you wants to have limit access to the Internet give them a 10.0.0.? address via the DHCP and append this to ipchains:
ipchains -A forward -s 10.0.0.0/MASK -d
www.site.com 80 - eth? -j MASQ
ipchains -A forward -s 10.0.0.0/MASK -d
www.othersite.com 80 - eth? -j MASQ
Then they will only have access to those sites. Remember to give your e-smith box one more ip adress: 10.0.0.1 and make it the gateway for your 10.0.0.0 net.
you can also your squid proxy cache.....