写下本文的目的只有一个:为ISA2004初学者提供一次真实的使用体验。
产生这个想法的原因起于近日为了实现禁止QQ上网而展开的一次真实经历,虽然最终还是完满地达到目标,并因此有些自豪感,首先还是得感谢有了互联网,它实在是太美妙了。我的很多灵感大多受到网友们的启发,特别是ISA中文网的“风间子”,还有*******。其实关于这个问题的讨论已经有不少朋友贴出过很精彩的解决之道,其中不乏风间子翻译并创作的“ [修正版]使用ISA Server 2004禁止P2P软件”、“ 如何在ISA Server 2004中禁止MSN”,但是作为一个从未接触过ISA这样的防火墙软件的新手来说,要一下子明白这些专业术语和论述恐怕不是一件很轻松的事情。况且从我这次经历中所阅读过的所有文章中,绝大部分描述的内容和用句均默认读者已经具有一定的相关方面的基础知识。这样必然造成类似我这样的读者一直在门外边瞎转悠,却难于找到实际的深入方法。
好了,我要写的这篇文单就是要足够详尽的告诉你一步一步地实现我们的最终目的――禁止QQ上网,即算你以前从未接触过ISA 2004。
声明
本文中很多内容会借用到其他网友的经验,我的任务只是把这些经验讲解得更为详细,所以不要以为我是这方面的大侠或者诸如此类。请大侠不要偷笑,但是要请进到这里(ISA中文网论坛)来的朋友分享你们的经验,分享的同时对自己也是一种提高。
实现的环境
我最初想到禁用QQ的方法是使用WinGate(Version:6.0),因为以前也没有接触过,在网上找了两个晚上的资料并在此期间不停做试验,发现它不能有效地针对QQ使用的端口和协议进行过滤,也许是我对这款软件不够熟悉,不过我仍然认同它是一款功能非常强大的代理服务器软件。如果有哪位朋友能通过WinGate实现禁止QQ上网的目的,并且又看到我写的这些胡话,请你一定记得把你的实现方法写出来寄给我 E-Mail,以此来嘲笑我的无知吧。
网络环境:
![Click for normal size...](http://218.17.2.203/bbs_pic/net.jpg)
ISA 2004服务器:
Windows 2000 Server、
Windows 2000 SP4、
IE6sp1、
Windows SQL Server 2000(如果有朋友要用到SQL Server更多的功能,建议先安装它再安装ISA 2004,因为ISA2004也会安装SQL Server)
ADSL(RasPPPoE拨号程序,这是我喜欢用到的ADSL拨号软件)
双网卡(内网网卡IP:192.168.123.1;外网网卡IP:192.168.1.2 外网网卡用来连接ADSL Modem拨号上网,可以不设IP)
ISA 2004 Standard Edition 中文
(***今晚先写到这里,注意保护身体 22时28分***)
实现方法
实现的环境实现后就可以对ISA 2004进行设置来实现我们的目标,ISA2004的过滤规则跟硬件防火墙非常相似。实现禁用QQ上网会使用三种防火墙技术:禁用通讯端口、过滤通讯报文、禁用通讯协议。早期的QQ使用UDP协议和8000端口传递消息,后来加入使用TCP协议和 80/443端口来增强软件适应环境,现在更有VIP用户可以直接使用HTTP 443来进行通信,所以我们不能简单的禁用HTTP协议和端口来实现禁用QQ上网,因为不可能禁用HTTP 80端口。
结合禁用端口、协议,并且找出禁用所有QQ 服务器的IP地址就可以完全禁止QQ上网了。
ISA 2004中并没有现成的UDP 8000、TCP 443组合协议,我们可以利用软件提供的灵活性创建自定义的协议:
![Click for normal size...](http://218.17.2.203/bbs_pic/protocol.jpg)
![Click for normal size...](http://218.17.2.203/bbs_pic/createprotcol.jpg)
UDP-8000(图)
![Click for normal size...](http://218.17.2.203/bbs_pic/create2.jpg)
TCP-443(图)
![Click for normal size...](http://218.17.2.203/bbs_pic/create1.jpg)
然后我们根据QQ使用通信协议的不同来对QQ服务器IP地址进行分组,在ISA中创建三个计算机集:
![Click for normal size...](http://218.17.2.203/bbs_pic/ct3.jpg)
![Click for normal size...](http://218.17.2.203/bbs_pic/ct4.jpg)
在QQ-Server UDP_8000 set计算机集中添加如下计算机
61.144.238.145
61.144.238.146
61.144.238.156
61.144.238.150
61.141.194.203
61.141.194.200
61.141.194.224
202.104.129.251
202.104.129.252
202.104.129.253
202.104.129.254
202.96.170.163
202.96.170.164
202.96.170.166
219.133.45.15
219.133.40.216
218.18.95.209
218.18.95.221
(QQ-Server UDP_8000 set图)
![Click for normal size...](http://218.17.2.203/bbs_pic/8000.jpg)
在QQ-Server TCP_443 set计算机集中添加IP地址为如下的计算机
218.17.209.23
218.18.95.153
218.18.95.171
218.18.95.140(这是我新发现的一个QQ服务器IP,请朋友们验证)
218.18.95.221
61.141.194.227
(QQ-Server TCP_443 set图)
![Click for normal size...](http://218.17.2.203/bbs_pic/443.jpg)
在QQ-Server VIP set计算机集中添加如下计算机
218.17.209.42
(QQ-Server VIP set图)
![Click for normal size...](http://218.17.2.203/bbs_pic/vip.jpg)
创建后的新计算机集:
[img]http://218.17.2.203/bbs_pic/serverip.jpg[/img]
实现规则的创建
前面的准备工作全都做好以后就可以创建禁用QQ上网的过滤规则了。首先创建禁止访问QQ服务器的规则Deny QQ Server access,******在协议项我们选择第二项“只使用选择的协议”,并且添加前面我们创建的三条自定义组合协议UDP-8000、TCP-80、TCP-443,访问源添加“本地网络”,目的中添加自定义的三个计算机集QQ-Server UDP_8000 set、QQ-Server TCP_443 set、QQ-Server VIP set,再选择“所有用户”点击完成。
(Deny QQ Server access规则图)
[img]http://218.17.2.203/bbs_pic/pic-01.jpg[/img]
再创建第二条规则Allow Internet access选择所有协议,源添加“本地网络”,目的添加“外部网络”,选择“所有用户”点击完成。在创建的这条规则上点击鼠标右键选择“配置HTTP”,进入“签名”标签项新建签名,选择“请求URL”并在签名框中输入“tencent.com”,确定退出应用所有修改。
在局域网内挑台电脑打开QQ试试看能不能登录,不行?进入QQ设置代理服务器,再登录,还是不行?OK,大功告成!
说明:
本文很大部分借鉴于风间子的两篇文章“[修正版]使用ISA Server 2004禁止P2P软件”、“如何在ISA Server 2004中禁止MSN”,可以说是一个傻瓜版吧,在此并无剽窃他人成果之意,只愿把这个目标的实现过程写得更为详尽,帮助后来的朋友尽快达到目的就够了。
再次感谢风间子,还有论坛里好几位热心的朋友,他们的名字在此就不一一列举。
(2004-9-12 3:37 PM By doitwhere at SZ)
[ Last edited by doitwhere on 2004-9-13 at 15:18 ]