Owen的酒楼

--酒楼上渡过的人生--
生命太短,人生太长,但愿别喝醉了。

导航

请问怎么限制QQ聊天!ZT

Posted on 2007-11-22 16:48  Hicome  阅读(1004)  评论(1编辑  收藏  举报

你们好呀,我想在工作时间内限制局域网内其它他人不能!!聊天,玩游戏或下载,有多大难度,怎么实现与控制呀! 有方法解决的朋友请emal我:name_yewei@163.com

无花果 2004-11-25 09:30

假定 eth0是连接内网的网卡:

限制QQ:
iptables -I INPUT -i eth0 -p udp --sport 4000 -j DROP
iptables -I INPUT -i eth0 -p tcp --sport 4000 -j DROP

取消限制:
iptables -D INPUT -i eth0 -p udp --sport 4000 -j DROP
iptables -D INPUT -i eth0 -p tcp --sport 4000 -j DROP

把上述两组分别存为shell脚本, 在cron里定时运行.

注意, 现在QQ功能很强大, 可以通过http使用, 也可以通过代理, 想完全通过技术手段是不可能禁止的, 最好是通过行政命令.

沙漠水手 2004-12-2 19:53

我的一点看法,欢迎讨论~

果果说的办法可以丢弃使用UDP的4000端口的QQ数据包,不过QQ是可以通过使用HTTP代理从80口出去的,我想你不会因此禁掉TCP服务使用的80口吧,呵呵,那我以后就在论坛上看不到你了,可以这样做:
1:首先把QQ各服务器的IP地址列出来,顺便也把你要禁止的其他IP地址也列出来吧,一会就用到了。
2:建立一个黑名单,例如
   #vi /etc/blacklist
   把1:中列出的要禁止去往的IP地址全写到这里
3:建立一个子链,名字叫BLACKLIST,注意,链名要大写。
#iptables -t filter -N BLACKLIST
4:下面我们要用SHELL写个脚本,这个脚本用来把黑名单里的受禁IP加到子链的拒绝规则里
#vi /usr/local/sbin/bl_vef
我随手写了个,尽供参考,脚本如下:
#!/bin/sh
while true ;do
        iptables -t filter -F BLACKLIST
                for ip in `cat /etc/blacklist` ;do
                        iptables -t filter -A BLACKLIST -S ${ip} -j drop
                done
        sleep 60
        done
保存退出后再给脚本加个可执行权限
#chmod a+x /usr/local/sbin/bl_vef
5:运行此脚本
这个脚本执行后会生成一个守护进程,每分钟从黑名单里读入被禁止去往的IP并生成相应规则,这样要去

往这些IP的数据包就会被丢弃,从而实现了彻底禁止你所说的封掉QQ和网游的目的。这样做主要是基于易于维护和管理,以后再有要禁掉的IP直接添加到那个blacklist文件里就可以了,守护进程会自己去读并生成相应规则的,呵呵,可以说是一劳永逸,我在公司里是这样实现的。至于禁止下载我想没

有必要,适当的下载还是允许的,给每个用户限速就OK了,可使用linux-QoS中的FTB分层令牌桶规则为公

司进行流控设计,具体的你可以看看相关资料,有什么不懂的在来,我们一起讨论一下。